diff --git a/.github/workflows/build-observer-firmwares-beta.yml b/.github/workflows/build-observer-firmwares-beta.yml index 5b51f0c5..02e87cb4 100644 --- a/.github/workflows/build-observer-firmwares-beta.yml +++ b/.github/workflows/build-observer-firmwares-beta.yml @@ -67,6 +67,10 @@ env: # The channel itself. Firmware fetches /.json, # so this URL is what keeps beta nodes on beta. OTA_MANIFEST_BASE_URL: https://observer.gessaman.com/beta/v + # Both channel bases are baked into every build so `ota branch prod|beta` can + # move a node between channels. Identical in both observer workflows. + OTA_MANIFEST_BASE_STABLE_URL: https://observer.gessaman.com/v + OTA_MANIFEST_BASE_DEV_URL: https://observer.gessaman.com/beta/v # Marks the embedded version, e.g. v1.16.0.3-observer-beta-dev-abc1234, so `ver` # (and the MQTT firmware_version / SNMP) identify BOTH the channel and its # provenance: this channel is built from the upstream-dev-merged line, so "dev" @@ -168,20 +172,9 @@ jobs: run: /usr/bin/env bash build.sh build-firmware ${{ matrix.shard.envs }} - name: Verify beta channel is baked in - shell: bash - run: | - # Fail fast rather than publish firmware that would OTA itself onto the - # production channel. Checks one built binary actually carries the beta - # manifest URL and does NOT carry the production one. - BIN=$(find .pio/build -name firmware.elf | head -1) - if [ -z "$BIN" ]; then echo "no ELF found to verify" >&2; exit 1; fi - if ! strings "$BIN" | grep -qF "$OTA_MANIFEST_BASE_URL"; then - echo "ERROR: beta manifest base missing from $BIN" >&2; exit 1 - fi - if strings "$BIN" | grep -qE 'https://observer\.gessaman\.com/v"?$'; then - echo "ERROR: production manifest base present in a beta build" >&2; exit 1 - fi - echo "OK: $BIN carries $OTA_MANIFEST_BASE_URL" + # Fail fast rather than publish firmware that would OTA itself onto the + # production channel: checks every .bin the shard publishes. + run: python3 scripts/verify_ota_channel.py --expect beta --required-cap keymind1 - name: Upload Shard Artifact uses: actions/upload-artifact@v4 @@ -258,7 +251,7 @@ jobs: # this channel's dropdown changelog. Non-fatal -- stale notes beat a # red build whose binaries are already live. { - printf '%s' '

⚠ DEV/BETA CHANNEL: pre-release firmware. A node flashed from this channel keeps receiving OTA updates from this channel until re-flashed by cable.

' + printf '%s' '

⚠ DEV/BETA CHANNEL: pre-release firmware. A node flashed from this channel keeps receiving OTA updates from this channel unless changed with ota branch prod and ota update. The target must preserve its saved-settings format and required transports.

' cat firmware-notes.html } > /tmp/beta-notes.html gh_retry gh release edit "$RELEASE_TAG" --notes-file /tmp/beta-notes.html \ diff --git a/.github/workflows/build-observer-firmwares.yml b/.github/workflows/build-observer-firmwares.yml index f652f044..2886e1a0 100644 --- a/.github/workflows/build-observer-firmwares.yml +++ b/.github/workflows/build-observer-firmwares.yml @@ -54,6 +54,10 @@ env: # same value the build was handed instead of a second hardcoded copy. Must match # build.sh's OTA_MANIFEST_BASE_URL default and the Pages path serving flasher/v. OTA_MANIFEST_BASE_URL: https://observer.gessaman.com/v + # Both channel bases are baked into every build so `ota branch prod|beta` can + # move a node between channels. Identical in both observer workflows. + OTA_MANIFEST_BASE_STABLE_URL: https://observer.gessaman.com/v + OTA_MANIFEST_BASE_DEV_URL: https://observer.gessaman.com/beta/v jobs: @@ -144,21 +148,9 @@ jobs: run: /usr/bin/env bash build.sh build-firmware ${{ matrix.shard.envs }} - name: Verify production channel is baked in - shell: bash - run: | - # Mirror of the beta workflow's guard, which production lacked. Fail fast - # rather than publish firmware that would OTA itself onto the wrong - # channel: the manifest base is a compile-time -D, so a build that lost - # it (or picked up beta's) is invisible until a node tries `ota check`. - BIN=$(find .pio/build -name firmware.elf | head -1) - if [ -z "$BIN" ]; then echo "no ELF found to verify" >&2; exit 1; fi - if ! strings "$BIN" | grep -qF "$OTA_MANIFEST_BASE_URL"; then - echo "ERROR: production manifest base missing from $BIN" >&2; exit 1 - fi - if strings "$BIN" | grep -qF 'https://observer.gessaman.com/beta/v'; then - echo "ERROR: beta manifest base present in a production build" >&2; exit 1 - fi - echo "OK: $BIN carries $OTA_MANIFEST_BASE_URL" + # Fail fast rather than publish firmware that would OTA itself onto the + # wrong channel: checks every .bin the shard publishes. + run: python3 scripts/verify_ota_channel.py --expect prod --required-cap keymind1 - name: Upload Shard Artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/build-observer-plus-firmwares.yml b/.github/workflows/build-observer-plus-firmwares.yml index 93005098..650475dc 100644 --- a/.github/workflows/build-observer-plus-firmwares.yml +++ b/.github/workflows/build-observer-plus-firmwares.yml @@ -160,10 +160,8 @@ jobs: - name: Build Shard ${{ matrix.shard.idx }} env: FIRMWARE_BUILD_NUMBER: ${{ needs.enumerate.outputs.build_number }} - # Channel isolation for device pull-OTA: appended after the per-env - # ini flags, so this definition of OTA_MANIFEST_BASE wins. build.sh - # appends its own version/OTA_VARIANT flags to this variable. - PLATFORMIO_BUILD_FLAGS: -D OTA_MANIFEST_BASE='"${{ env.OTA_MANIFEST_BASE_URL }}"' + # build.sh uses the workflow's OTA_MANIFEST_BASE_URL for native OTA + # and supplies the named production and beta channel bases. run: /usr/bin/env bash build.sh build-firmware ${{ matrix.shard.envs }} - name: Upload Shard Artifact diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml index b3ab6b75..abacc63c 100644 --- a/.github/workflows/run-unit-tests.yml +++ b/.github/workflows/run-unit-tests.yml @@ -89,7 +89,14 @@ jobs: python3 -B scripts/check_arduinojson_pin.py - name: Run Unit Tests - run: pio test -e native -e native_kiss_modem -vv + run: pio test -e native -e native_kiss_modem -e native_ota_channel -vv + + - name: Verify OTA channel persistence and published image tags + run: | + python3 -B test/test_ota_channel_persistence.py -v + python3 -B test/test_observer_ota_channel.py -v + python3 -B test/test_observer_build_channels.py -v + python3 -B scripts/verify_ota_channel.py --self-test - name: Verify build output cleanup safety run: python3 -B test/test_build_output_safety.py -v diff --git a/build_legacy.sh b/build_legacy.sh index aa10a2ab..6fd56c14 100755 --- a/build_legacy.sh +++ b/build_legacy.sh @@ -2632,6 +2632,47 @@ normalize_resolved_targets_for_mqtt() { fi } +get_firmware_version_string() { + local env_name=$1 + local version=$2 + local commit_hash=$3 + local kind=${4:-filename} + local build_suffix="" + local channel_tag="" + + # Preserve the existing embedded counter hook on all targets. Observer CI + # also includes that counter and its channel marker in downloadable names. + if [ "$kind" = embedded ] && [ -n "${FIRMWARE_BUILD_NUMBER:-}" ]; then + build_suffix=".${FIRMWARE_BUILD_NUMBER}" + fi + case "$env_name" in + *observer*) + if [ -n "${FIRMWARE_BUILD_NUMBER:-}" ]; then + build_suffix=".${FIRMWARE_BUILD_NUMBER}" + fi + if [ "$kind" = embedded ]; then + channel_tag="-observer${OTA_CHANNEL_TAG:+-${OTA_CHANNEL_TAG}}" + else + channel_tag="${FILENAME_CHANNEL_TAG:-}" + fi + ;; + esac + printf '%s' "${version}${build_suffix}${channel_tag}-${commit_hash}" +} + +apply_observer_ota_channel_flags() { + # Channel bases belong to observer pull-OTA. Keep other fork targets' update + # destinations and manually configured flags scoped to their own recipes. + case "${1:-}" in + *observer*) ;; + *) return 0 ;; + esac + local native_url="${OTA_MANIFEST_BASE_URL:-https://observer.gessaman.com/v}" + local stable_url="${OTA_MANIFEST_BASE_STABLE_URL:-https://observer.gessaman.com/v}" + local dev_url="${OTA_MANIFEST_BASE_DEV_URL:-https://observer.gessaman.com/beta/v}" + export PLATFORMIO_BUILD_FLAGS="${PLATFORMIO_BUILD_FLAGS:-} -DOTA_MANIFEST_BASE='\"${native_url}\"' -DOTA_MANIFEST_BASE_STABLE='\"${stable_url}\"' -DOTA_MANIFEST_BASE_DEV='\"${dev_url}\"'" +} + disable_debug_flags() { local env_name=${1:-} local usb_logging_undefs="-UMESH_DEBUG -UMESH_PACKET_LOGGING" @@ -4840,7 +4881,8 @@ build_firmware_one_profile() { echo "FIRMWARE_VERSION not set, using derived default for ${env_name}: ${firmware_version}" fi - firmware_version_string="${firmware_version}-${commit_hash}" + firmware_version_string=$(get_firmware_version_string \ + "$env_name" "$firmware_version" "$commit_hash") firmware_filename=$(get_firmware_filename \ "${FIRMWARE_OUTPUT_ENV_NAME:-$env_name}" "$firmware_version_string") @@ -4854,22 +4896,13 @@ build_firmware_one_profile() { fi # Fork CI hooks (consumed by .github/workflows/build-observer*-firmwares.yml). - # Tag the *embedded* version for observer builds (v1.0.0-observer-abcdef) so - # `ver`, the MQTT firmware_version, and SNMP identify the fork, and stamp the - # per-base published-build counter (FIRMWARE_BUILD_NUMBER) as a 4th version - # component so `ota check` can show how many builds behind a node is. The - # *filename* stays untagged/un-numbered so assets remain -v-. + # Tag the embedded version and observer filenames with the workflow's channel + # and published-build counter. Other target filenames retain their fork form. # OTA_VARIANT is the env name - it selects the slim per-variant manifest # (/.json) that the observer pull-OTA fetches. - local embedded_variant_tag="" - case "$env_name" in - *observer*) embedded_variant_tag="-observer" ;; - esac - local embedded_build_suffix="" - if [ -n "${FIRMWARE_BUILD_NUMBER:-}" ]; then - embedded_build_suffix=".${FIRMWARE_BUILD_NUMBER}" - fi - local embedded_version_string="${firmware_version}${embedded_build_suffix}${embedded_variant_tag}-${commit_hash}" + local embedded_version_string + embedded_version_string=$(get_firmware_version_string \ + "$env_name" "$firmware_version" "$commit_hash" embedded) declare_full_logging_application_contract "$env_name" if [ "${PLATFORMIO_BUILD_FLAGS+x}" ]; then @@ -4914,6 +4947,7 @@ build_firmware_one_profile() { # Only builder-generated wall-clock stamps are excluded from the recipe. # User-supplied flags remain verbatim, including any timestamp definitions. export PLATFORMIO_BUILD_FLAGS="${original_platformio_build_flags} -DFIRMWARE_VERSION='\"${embedded_version_string}\"' -DOTA_VARIANT='\"${env_name}\"'${mota_target_flag}${mota_migration_flag}" + apply_observer_ota_channel_flags "$env_name" disable_debug_flags "$env_name" apply_debug_overrides "$env_name" apply_mqtt_bridge_override "$env_name" diff --git a/docs/cli_commands.md b/docs/cli_commands.md index a797e306..895ccd0d 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -428,6 +428,24 @@ The browser portal is not compiled into the two 4 MB retaining the two app slots required for LoRa OTA. Their normal CLI settings remain available. +### Switch the OTA release channel (observer builds) + +- `ota branch` — shows the selected channel, the channel this build was made for, and the manifest base `ota check`/`ota update` will use. +- `ota branch prod` (alias `stable`) / `ota branch beta` (alias `dev`) — pull future `ota update`s from that channel. The selection is saved; run `ota update` to switch. +- `ota branch default` — follow the channel this build was made for. + +The selector is saved only after the preferences transaction succeeds. A queued +`ota update` keeps the channel it checked, even if `ota branch` is changed before +the download starts. Switching channels offers the target image even when its +commit matches the running image; build numbers are not comparable across channels. + +Before an image is made bootable, its compatibility tag must confirm support for +this fork's saved-settings format and required transports. Upstream observer +images without the `keymind1` capability are refused, including images that use +the different `/mqtt.json` format. A refusal leaves the current image running; +select a compatible channel to continue OTA. Production and beta URLs are supplied +by the build recipe, not accepted as arbitrary CLI URLs. + --- ### Erase/Factory Reset diff --git a/examples/simple_repeater/MyMesh.cpp b/examples/simple_repeater/MyMesh.cpp index e6849d70..9302743c 100644 --- a/examples/simple_repeater/MyMesh.cpp +++ b/examples/simple_repeater/MyMesh.cpp @@ -39,6 +39,7 @@ #ifdef WITH_WEBCONFIG #include #endif +#include #if MESH_ENABLE_TELEMETRY_HISTORY && defined(STM32_PLATFORM) #include extern "C" caddr_t _sbrk(int increment); @@ -12794,7 +12795,7 @@ void __attribute__((noinline)) MyMesh::servicePostMeshLoop() { mesh::usbConsolePort().printf("OTA: aborted, MQTT stop did not complete cleanly - resuming bridge\r\n"); otaAlert("OTA aborted: MQTT stop unclean, bridge resumed"); setBridgeState(true); - } else if (!_cli.getBoard()->otaFromManifest(getFirmwareVer(), false, ota_reply)) { + } else if (!_cli.getBoard()->otaFromManifest(ota_resolve_base(_ota_update_channel), getFirmwareVer(), false, ota_reply)) { mesh::usbConsolePort().printf("OTA: aborted, resuming bridge - %s\r\n", ota_reply); char ota_alert_msg[160]; snprintf(ota_alert_msg, sizeof(ota_alert_msg), "OTA aborted: %s", ota_reply); diff --git a/examples/simple_repeater/MyMesh.h b/examples/simple_repeater/MyMesh.h index 558be2f1..1d0b35c8 100644 --- a/examples/simple_repeater/MyMesh.h +++ b/examples/simple_repeater/MyMesh.h @@ -569,6 +569,7 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks unsigned long scheduled_radio_save_retry_at; uint8_t scheduled_radio_retry_failures; ScheduledRadioSetting scheduled_radio_settings[MAX_SCHEDULED_RADIO_SETTINGS]; + uint8_t _ota_update_channel = 0; // Snapshot: later ota branch commands cannot retarget a queued update int matching_peer_indexes[MAX_CLIENTS]; #if defined(WITH_MQTT_BRIDGE) MQTTBridge* mqtt_bridge; @@ -1549,6 +1550,7 @@ public: bool beginDeferredOtaUpdate() override { _ota_update_at = millis() + 2500; if (_ota_update_at == 0) _ota_update_at = 1; // 0 means "none" + _ota_update_channel = _prefs.ota_channel; #if defined(WITH_MQTT_BRIDGE) // Broadcast START now, while the loop still runs (the 2.5 s reply window): // the deferred flash blocks the loop and, on success, reboots -- so a start diff --git a/examples/simple_room_server/MyMesh.cpp b/examples/simple_room_server/MyMesh.cpp index a22123a8..60d532b4 100644 --- a/examples/simple_room_server/MyMesh.cpp +++ b/examples/simple_room_server/MyMesh.cpp @@ -22,6 +22,7 @@ #ifdef WITH_WEBCONFIG #include #endif +#include static uint32_t nextRadioApplyRetryDelay(uint8_t& failure_count) { uint8_t shift = failure_count < 5 ? failure_count : 5; @@ -2773,7 +2774,7 @@ void MyMesh::loop() { } char ota_reply[160]; - if (may_flash && !_cli.getBoard()->otaFromManifest(getFirmwareVer(), false, ota_reply)) { + if (may_flash && !_cli.getBoard()->otaFromManifest(ota_resolve_base(_ota_update_channel), getFirmwareVer(), false, ota_reply)) { mesh::usbConsolePort().printf("OTA: aborted - %s\r\n", ota_reply); may_flash = false; } diff --git a/examples/simple_room_server/MyMesh.h b/examples/simple_room_server/MyMesh.h index 24e3d038..c52149f7 100644 --- a/examples/simple_room_server/MyMesh.h +++ b/examples/simple_room_server/MyMesh.h @@ -235,6 +235,7 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks, TransportKey default_scope; unsigned long set_radio_at, revert_radio_at; unsigned long _ota_update_at = 0; // deferred `ota update` fire time (0 = none scheduled) + uint8_t _ota_update_channel = 0; // channel `ota update` checked; a later `ota branch` cannot retarget it float pending_freq; float pending_bw; uint8_t pending_sf; @@ -831,6 +832,7 @@ public: bool beginDeferredOtaUpdate() override { _ota_update_at = millis() + 2500; if (_ota_update_at == 0) _ota_update_at = 1; // 0 means "none" + _ota_update_channel = _prefs.ota_channel; return true; } diff --git a/platformio.ini b/platformio.ini index a6900614..c732c2c9 100644 --- a/platformio.ini +++ b/platformio.ini @@ -441,7 +441,7 @@ build_flags = -std=c++17 -D OTA_FETCH_PIPELINE=4 -D OTA_TRANSPORT_DEFLATE_TEST=1 test_build_src = yes -test_ignore = test_kiss_modem +test_ignore = test_kiss_modem, test_ota_channel build_src_filter = -<*> +<../src/Utils.cpp> @@ -489,3 +489,19 @@ build_src_filter = +<../examples/kiss_modem/KissModem.cpp> lib_deps = google/googletest @ 1.17.0 + +[env:native_ota_channel] +platform = native +test_framework = googletest +build_flags = -std=c++17 + -I test/mocks + -I src + -DOTA_MANIFEST_BASE="\"https://stable.example/mqtt/v\"" + -DOTA_MANIFEST_BASE_STABLE="\"https://stable.example/mqtt/v\"" + -DOTA_MANIFEST_BASE_DEV="\"https://dev.example/mqtt/dev/v\"" +test_build_src = yes +test_filter = test_ota_channel +build_src_filter = + -<*> +lib_deps = + google/googletest @ 1.17.0 diff --git a/scripts/verify_ota_channel.py b/scripts/verify_ota_channel.py new file mode 100644 index 00000000..c6fcb368 --- /dev/null +++ b/scripts/verify_ota_channel.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +"""Verify every built observer binary is baked for the expected OTA channel. + +Observer builds carry three manifest bases (src/helpers/OtaChannel.h), each stored +behind a tag so it can be read back from the binary (plus an ota-compat tag, which a +channel switch reads from the downloaded image before booting it): + + ota-base-native: the channel the build OTAs from by default + ota-base-stable: production, the target of `ota branch prod` + ota-base-dev: beta, the target of `ota branch beta` + +Every build contains both channel URLs, so checking for the presence or absence +of a URL can no longer tell production from beta. This reads the tags instead and +fails unless, in every .bin in out/ (the files that get published), each tag appears with exactly one value, the stable +and dev tags match the workflow's URLs, and the native tag is the URL of the +channel named by --expect. + + python3 scripts/verify_ota_channel.py --expect prod + python3 scripts/verify_ota_channel.py --self-test + +URLs default to OTA_MANIFEST_BASE_URL, OTA_MANIFEST_BASE_STABLE_URL and +OTA_MANIFEST_BASE_DEV_URL from the environment. Stdlib only. +""" +import argparse +import os +import re +import sys + +TAG_RE = re.compile(rb"ota-base-(native|stable|dev):([\x21-\x7e]*)\x00") +COMPAT_RE = re.compile(rb"ota-compat:([0-9]+(?:\+[a-z][a-z0-9]*)*)\x00") + + +def read_tags(data): + tags = {"native": set(), "stable": set(), "dev": set()} + for m in TAG_RE.finditer(data): + tags[m.group(1).decode()].add(m.group(2).decode()) + return tags + + +def check(data, expect, native_url, stable_url, dev_url, required_caps=()): + """Return a list of problems with one binary's tags (empty when it passes).""" + problems = [] + if stable_url == dev_url: + problems.append("stable and dev URLs are identical (%s)" % stable_url) + expected_native = stable_url if expect == "prod" else dev_url + if native_url != expected_native: + problems.append("OTA_MANIFEST_BASE_URL %s is not the %s URL %s" + % (native_url, expect, expected_native)) + tags = read_tags(data) + for name, want in (("native", expected_native), ("stable", stable_url), ("dev", dev_url)): + found = sorted(tags[name]) + if found != [want]: + problems.append("ota-base-%s: expected [%s], found %s" % (name, want, found or "nothing")) + # Without its compat tag a build cannot be the target of a channel switch. + compat = sorted({m.group(1).decode() for m in COMPAT_RE.finditer(data)}) + if len(compat) != 1: + problems.append("ota-compat: expected one value, found %s" % (compat or "nothing")) + else: + caps = set(compat[0].split("+")[1:]) + for cap in required_caps: + if cap not in caps: + problems.append("ota-compat: required capability %s is missing" % cap) + return problems + + +def find_bins(root): + for name in os.listdir(root): + if name.endswith(".bin"): + yield os.path.join(root, name) + + +def self_test(): + P, B = "https://h/v", "https://h/beta/v" + + def blob(native, stable=P, dev=B): + return b"\x00junk\x00ota-base-native:%s\x00ota-base-stable:%s\x00ota-base-dev:%s\x00ota-compat:1\x00" % ( + native.encode(), stable.encode(), dev.encode()) + + cases = [ + ("prod build passes", blob(P), "prod", P, True), + ("beta build passes", blob(B), "beta", B, True), + ("beta build fails prod check", blob(B), "prod", P, False), + ("prod build fails beta check", blob(P), "beta", B, False), + ("missing tags fail", b"\x00https://h/v\x00https://h/beta/v\x00", "prod", P, False), + ("wrong dev URL fails", blob(P, dev="https://other/v"), "prod", P, False), + ("conflicting native tags fail", blob(P) + blob(B), "prod", P, False), + ("workflow URL off-channel fails", blob(P), "prod", B, False), + ("missing compat tag fails", blob(P).replace(b"ota-compat:1", b"ota-compat:"), "prod", P, False), + ("conflicting compat tags fail", blob(P) + b"ota-compat:2+eth\x00", "prod", P, False), + ("fork capability with digits passes", blob(P).replace(b"ota-compat:1", b"ota-compat:1+keymind1"), "prod", P, True), + ] + failed = 0 + for name, data, expect, native, ok in cases: + got = not check(data, expect, native, P, B) + if got != ok: + failed += 1 + print("FAIL: %s" % name) + print("self-test: %d/%d passed" % (len(cases) - failed, len(cases))) + return 1 if failed else 0 + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--expect", choices=("prod", "beta")) + ap.add_argument("--bin-dir", default="out") + ap.add_argument("--native-url", default=os.environ.get("OTA_MANIFEST_BASE_URL")) + ap.add_argument("--stable-url", default=os.environ.get("OTA_MANIFEST_BASE_STABLE_URL")) + ap.add_argument("--dev-url", default=os.environ.get("OTA_MANIFEST_BASE_DEV_URL")) + ap.add_argument("--required-cap", action="append", default=[], + help="Require this compatibility capability in every published image") + ap.add_argument("--self-test", action="store_true") + args = ap.parse_args() + + if args.self_test: + return self_test() + if not args.expect: + ap.error("--expect is required") + for opt in ("native_url", "stable_url", "dev_url"): + if not getattr(args, opt): + ap.error("--%s (or its environment variable) is required" % opt.replace("_", "-")) + + bins = sorted(find_bins(args.bin_dir)) if os.path.isdir(args.bin_dir) else [] + if not bins: + print("ERROR: no .bin files in %s" % args.bin_dir, file=sys.stderr) + return 1 + bad = 0 + for path in bins: + with open(path, "rb") as f: + problems = check(f.read(), args.expect, args.native_url, args.stable_url, args.dev_url, args.required_cap) + for p in problems: + print("ERROR: %s: %s" % (path, p), file=sys.stderr) + bad += bool(problems) + if bad: + print("ERROR: %d of %d builds are not baked for %s" % (bad, len(bins), args.expect), file=sys.stderr) + return 1 + print("OK: %d builds default to %s (%s) and carry both channels" % (len(bins), args.expect, args.native_url)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/src/MeshCore.h b/src/MeshCore.h index 77d3d9ed..26afcb33 100644 --- a/src/MeshCore.h +++ b/src/MeshCore.h @@ -179,7 +179,7 @@ public: // Pull-based OTA: fetch the firmware build for this variant from a baked-in manifest and flash it. // current_ver is the running firmware version string (used to skip if already up to date); when // dry_run is true the build is only reported, not flashed. Observer (ESP32+WiFi) builds only. - virtual bool otaFromManifest(const char* current_ver, bool dry_run, char reply[]) { return false; } + virtual bool otaFromManifest(const char* manifest_base, const char* current_ver, bool dry_run, char reply[]) { return false; } // LoRa front-end-module LNA (RX gain) control. Only FEM-equipped boards override // these; others report they can't control it. Driven by NodePrefs.radio_fem_rxgain. diff --git a/src/helpers/CommonCLI.cpp b/src/helpers/CommonCLI.cpp index 7b45d5d2..8501659d 100644 --- a/src/helpers/CommonCLI.cpp +++ b/src/helpers/CommonCLI.cpp @@ -766,6 +766,7 @@ void CommonCLI::loadPrefs(FILESYSTEM* fs) { _prefs->usb_logging_enabled = 1; _prefs->usb_debug_enabled = 0; _prefs->trace_when_repeat_off = 0; + _prefs->ota_channel = 0; #ifdef WITH_RS232_BRIDGE _prefs->bridge_uart = WITH_RS232_BRIDGE_UART; #else @@ -943,6 +944,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { _prefs->usb_debug_enabled = 0; _prefs->trace_when_repeat_off = 0; _prefs->gps_sync_interval_hours = 0; + _prefs->ota_channel = 0; #if defined(RP2040_PLATFORM) File file = fs->open(filename, "r"); #else @@ -1342,6 +1344,10 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { if (file.available() >= (int)sizeof(_prefs->trace_when_repeat_off)) { file.read((uint8_t *)&_prefs->trace_when_repeat_off, sizeof(_prefs->trace_when_repeat_off)); + if (file.available() >= (int)sizeof(_prefs->ota_channel)) { + file.read((uint8_t *)&_prefs->ota_channel, + sizeof(_prefs->ota_channel)); + } } } } @@ -1500,6 +1506,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { _prefs->direct_retry_recent_enabled = constrain(_prefs->direct_retry_recent_enabled, 0, 1); _prefs->flood_channel_data_enabled = constrain(_prefs->flood_channel_data_enabled, 0, 1); _prefs->telemetry_access = constrain(_prefs->telemetry_access, 0, 1); + if (_prefs->ota_channel > 2) _prefs->ota_channel = 0; if (_prefs->legacy_flood_channel_block_max_hops != FLOOD_CHANNEL_HOPS_ALL && (_prefs->legacy_flood_channel_block_max_hops < 1 || _prefs->legacy_flood_channel_block_max_hops > 7)) { @@ -1679,6 +1686,7 @@ static bool writeCommonPrefsImage(Writer& writer, NodePrefs* prefs) { WRITE_COMMON_PREFS(&prefs->gps_sync_interval_hours); // published GPS sync cadence WRITE_COMMON_PREFS(&prefs->usb_debug_enabled); // appended USB debug intent WRITE_COMMON_PREFS(&prefs->trace_when_repeat_off); // appended repeater trace exception + WRITE_COMMON_PREFS(&prefs->ota_channel); // appended WiFi OTA channel; never shift older fields #undef WRITE_COMMON_PREFS_BYTES #undef WRITE_COMMON_PREFS @@ -1841,6 +1849,7 @@ void CommonCLI::savePrefs(FILESYSTEM* fs, PrefsSaveRouting::Scope scope) { file.write((uint8_t *)&_prefs->gps_sync_interval_hours, sizeof(_prefs->gps_sync_interval_hours)); // published GPS sync cadence file.write((uint8_t *)&_prefs->usb_debug_enabled, sizeof(_prefs->usb_debug_enabled)); // appended file.write((uint8_t *)&_prefs->trace_when_repeat_off, sizeof(_prefs->trace_when_repeat_off)); // appended + file.write((uint8_t *)&_prefs->ota_channel, sizeof(_prefs->ota_channel)); // appended WiFi OTA channel _common_save_succeeded = file.commit(); if (!_common_save_succeeded) { diff --git a/src/helpers/CommonCLI.h b/src/helpers/CommonCLI.h index 0d77242e..05ca5ff1 100644 --- a/src/helpers/CommonCLI.h +++ b/src/helpers/CommonCLI.h @@ -233,6 +233,7 @@ public: uint8_t legacy_flood_channel_block_max_hops = 0; uint8_t flood_channel_data_max_hops = 0; uint8_t telemetry_access = 0; + uint8_t ota_channel = 0; // WiFi OTA release channel: 0=native, 1=prod, 2=beta // NOTE: observer settings (MQTT/WiFi/timezone/SNMP/alert) were moved out of // NodePrefs into MQTTPrefs (persisted to /mqtt_prefs) so this struct stays @@ -421,6 +422,7 @@ protected: def("lat", node_lat); def("lon", node_lon); def("disc_mod", discovery_mod_timestamp); + def("ota_ch", ota_channel); // WiFi OTA release channel selector def("radio", radio); def("bridge", bridge); def("gps", gps); diff --git a/src/helpers/CommonCLI_Observer.cpp b/src/helpers/CommonCLI_Observer.cpp index 0b252909..ce3d3b8d 100644 --- a/src/helpers/CommonCLI_Observer.cpp +++ b/src/helpers/CommonCLI_Observer.cpp @@ -14,6 +14,7 @@ #include #include "CommonCLI.h" #include "CLICommandUtils.h" +#include "OtaChannel.h" #include "TxtDataHelpers.h" #include "AlertReporter.h" // for alertReporterBannedChannelMatch[Hex]() #include "MQTTObserverValidation.h" // pure input validators (host-testable) @@ -1215,7 +1216,7 @@ bool CommonCLI::handleObserverCommand(uint32_t sender_timestamp, char* command, // costs one plain-HTTP request (no cert-bundle allocation or large JSON // document). The later update path refetches it over verified HTTPS after // the bridge is down. No bridge bounce is needed for this advisory check. - _board->otaFromManifest(_callbacks->getFirmwareVer(), true, reply); + _board->otaFromManifest(ota_resolve_base(_prefs->ota_channel), _callbacks->getFirmwareVer(), true, reply); } else { // `ota update`: cheap pre-check first (plain HTTP, bridge stays up). Only // schedule the real update - which tears the bridge down, flashes, and @@ -1223,7 +1224,7 @@ bool CommonCLI::handleObserverCommand(uint32_t sender_timestamp, char* command, // returns true iff so; otherwise it leaves the explanation (up to date / // cable flash / error) in reply, which we send without disturbing the // bridge or misleading the user with a "Beginning update..." that no-ops. - if (_board->otaFromManifest(_callbacks->getFirmwareVer(), true, reply)) { + if (_board->otaFromManifest(ota_resolve_base(_prefs->ota_channel), _callbacks->getFirmwareVer(), true, reply)) { // reply now holds "update available: -> (N behind|new base)", // where is "vX.Y.Z.B (hash)". Pull out for a friendlier // start message. The "-> " ... trailing " (" framing is produced by @@ -1256,6 +1257,39 @@ bool CommonCLI::handleObserverCommand(uint32_t sender_timestamp, char* command, } #else strcpy(reply, "ERR: online OTA not supported on this build"); +#endif + return true; + } else if (memcmp(command, "ota branch", 10) == 0 && (command[10] == 0 || command[10] == ' ')) { + // Switch (or report) the OTA release channel this device pulls from. The + // selection is persisted (NodePrefs::ota_channel) and resolved to a baked-in + // base URL by ota_resolve_base(); it changes only WHERE updates are fetched, + // never the running image's reported version. Reachable from any admin path, + // same as `ota update`. +#if defined(WITH_MQTT_BRIDGE) && defined(OTA_MANIFEST_BASE) + const char* arg = command + 10; + while (*arg == ' ') arg++; + if (*arg == 0) { + snprintf(reply, 160, "channel: %s (build: %s), base %s", + ota_channel_name(_prefs->ota_channel), ota_native_channel_name(), + ota_resolve_base(_prefs->ota_channel)); + } else { + uint8_t ch; + if (!ota_parse_channel(arg, &ch)) { + strcpy(reply, "ERR: usage ota branch [prod|beta|default] (aliases: stable, dev)"); + } else { + const uint8_t previous = _prefs->ota_channel; + _prefs->ota_channel = ch; + if (!saveCommonPrefs()) { + _prefs->ota_channel = previous; + strcpy(reply, "ERR: OTA channel save failed; setting unchanged"); + } else { + snprintf(reply, 160, "channel set to %s, base %s; run ota update to switch", + ota_channel_name(ch), ota_resolve_base(ch)); + } + } + } +#else + strcpy(reply, "ERR: online OTA not supported on this build"); #endif return true; } else if (memcmp(command, "start webconfig", 15) == 0 && (command[15] == 0 || command[15] == ' ')) { diff --git a/src/helpers/ESP32Board.cpp b/src/helpers/ESP32Board.cpp index 6f4b37df..0f0c2e9e 100644 --- a/src/helpers/ESP32Board.cpp +++ b/src/helpers/ESP32Board.cpp @@ -447,6 +447,8 @@ bool ESP32Board::stopOTAUpdate(char reply[]) { #include #include #include +#include "NetworkLink.h" +#include "OtaChannel.h" // Embedded CA bundle (produced by board_build.embed_files). Weak so non-bundle // builds still link; we check for presence at runtime. @@ -737,6 +739,7 @@ static bool ota_streamFirmware(Client& client, size_t content_length, char reply } uint8_t buffer[2048]; + OtaCompatScanner compat; size_t received_total = 0; int progress_decile = -1; uint32_t deadline = millis() + 20000; @@ -761,8 +764,22 @@ static bool ota_streamFirmware(Client& client, size_t content_length, char reply if (wanted > sizeof(buffer)) wanted = sizeof(buffer); if (wanted > (size_t)available) wanted = (size_t)available; int received = client.read(buffer, wanted); - if (received <= 0) continue; + if (received <= 0) { + if (!client.connected()) { + strcpy(reply, "ERR: firmware download incomplete"); + Update.abort(); + return false; + } + if ((int32_t)(millis() - deadline) >= 0) { + strcpy(reply, "ERR: firmware download timeout"); + Update.abort(); + return false; + } + delay(1); + continue; + } deadline = millis() + 20000; + compat.consume(buffer, (size_t)received); if (Update.write(buffer, (size_t)received) != (size_t)received) { snprintf(reply, 160, "ERR: OTA write: %s", Update.errorString()); Update.abort(); @@ -776,6 +793,25 @@ static bool ota_streamFirmware(Client& client, size_t content_length, char reply } } + { + OtaCompat own = {0, 0}, target = {0, 0}; + const char* volatile own_tag = ota_compat_tag; // retain the tag in the linked image + const bool own_valid = ota_compat_parse(own_tag + sizeof(OTA_COMPAT_TAG) - 1, &own); + const bool tagged = compat.finish(&target); + if (!own_valid || !tagged || !ota_compat_ok(own, target)) { + // Update.end() validates the image and selects its boot slot. Refuse before + // that commit, so even a reset or power loss cannot boot an unsafe target. + Update.abort(); + if (!own_valid || !tagged) { + strcpy(reply, "ERR: OTA refused: invalid or missing compatibility tag; cable flash"); + } else { + snprintf(reply, 160, "ERR: OTA refused: target compat %d/%x cannot preserve node %d/%x; cable flash", + target.gen, (unsigned)target.caps, own.gen, (unsigned)own.caps); + } + return false; + } + } + if (!Update.end()) { snprintf(reply, 160, "ERR: OTA finish: %s", Update.errorString()); return false; @@ -861,6 +897,7 @@ static void ota_partitionSignature(char* out, size_t out_sz) { // which stays valid because that function blocks until the worker signals done. struct OtaTaskArgs { ESP32Board* self; + const char* manifest_base; const char* current_ver; bool dry_run; char* reply; @@ -870,18 +907,23 @@ struct OtaTaskArgs { static void ota_task_entry(void* param) { OtaTaskArgs* a = static_cast(param); - a->result = a->self->otaFromManifestImpl(a->current_ver, a->dry_run, a->reply); + a->result = a->self->otaFromManifestImpl(a->manifest_base, a->current_ver, a->dry_run, a->reply); a->done = true; // on a successful `ota update` we reboot before reaching here vTaskDelete(nullptr); } -bool ESP32Board::otaFromManifest(const char* current_ver, bool dry_run, char reply[]) { +bool ESP32Board::otaFromManifest(const char* manifest_base, const char* current_ver, bool dry_run, char reply[]) { // The TLS handshake (cert-bundle verify), JSON parse, and flash stream use far more // stack than the ~8 KB loop task offers - especially when reached via the deep // mesh-receive call chain (it overflows the loopTask canary). Run the work in a // dedicated 24 KB-stack task and block here until it finishes. The big stack is // freed when the task exits; on a successful update the chip reboots inside it. - OtaTaskArgs args = { this, current_ver, dry_run, reply, false, false }; + struct NetworkSwitchGuard { + NetworkLink& link; + NetworkSwitchGuard() : link(activeNetworkLink()) { link.lockSwitching(); } + ~NetworkSwitchGuard() { link.unlockSwitching(); } + } network_guard; + OtaTaskArgs args = { this, manifest_base, current_ver, dry_run, reply, false, false }; TaskHandle_t handle = nullptr; BaseType_t ok = xTaskCreatePinnedToCore(ota_task_entry, "ota", 24576, &args, 5, &handle, 1); if (ok != pdPASS) { @@ -894,11 +936,15 @@ bool ESP32Board::otaFromManifest(const char* current_ver, bool dry_run, char rep return args.result; } -bool ESP32Board::otaFromManifestImpl(const char* current_ver, bool dry_run, char reply[]) { +bool ESP32Board::otaFromManifestImpl(const char* manifest_base, const char* current_ver, bool dry_run, char reply[]) { #if !defined(OTA_MANIFEST_BASE) || !defined(OTA_VARIANT) strcpy(reply, "ERR: OTA not configured (build via build.sh)"); return false; #else + if (manifest_base == nullptr || *manifest_base == 0) { + strcpy(reply, "ERR: OTA manifest base missing"); + return false; + } if (WiFi.status() != WL_CONNECTED) { strcpy(reply, "ERR: WiFi not connected"); return false; @@ -931,10 +977,15 @@ bool ESP32Board::otaFromManifestImpl(const char* current_ver, bool dry_run, char // and the handshake + the bridge both fail). This only reads version info; the // firmware download below (ota update) is always TLS-verified. Requires the // manifest host to serve /v over HTTP (no forced HTTPS redirect). - if (strncmp(OTA_MANIFEST_BASE, "https://", 8) == 0) { - snprintf(murl, sizeof(murl), "http://%s/%s.json", OTA_MANIFEST_BASE + 8, OTA_VARIANT); + int url_len; + if (strncmp(manifest_base, "https://", 8) == 0) { + url_len = snprintf(murl, sizeof(murl), "http://%s/%s.json", manifest_base + 8, OTA_VARIANT); } else { - snprintf(murl, sizeof(murl), "%s/%s.json", OTA_MANIFEST_BASE, OTA_VARIANT); + url_len = snprintf(murl, sizeof(murl), "%s/%s.json", manifest_base, OTA_VARIANT); + } + if (url_len < 0 || (size_t)url_len >= sizeof(murl)) { + strcpy(reply, "ERR: manifest URL too long"); + return false; } WiFiClient mclient; if (!ota_fetchManifest(mclient, murl, false, doc, reply)) { @@ -949,7 +1000,11 @@ bool ESP32Board::otaFromManifestImpl(const char* current_ver, bool dry_run, char #else mclient.setCACertBundle(rootca_crt_bundle_start); #endif - snprintf(murl, sizeof(murl), "%s/%s.json", OTA_MANIFEST_BASE, OTA_VARIANT); + const int url_len = snprintf(murl, sizeof(murl), "%s/%s.json", manifest_base, OTA_VARIANT); + if (url_len < 0 || (size_t)url_len >= sizeof(murl)) { + strcpy(reply, "ERR: manifest URL too long"); + return false; + } mesh::usbLoggingPort().printf("OTA: downloading manifest %s\n", murl); if (!ota_fetchManifest(mclient, murl, true, doc, reply)) { return false; @@ -958,7 +1013,12 @@ bool ESP32Board::otaFromManifestImpl(const char* current_ver, bool dry_run, char // Copy fields out before the document is reused/cleared. char file_url[200] = {0}, avail_version[40] = {0}, avail_base[40] = {0}, avail_hash[24] = {0}; - strncpy(file_url, doc["file"] | "", sizeof(file_url) - 1); + const char* manifest_file = doc["file"] | ""; + if (strlen(manifest_file) >= sizeof(file_url)) { + strcpy(reply, "ERR: firmware URL too long"); + return false; + } + strncpy(file_url, manifest_file, sizeof(file_url) - 1); strncpy(avail_version, doc["version"] | "", sizeof(avail_version) - 1); strncpy(avail_base, doc["baseVersion"] | "", sizeof(avail_base) - 1); strncpy(avail_hash, doc["hash"] | "", sizeof(avail_hash) - 1); @@ -1009,10 +1069,15 @@ bool ESP32Board::otaFromManifestImpl(const char* current_ver, bool dry_run, char bool same_base = (own_base[0] && avail_base[0] && strcmp(own_base, avail_base) == 0); bool have_builds = (own_build >= 0 && avail_build >= 0); bool diff_base = (own_base[0] && avail_base[0] && !same_base); + // Another channel's image always differs (its native base does), even from the same + // commit; build counters are per channel, so build numbers only compare natively. + bool cross_channel = (strcmp(manifest_base, OTA_MANIFEST_BASE) != 0); int behind = 0; bool up_to_date; - if (same_base && have_builds) { + if (cross_channel) { + up_to_date = false; + } else if (same_base && have_builds) { behind = avail_build - own_build; up_to_date = (behind <= 0); } else if (diff_base) { @@ -1037,6 +1102,8 @@ bool ESP32Board::otaFromManifestImpl(const char* current_ver, bool dry_run, char if (dry_run) { if (up_to_date) { snprintf(reply, 160, "up to date: %s", avail_disp); + } else if (cross_channel) { + snprintf(reply, 160, "update available: %s -> %s (channel switch)%s", own_disp, avail_disp, pc_note); } else if (same_base && have_builds) { snprintf(reply, 160, "update available: %s -> %s (%d behind)%s", own_disp, avail_disp, behind, pc_note); } else if (diff_base) { @@ -1105,7 +1172,7 @@ bool ESP32Board::otaFromManifestImpl(const char* current_ver, bool dry_run, char #endif // OTA_MANIFEST_BASE && OTA_VARIANT } #else -bool ESP32Board::otaFromManifest(const char* current_ver, bool dry_run, char reply[]) { +bool ESP32Board::otaFromManifest(const char* manifest_base, const char* current_ver, bool dry_run, char reply[]) { strcpy(reply, "ERR: not supported"); return false; } diff --git a/src/helpers/ESP32Board.h b/src/helpers/ESP32Board.h index 53be1814..05275fd7 100644 --- a/src/helpers/ESP32Board.h +++ b/src/helpers/ESP32Board.h @@ -246,11 +246,11 @@ public: bool startOTAUpdate(const char* id, char reply[], bool force_ap = false) override; bool stopOTAUpdate(char reply[]) override; bool isOTAUpdateRunning() const override { return ota_server != nullptr; } - bool otaFromManifest(const char* current_ver, bool dry_run, char reply[]) override; + bool otaFromManifest(const char* manifest_base, const char* current_ver, bool dry_run, char reply[]) override; // Heavy body (TLS + JSON + flash streaming). Runs in a dedicated large-stack task // spawned by otaFromManifest() - public only so that task entry point can call // it; not meant to be invoked directly. - bool otaFromManifestImpl(const char* current_ver, bool dry_run, char reply[]); + bool otaFromManifestImpl(const char* manifest_base, const char* current_ver, bool dry_run, char reply[]); bool isUsbDataConnected() override { #if defined(ARDUINO_USB_CDC_ON_BOOT) && ARDUINO_USB_CDC_ON_BOOT diff --git a/src/helpers/OtaChannel.h b/src/helpers/OtaChannel.h new file mode 100644 index 00000000..05ee3dd6 --- /dev/null +++ b/src/helpers/OtaChannel.h @@ -0,0 +1,217 @@ +#pragma once +#include +#include +#include + +// OTA release-channel selector, persisted in NodePrefs::ota_channel. +enum OtaChannel : uint8_t { + OTA_CH_NATIVE = 0, // follow the channel this build was made for + OTA_CH_STABLE = 1, // production + OTA_CH_DEV = 2, // beta +}; + +// Resolve the effective manifest base URL for a channel selector. +// build.sh injects the three bases as compile-time macros: +// OTA_MANIFEST_BASE = this build's native channel (defined on every OTA build) +// OTA_MANIFEST_BASE_STABLE = stable (production) channel +// OTA_MANIFEST_BASE_DEV = dev (beta) channel +// stable/dev fall back to the native base when their macro is undefined (legacy/local +// builds that only define OTA_MANIFEST_BASE), so this never returns nullptr on an +// OTA-capable build. On a non-OTA build it returns nullptr. +// +// Each base is stored behind an "ota-base-:" tag so CI can read a binary's +// channels back with scripts/verify_ota_channel.py. Returning a pointer +// into the tagged array keeps the tag referenced, so the linker cannot drop it. +#if defined(OTA_MANIFEST_BASE) +#define OTA_BASE_TAG_NATIVE "ota-base-native:" +#define OTA_BASE_TAG_STABLE "ota-base-stable:" +#define OTA_BASE_TAG_DEV "ota-base-dev:" +#if !defined(OTA_MANIFEST_BASE_STABLE) +#define OTA_MANIFEST_BASE_STABLE OTA_MANIFEST_BASE +#endif +#if !defined(OTA_MANIFEST_BASE_DEV) +#define OTA_MANIFEST_BASE_DEV OTA_MANIFEST_BASE +#endif +static const char ota_tagged_native[] = OTA_BASE_TAG_NATIVE OTA_MANIFEST_BASE; +static const char ota_tagged_stable[] = OTA_BASE_TAG_STABLE OTA_MANIFEST_BASE_STABLE; +static const char ota_tagged_dev[] = OTA_BASE_TAG_DEV OTA_MANIFEST_BASE_DEV; +#endif + +static inline const char* ota_resolve_base(uint8_t channel) { +#if defined(OTA_MANIFEST_BASE) + switch (channel) { + case OTA_CH_STABLE: return ota_tagged_stable + sizeof(OTA_BASE_TAG_STABLE) - 1; + case OTA_CH_DEV: return ota_tagged_dev + sizeof(OTA_BASE_TAG_DEV) - 1; + case OTA_CH_NATIVE: + default: return ota_tagged_native + sizeof(OTA_BASE_TAG_NATIVE) - 1; + } +#else + (void)channel; + return nullptr; +#endif +} + +// Human label for a selector (for the `ota branch` report). +static inline const char* ota_channel_name(uint8_t channel) { + switch (channel) { + case OTA_CH_STABLE: return "prod"; + case OTA_CH_DEV: return "beta"; + default: return "default"; + } +} + +// Label for the channel this build was made for, by matching its native base. +static inline const char* ota_native_channel_name() { + const char* native = ota_resolve_base(OTA_CH_NATIVE); + if (native == nullptr) return "none"; + if (strcmp(native, ota_resolve_base(OTA_CH_STABLE)) == 0) return "prod"; + if (strcmp(native, ota_resolve_base(OTA_CH_DEV)) == 0) return "beta"; + return "custom"; +} + +// Parse an `ota branch` argument. Returns true and sets *out on a known keyword +// (prod|stable, beta|dev, default); returns false and leaves *out untouched otherwise. +static inline bool ota_parse_channel(const char* arg, uint8_t* out) { + if (strcmp(arg, "prod") == 0 || strcmp(arg, "stable") == 0) { *out = OTA_CH_STABLE; return true; } + if (strcmp(arg, "beta") == 0 || strcmp(arg, "dev") == 0) { *out = OTA_CH_DEV; return true; } + if (strcmp(arg, "default") == 0) { *out = OTA_CH_NATIVE; return true; } + return false; +} + +// Compatibility tag, read from the download before committing a channel switch. +// A switch can land on an older build, which would boot without state it cannot read +// or without a transport this node depends on. Bump OTA_STATE_GEN when a build starts +// storing state that older builds cannot read. +// Generation numbers are only comparable within a state format family. This fork +// writes /com_prefs and versioned /mqtt_prefs; upstream's generation 2 means +// /mqtt.json and does not promise it preserves this fork's common preference tail. +// Require the explicit keymind1 capability as well as the generation, so a larger +// upstream generation cannot accidentally authorize a cross-fork state downgrade. +#ifndef OTA_STATE_GEN +#define OTA_STATE_GEN 1 +#endif +#define OTA_CAP_ETH 0x01 // carries MQTT over Ethernet +#define OTA_CAP_KEYMIND_PREFS 0x02 // preserves this fork's binary common/MQTT state +#if defined(NETWORK_PREFER_ETHERNET) +#define OTA_CAPS_STR "+keymind1+eth" +#else +#define OTA_CAPS_STR "+keymind1" +#endif +#define OTA_STR_(x) #x +#define OTA_STR(x) OTA_STR_(x) +#define OTA_COMPAT_TAG "ota-compat:" +static const char ota_compat_tag[] = OTA_COMPAT_TAG OTA_STR(OTA_STATE_GEN) OTA_CAPS_STR; + +struct OtaCompat { + int gen; + uint8_t caps; +}; + +// Parse the tag value "[+cap...]"; unknown caps are ignored. +static inline bool ota_compat_parse(const char* s, OtaCompat* out) { + if (*s < '0' || *s > '9') return false; + OtaCompat parsed = {0, 0}; + while (*s >= '0' && *s <= '9') { + const int digit = *s++ - '0'; + if (parsed.gen > (INT_MAX - digit) / 10) return false; + parsed.gen = parsed.gen * 10 + digit; + } + while (*s == '+') { + const char* cap = ++s; + while (*s && *s != '+') s++; + if (s == cap) return false; + if ((size_t)(s - cap) == 3 && memcmp(cap, "eth", 3) == 0) parsed.caps |= OTA_CAP_ETH; + if ((size_t)(s - cap) == 8 && memcmp(cap, "keymind1", 8) == 0) parsed.caps |= OTA_CAP_KEYMIND_PREFS; + } + if (*s != 0) return false; + *out = parsed; + return true; +} + +// Find the tag in an image chunk; returns the NUL-terminated value text, or nullptr when +// the chunk holds no complete tag. Skips the bare OTA_COMPAT_TAG search literal, which +// every image also contains. +static inline const char* ota_compat_find(const uint8_t* buf, size_t len) { + const size_t tag_len = sizeof(OTA_COMPAT_TAG) - 1; + for (size_t i = 0; i + tag_len < len; i++) { + if (memcmp(buf + i, OTA_COMPAT_TAG, tag_len) != 0) continue; + if (buf[i + tag_len] < '0' || buf[i + tag_len] > '9') continue; + if (memchr(buf + i + tag_len, 0, len - i - tag_len)) return (const char*)buf + i + tag_len; + } + return nullptr; +} + +// A target must read this node's state and keep every transport this node has. +static inline bool ota_compat_ok(const OtaCompat& own, const OtaCompat& target) { + return target.gen >= own.gen && (target.caps & own.caps) == own.caps; +} + +// Inspect only bytes received for this download, including tags split across +// arbitrary HTTP reads. Oversized or incomplete values fail closed. A bare +// search literal or malformed candidate is not a tag. +// Duplicate tags must match exactly, including capabilities unknown to this +// firmware, matching the publish verifier's unique compatibility-tag contract. +class OtaCompatScanner { + static constexpr size_t kValueSize = 64; + size_t _prefix = 0; + size_t _length = 0; + bool _reading = false; + bool _found = false; + bool _conflicting = false; + OtaCompat _compat = {0, 0}; + char _value[kValueSize] = {}; + char _candidate[kValueSize] = {}; + + void complete() { + _candidate[_length] = 0; + OtaCompat parsed; + if (ota_compat_parse(_candidate, &parsed)) { + if (_found && strcmp(_candidate, _value) != 0) { + _conflicting = true; + } else if (!_found) { + _compat = parsed; + strcpy(_value, _candidate); + _found = true; + } + } + } + +public: + void consume(const uint8_t* bytes, size_t size) { + for (size_t i = 0; i < size; ++i) { + const uint8_t byte = bytes[i]; + if (_reading) { + // The search literal itself ends at the colon. Only a digit starts a + // value; a following 'o' may begin another tag, so reuse that byte below. + if (_length == 0 && (byte < '0' || byte > '9')) { + _reading = false; + } else if (byte == 0) { + complete(); + _reading = false; + _length = 0; + continue; + } else { + if (_length + 1 >= sizeof(_candidate)) { + _conflicting = true; + } else { + _candidate[_length++] = (char)byte; + } + continue; + } + } + _prefix = byte == OTA_COMPAT_TAG[_prefix] ? _prefix + 1 + : (byte == OTA_COMPAT_TAG[0] ? 1 : 0); + if (_prefix == sizeof(OTA_COMPAT_TAG) - 1) { + _prefix = 0; + _length = 0; + _reading = true; + } + } + } + + bool finish(OtaCompat* out) const { + if (!_found || _conflicting || (_reading && _length != 0)) return false; + *out = _compat; + return true; + } +}; diff --git a/src/helpers/esp32/WebConfigHtml.h b/src/helpers/esp32/WebConfigHtml.h index 6d49c7d5..1584394d 100644 --- a/src/helpers/esp32/WebConfigHtml.h +++ b/src/helpers/esp32/WebConfigHtml.h @@ -1,46 +1,46 @@ // Auto-generated by scripts/generate_webconfig_html.py from webui/index.html // DO NOT EDIT - edit webui/index.html instead. // Compressed with Google Zopfli 0.4.3 (gzip, 1000 iterations). -// shipped-page-sha256: b7024013866640f2b626b2ae4822f0978cc50c14a061a45d53e62b0ab2811b53 +// shipped-page-sha256: 397ba8c996d3d0ab85d753526467e7a78107aad50b437ccd3c8dc598c97cb4cd #pragma once #include #include -const uint32_t WEBCONFIG_HTML_GZ_LEN = 33969; -const char WEBCONFIG_HTML_ETAG[] = "\"25ca2f61b991b105\""; -const char WEBCONFIG_HTML_VERSION[] = "4d14ae4de3268605"; -const uint16_t WEBCONFIG_HTML_LOADER_LEN = 462; +const uint32_t WEBCONFIG_HTML_GZ_LEN = 34002; +const char WEBCONFIG_HTML_ETAG[] = "\"6e7182bb4bfc90b5\""; +const char WEBCONFIG_HTML_VERSION[] = "7460c1f78310f2d4"; +const uint16_t WEBCONFIG_HTML_LOADER_LEN = 463; const uint16_t WEBCONFIG_HTML_SUCCESS_LEN = 65; const uint8_t WEBCONFIG_HTML_LOADER[] PROGMEM = { - 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x75,0x52,0x47,0x77,0xdb,0x30, - 0x0c,0xfe,0x2b,0x6c,0xa6,0xe8,0xed,0xec,0x44,0xa2,0x3b,0xf4,0x7a,0xea,0xde,0x67, - 0x9a,0x82,0x2c,0xbe,0xd2,0x80,0x1e,0x04,0x59,0x59,0xfa,0xef,0x8d,0x57,0x77,0x70, - 0xc1,0xde,0x5f,0xf2,0x24,0x23,0x27,0x37,0x25,0xa8,0x42,0xe6,0x61,0x92,0xcc,0x41, - 0xac,0x72,0x85,0xe5,0x0a,0xc4,0xd4,0x92,0xf7,0x2f,0x36,0x36,0xb4,0x73,0x30,0x0b, - 0x0f,0x4d,0x49,0x2c,0xca,0x11,0x0a,0xa0,0x98,0x9d,0xc6,0x67,0x52,0x98,0x0c,0x16, - 0xde,0x41,0x7f,0xa5,0xf4,0x3c,0x7a,0xf1,0x36,0xf4,0x2b,0x67,0x03,0x98,0xf1,0xce, - 0x24,0x11,0x2f,0x01,0x26,0x6f,0xa0,0x2a,0x52,0x62,0x50,0xdf,0x60,0x9a,0x12,0xe6, - 0x7e,0x96,0x0c,0xd7,0x9e,0x64,0x4a,0xd9,0xcd,0xe4,0x35,0xd9,0xcc,0xe3,0x4c,0xfd, - 0x1b,0x77,0x50,0x40,0x08,0xbe,0x8c,0x93,0xca,0xb1,0x2f,0x65,0x12,0xe5,0x35,0x3a, - 0xf1,0x84,0x91,0xbe,0x5b,0x58,0x56,0x68,0x46,0xf1,0xd6,0xa4,0xc2,0x43,0x99,0x8d, - 0x3d,0x35,0x8d,0xc7,0x8c,0x9a,0xc1,0xf3,0x29,0xb1,0xa4,0x84,0xc2,0x14,0x02,0x70, - 0xcf,0x99,0xf4,0xe0,0x00,0xa1,0x51,0x69,0xa4,0x7b,0x62,0xdc,0xc1,0x41,0x05,0xf2, - 0xd9,0xcf,0x81,0x6a,0xf9,0xbd,0xb8,0x1b,0xd8,0x65,0x66,0xa4,0xdb,0xde,0xe5,0xe8, - 0x81,0x74,0x9c,0x83,0xb8,0x22,0xda,0x19,0xd6,0xfe,0xe9,0xc2,0x9c,0x64,0xe3,0x13, - 0x0b,0x27,0x19,0x1c,0x1f,0x9d,0x5d,0x9c,0x8d,0x4e,0x77,0x7a,0xee,0xe9,0x5d,0xe5, - 0x67,0x68,0xc3,0x95,0x1b,0xac,0x85,0xf6,0xea,0xae,0xd5,0x03,0x29,0x00,0x7f,0x15, - 0x66,0x7d,0xe7,0xf3,0x88,0x07,0xf4,0x5d,0x33,0x48,0xcd,0xa8,0x78,0x20,0x70,0x2d, - 0x91,0x8e,0x57,0xf6,0x4a,0xac,0xd4,0x95,0x31,0xe6,0x64,0x74,0xa9,0xef,0x02,0x39, - 0xbb,0x4c,0x1b,0x30,0xac,0x77,0x8b,0x37,0x49,0x58,0x87,0xd0,0x4a,0xc1,0xd4,0xa8, - 0x97,0xcc,0xc4,0xd1,0x8e,0xb0,0xc5,0x2a,0x07,0x56,0xb9,0xf5,0x01,0xb2,0x1d,0xfd, - 0x4f,0xeb,0x72,0xd5,0x5a,0xb4,0x0b,0x60,0x79,0xbb,0xb1,0xac,0xfa,0x96,0xc6,0x98, - 0x65,0xc9,0xcd,0x4c,0x71,0x46,0xae,0x9e,0x03,0xca,0x80,0x4a,0xc0,0x48,0xff,0xd2, - 0x1b,0xf6,0x02,0x51,0xf9,0x9b,0xc5,0x05,0xaa,0x60,0x79,0xa5,0x9f,0x7d,0xe0,0xf1, - 0x3e,0xdd,0x2e,0x26,0xc7,0xfa,0xb7,0x83,0x2f,0xb7,0xea,0x9d,0x8e,0x46,0x1d,0xd4, - 0x31,0x84,0x0a,0xd4,0xcf,0xba,0x4b,0x5c,0xac,0x2e,0x93,0x6e,0xf1,0xf6,0x05,0xed, - 0x34,0x80,0x12,0x5a,0xfd,0xf9,0x17,0x44,0xae,0xd4,0x4e,0x17,0xba,0x3b,0x03,0xf5, - 0x11,0x56,0x0e,0x21,0xc5,0x20,0x7c,0x33,0xd8,0x69,0x75,0xbb,0x3e,0x5b,0xab,0x23, - 0x9d,0x0c,0x37,0x10,0xfa,0x01,0x0f,0x69,0xb6,0x3f,0xf8,0x02,0x00,0x00, + 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x75,0x52,0xd5,0xb2,0xdb,0x30, + 0x10,0xfd,0x15,0xf5,0xa2,0x15,0x70,0x98,0xad,0x14,0x3c,0x7d,0x2a,0xf3,0xb3,0x22, + 0xaf,0x63,0x4d,0x15,0xad,0x67,0xbd,0x8e,0x2f,0xf9,0xdf,0x3b,0xa1,0xf2,0x7d,0x5a, + 0xc6,0x73,0xa2,0x27,0x09,0x1a,0xbe,0xcd,0x41,0x64,0xbc,0x71,0xcb,0x68,0x03,0xac, + 0x85,0xc9,0x34,0x15,0xc0,0xaa,0xe4,0xb4,0x3d,0x3d,0xfa,0xbc,0xde,0x80,0xda,0x5a, + 0xa8,0x72,0x24,0x16,0x06,0x3d,0x83,0x67,0x75,0x56,0xd9,0x84,0x33,0x95,0xc0,0xd6, + 0x1a,0x68,0xef,0x8d,0x96,0xf5,0x96,0xad,0x76,0xed,0xc2,0x68,0x07,0xaa,0x77,0xb6, + 0x8c,0xd8,0xb2,0x83,0xe5,0x1b,0x28,0xb2,0x18,0x09,0xc4,0x37,0x58,0xc5,0xe8,0x53, + 0xbb,0x8e,0x3a,0x87,0x48,0xb4,0xc2,0xe4,0x76,0xf9,0x1a,0x75,0x62,0xfd,0x5a,0xfc, + 0x9b,0x77,0x95,0x81,0x73,0x36,0x5f,0x44,0x85,0x21,0x9b,0xf3,0x32,0x48,0x4b,0x6f, + 0xd8,0xa2,0x0f,0xe4,0xfd,0x56,0x93,0xf0,0xaa,0xbb,0x38,0xb9,0x84,0x43,0x9d,0x1c, + 0xfd,0xb1,0xaa,0xac,0x4f,0xb0,0x0a,0x9f,0xaf,0x90,0x38,0x46,0xcf,0x84,0xce,0x01, + 0xb5,0x8c,0x8a,0xaf,0xae,0x3c,0x54,0x22,0x0e,0x64,0x8b,0x95,0xb9,0xba,0x2a,0x80, + 0x3f,0xdb,0x0d,0x60,0xc9,0xbf,0x37,0x37,0xa1,0xde,0x55,0x06,0xb2,0x6e,0xcd,0xba, + 0xdd,0x6e,0x57,0x2e,0x52,0x60,0x93,0x05,0x67,0x9d,0xd2,0x3e,0xdd,0xaa,0xc9,0x70, + 0xdc,0x35,0xbd,0x74,0x32,0x1d,0xf4,0xba,0x69,0x3f,0x19,0x9e,0xb5,0xcc,0xd3,0xfb, + 0xc2,0xae,0xbd,0x76,0x73,0x13,0x1e,0x94,0x7a,0x7e,0x5f,0xcb,0x90,0x33,0xf0,0xbf, + 0x1a,0x93,0xbc,0xb7,0x69,0x40,0x21,0x7e,0x97,0x04,0x5c,0x92,0x17,0x14,0x32,0xdc, + 0x70,0x20,0x17,0x7b,0x7f,0xc1,0x9a,0xcb,0x42,0x29,0x35,0xec,0xce,0xe4,0xbd,0x43, + 0xa3,0x77,0x65,0x21,0xc1,0xe1,0xb6,0xc5,0xb1,0xc8,0x97,0xce,0xd5,0x9c,0x11,0x56, + 0xe2,0x25,0x11,0x52,0x70,0xc6,0xa4,0x7d,0x91,0x02,0x89,0x54,0x5b,0x07,0xc9,0x99, + 0xfc,0x67,0x74,0xbe,0x1f,0xcd,0xd2,0x38,0xd0,0x74,0xba,0x98,0xf7,0x73,0x73,0xa5, + 0xd4,0xae,0xe5,0x71,0xa7,0x45,0x82,0xa6,0xdc,0x80,0xe7,0x10,0x73,0xf0,0x81,0xfc, + 0x65,0x57,0x64,0x19,0x82,0xfc,0x37,0x8f,0x71,0x58,0xc0,0xee,0x4b,0x3f,0xe7,0xc0, + 0xe3,0x73,0x9a,0x4d,0x1f,0x0d,0xe4,0x6f,0x0f,0xdf,0x5d,0xd5,0x1a,0x75,0xbb,0x0d, + 0x2f,0x17,0xe0,0x0a,0x10,0x3f,0xfb,0xee,0x78,0xb1,0xff,0x4c,0x7c,0xe2,0xdb,0x17, + 0xaf,0x57,0x0e,0x04,0xe3,0x1e,0xe7,0x5f,0x14,0x99,0x8b,0xb3,0x26,0x34,0xcf,0x42, + 0xf1,0x11,0xf6,0x01,0x46,0x41,0xc0,0x74,0x1b,0x9e,0xd5,0xb2,0x3e,0xbc,0xad,0x96, + 0x81,0x8c,0x3a,0x47,0x0a,0xfd,0x00,0x6f,0x9e,0xcf,0x81,0xf8,0x02,0x00,0x00, }; const uint8_t WEBCONFIG_HTML_GZ[] PROGMEM = { @@ -573,1601 +573,1603 @@ const uint8_t WEBCONFIG_HTML_GZ[] PROGMEM = { 0x04,0xbf,0xb2,0x98,0xe4,0x83,0xdd,0xce,0x31,0xbc,0x63,0x89,0x1f,0x77,0xef,0x56, 0x71,0xd2,0xb8,0x1e,0x7a,0xa6,0xac,0xce,0x9d,0x2a,0x6c,0x52,0xba,0x10,0x45,0x97, 0xc0,0xbe,0xa9,0x4e,0x0d,0xaa,0x47,0x3e,0x7f,0xb4,0x37,0x69,0xf5,0x85,0xc4,0x5c, - 0xf3,0x8c,0x82,0x95,0xff,0x68,0xef,0xdf,0xfb,0xdb,0x36,0x72,0xfd,0x71,0xfc,0x7f, - 0x3f,0x0a,0x86,0xdb,0xe3,0x90,0x15,0x25,0xcb,0x76,0x92,0xb6,0x52,0x18,0xbf,0x52, - 0x27,0x6d,0x73,0x9a,0x26,0x39,0xb1,0xbb,0xdd,0xf3,0x71,0xbc,0xf9,0xc8,0x16,0x6d, - 0xab,0xd1,0x6d,0x49,0xf9,0x92,0x95,0xfc,0x7b,0xec,0x3f,0xbc,0x81,0x01,0x87,0x33, - 0xa2,0x64,0x67,0x73,0xf6,0x7b,0x4f,0x5f,0xb5,0xc8,0x21,0x06,0x83,0xc1,0xdc,0x30, - 0x18,0x0c,0x20,0xa3,0x04,0x03,0xd5,0x1f,0x10,0x14,0x3e,0xaf,0x49,0x38,0x92,0xc0, - 0x78,0x21,0x23,0xef,0x5a,0x71,0xeb,0x4b,0xf6,0xff,0xeb,0x2e,0x7c,0xd0,0x59,0xaa, - 0xbd,0xf1,0x71,0x37,0x16,0x9c,0x18,0xab,0x8d,0xfc,0xc1,0x9b,0xdf,0xde,0xad,0x35, - 0x8b,0x3e,0x7c,0x67,0x1c,0xad,0xdc,0x57,0x56,0x19,0xcf,0xa6,0xf5,0xa2,0x89,0x6b, - 0x93,0x3b,0x9d,0x4c,0x86,0x80,0x25,0xe9,0xf3,0xbc,0x8e,0xb3,0xe2,0x92,0x09,0x0b, - 0x36,0x1c,0x80,0xe9,0x6a,0x7d,0x0a,0xb3,0xda,0xf5,0x96,0x99,0xeb,0x8e,0xc9,0xff, - 0x49,0xa8,0x68,0x42,0x7a,0x7b,0xf0,0xea,0x6f,0xf7,0x91,0x8e,0x67,0x26,0xcb,0x7d, - 0xea,0xf3,0xdb,0xc1,0xe1,0x77,0xbf,0xbd,0x38,0x4c,0x7e,0xdb,0x6d,0xed,0xb4,0xda, - 0xc9,0x6f,0x14,0xab,0x63,0xbb,0xb5,0xc2,0xae,0xab,0x6e,0x33,0x0c,0x5f,0x89,0x25, - 0xad,0xbf,0x1f,0xee,0x63,0x77,0x41,0xdb,0x85,0x7b,0xf5,0x61,0xa5,0xb3,0x25,0x79, - 0xd4,0xcc,0xa7,0xec,0xbc,0xdb,0x8f,0x2c,0x1d,0x77,0x4c,0xf4,0xe8,0x0f,0x01,0xc9, - 0xea,0xe3,0x59,0xb9,0x1c,0xf1,0x41,0xbe,0x9a,0xc7,0xf6,0xbf,0x6a,0xee,0x2e,0xc6, - 0xa3,0xe9,0xdd,0x33,0xb6,0x6d,0x34,0x21,0x07,0x16,0xa2,0x97,0xe3,0xc1,0xec,0x2e, - 0x71,0x59,0x4b,0x68,0x95,0x19,0xea,0x1b,0xee,0xce,0x8d,0x28,0x2e,0x2e,0xdc,0x73, - 0x23,0xca,0x4e,0x1f,0xec,0x46,0x74,0x95,0x2c,0xca,0x46,0xc6,0x90,0x2f,0x19,0x3e, - 0x17,0x9e,0x8a,0x75,0x83,0xcd,0xac,0x96,0x8d,0x32,0x59,0xf3,0x15,0x9d,0x6b,0x28, - 0x82,0xb1,0x8d,0xc6,0x8a,0x5a,0xbd,0x3d,0x4d,0x43,0x9e,0x46,0x82,0x5a,0x33,0x54, - 0x2f,0x05,0xb5,0x82,0x9f,0x06,0x04,0x0b,0x05,0x1f,0x52,0x5f,0xbd,0x13,0x99,0x16, - 0x76,0x94,0xea,0x33,0x63,0x22,0xb2,0x84,0x58,0x41,0xaa,0xc3,0xb6,0xff,0x6b,0xf8, - 0xeb,0xa1,0x7a,0xfd,0xfb,0x1c,0xf6,0x00,0xf9,0xff,0xe9,0x1e,0x7b,0x40,0xc4,0xff, - 0x85,0x5c,0xf6,0x80,0x9c,0xff,0xd3,0x7d,0xf6,0x80,0x88,0xff,0x37,0x38,0xed,0xf9, - 0x7f,0x84,0x5b,0x1e,0xb5,0x74,0xd9,0x6e,0x6e,0xef,0x06,0xd7,0x30,0xf1,0x57,0x57, - 0x39,0xd6,0x79,0x8e,0x78,0x10,0x5b,0xeb,0xa2,0xc7,0x1a,0x79,0x43,0xa7,0x98,0x0d, - 0xd5,0xa5,0x18,0xed,0x1b,0x80,0xbf,0xaf,0x8d,0x24,0x0e,0x7c,0x30,0x9f,0x69,0xdd, - 0xbb,0x78,0xf8,0xc2,0x3b,0x1b,0xae,0xde,0xbb,0xbd,0xf3,0xc8,0x0e,0x29,0xb5,0x6a, - 0xa8,0x3f,0xfa,0xb5,0x23,0x06,0x70,0x00,0x0b,0x6b,0xd4,0xb9,0x46,0x95,0x7b,0x39, - 0x5a,0x25,0xcb,0x43,0x88,0x81,0x8b,0x19,0xc8,0x1f,0x43,0xc2,0x54,0xcc,0x70,0xe9, - 0x12,0xc6,0xe4,0x71,0x6d,0x16,0x69,0x0b,0xeb,0x79,0x22,0x32,0x76,0xb1,0xf1,0xfd, - 0x4f,0x80,0x5d,0x85,0x69,0x0f,0x92,0xed,0x18,0x96,0x01,0xf5,0x66,0x6c,0x5f,0x7e, - 0xa9,0xb7,0x3f,0x79,0x0f,0xa6,0x9b,0x6b,0xb8,0x78,0xe2,0x76,0xfd,0xd2,0x5b,0xc2, - 0xea,0x2f,0x92,0xfa,0x0a,0xe6,0x65,0xa7,0x80,0xd7,0x48,0x46,0x01,0xe2,0x7b,0x92, - 0x9e,0x2d,0xf6,0xbb,0x16,0x71,0xd6,0xaf,0xdc,0x6f,0x15,0x57,0x9b,0x1d,0x99,0x0d, - 0x90,0x9d,0x33,0x37,0x69,0x05,0xae,0x50,0x3b,0xe9,0xcd,0x4c,0x4c,0x18,0xdf,0x8f, - 0xbe,0xa7,0x1d,0x44,0x5b,0xfb,0x31,0xb1,0x20,0x09,0xae,0xba,0x13,0xc1,0x61,0xf4, - 0xc0,0x07,0x7d,0xbc,0x57,0x93,0xe2,0x3a,0x02,0x26,0x99,0xde,0x34,0x88,0x7e,0xfd, - 0x31,0x66,0xb4,0x4f,0x25,0x10,0x1c,0xa3,0xa2,0xc2,0xf2,0x4f,0x4d,0x7c,0xb7,0x6e, - 0x7e,0xf9,0x98,0x63,0x4b,0x80,0xf4,0x5a,0x24,0x6e,0x5a,0xe1,0x14,0x40,0x4d,0xc9, - 0xeb,0xf1,0x8c,0x01,0x57,0x8f,0xe8,0x8e,0x33,0x4b,0x6c,0x0a,0x9a,0xc2,0x4f,0x5f, - 0x81,0x5f,0xd4,0xee,0x66,0x00,0x6b,0xb6,0x33,0xf7,0x76,0x5f,0x83,0xa1,0xc5,0xc3, - 0x35,0xf8,0x9c,0xcd,0x5a,0x77,0x75,0x8d,0xd3,0xe1,0xdd,0xe2,0x9d,0x16,0x5d,0x8d, - 0x8a,0xe9,0xc1,0xc1,0xf9,0x34,0xea,0x28,0x4f,0xfe,0x47,0x89,0x35,0x12,0x7a,0x52, - 0x72,0x31,0x5d,0xf2,0xe2,0xeb,0xac,0x97,0x0e,0x5d,0x16,0x79,0x93,0x1d,0x0e,0xdd, - 0x4f,0xe8,0xd8,0x28,0x07,0x10,0x96,0xe3,0x3f,0xf8,0x76,0x34,0x86,0xd0,0xe6,0xb0, - 0x97,0xe7,0xdd,0x80,0x31,0xe9,0x30,0xaa,0x27,0xe2,0x4b,0x85,0x1b,0xfa,0xf9,0x25, - 0x1b,0x4e,0x51,0xc8,0x05,0xfd,0x2a,0xf2,0x2f,0xab,0xa1,0x3d,0x46,0xf9,0xd2,0x6a, - 0x0e,0xce,0xa2,0x07,0xf4,0xd8,0x3a,0xb9,0x2c,0x3e,0xc7,0xf4,0xf0,0xfe,0x72,0x1c, - 0x1d,0x3d,0xb4,0xf8,0x1e,0x1e,0x13,0x61,0xf6,0xf5,0x7f,0xbc,0xee,0x7c,0xd7,0x13, - 0x95,0x3f,0xc5,0xc3,0x5a,0xb1,0x44,0xc3,0x9e,0xa0,0xde,0xf6,0xad,0x76,0x97,0x58, - 0x09,0x82,0x42,0xdf,0xbd,0x0f,0x88,0x50,0x12,0x58,0x06,0x6a,0xd2,0x1a,0x03,0xe0, - 0x32,0x38,0x85,0xdf,0x23,0x4d,0xd4,0x08,0xf1,0xd7,0x2c,0x5d,0xb3,0x4e,0x60,0xb7, - 0xe5,0x0c,0xc6,0xbe,0x60,0x58,0x2f,0x9a,0xd7,0x4a,0xf0,0x1b,0xc5,0x34,0x1b,0x0e, - 0x79,0x67,0x58,0x0a,0x83,0x7c,0x3d,0x9e,0x24,0x27,0x88,0x17,0xb4,0x6b,0x98,0x78, - 0x3b,0x6b,0x10,0x11,0xf4,0xf4,0x9e,0xa0,0xb7,0x50,0x69,0x05,0x90,0xeb,0xcb,0x9b, - 0x71,0xa3,0xda,0x8c,0x07,0xec,0xf5,0x18,0xed,0x98,0x5f,0xfa,0x52,0x79,0x6d,0x63, - 0x1a,0x47,0xef,0xa0,0x48,0x66,0x76,0xf2,0xf8,0xfe,0xec,0xb0,0x77,0xf2,0x74,0x0b, - 0x0f,0x81,0xf2,0x47,0xe7,0x7d,0x0b,0xb3,0x79,0x89,0x91,0x28,0x60,0x92,0xd0,0xb7, - 0x09,0xd4,0xac,0x05,0xee,0x09,0x4b,0x36,0x07,0xf7,0xcb,0xe2,0xd4,0xc0,0x50,0x6f, - 0x1e,0x0d,0x8a,0xc2,0x41,0x2d,0x2e,0xba,0x47,0x54,0xb3,0x01,0x95,0x8b,0x00,0x72, - 0x72,0x84,0x4e,0xb5,0x81,0x54,0x25,0x77,0xd7,0x94,0x1a,0xa7,0x5a,0xb5,0x5e,0x99, - 0xb7,0xe0,0xa5,0xdb,0xad,0xb0,0x89,0x35,0x8c,0xbe,0x60,0x5f,0xd0,0x1e,0x65,0x42, - 0x93,0x24,0x21,0x28,0x0e,0xd6,0xcd,0x79,0xf5,0xbb,0x87,0xca,0x90,0x42,0x2b,0xe5, - 0x33,0xd2,0x8d,0x8a,0x64,0x81,0x97,0xf5,0x42,0xc5,0xc8,0x52,0xe4,0x8a,0x10,0xd8, - 0x58,0x54,0x1d,0x43,0xa8,0xe0,0xb8,0x76,0x8c,0xda,0x78,0x94,0x3a,0xc0,0xdc,0xed, - 0x60,0x3e,0xc1,0xba,0x20,0x67,0x8f,0x61,0x50,0xf5,0x7f,0x0e,0x17,0x40,0x27,0x9f, - 0x1d,0xf7,0xc5,0x85,0x81,0x10,0x83,0x45,0xea,0xac,0xf9,0xa5,0xbf,0xdc,0x98,0x28, - 0x9d,0xe1,0x33,0x93,0x5d,0x73,0x0a,0x0f,0xbd,0xfd,0xed,0xdd,0x7c,0xfc,0xaa,0xd9, - 0x8c,0xf5,0x12,0xbc,0x4f,0x05,0xa1,0xcc,0xfe,0xc2,0xee,0x51,0xff,0x7d,0xe5,0xb2, - 0x83,0x6e,0x94,0x8b,0x96,0xda,0xc7,0x4b,0x59,0xa4,0xbf,0x7c,0x97,0x31,0x42,0x95, - 0xf7,0x74,0x86,0x02,0x75,0xe2,0x70,0x30,0xd3,0x8d,0x25,0x16,0x02,0x65,0x35,0xf2, - 0xad,0xf6,0xdf,0x51,0xae,0xee,0xd0,0x53,0xf8,0xbd,0x76,0x30,0x2e,0xf9,0x7d,0xd7, - 0x79,0x3d,0xa2,0x5d,0xea,0x1c,0x89,0xc7,0xda,0x19,0xdd,0x04,0x99,0x14,0xb0,0xec, - 0x86,0xa3,0x81,0x69,0x5f,0x58,0xda,0x7f,0x3d,0xc2,0xfe,0xcb,0x0f,0x7b,0x2b,0x61, - 0x07,0x2c,0xb0,0xef,0xb2,0x6f,0x39,0xd0,0x25,0x71,0x53,0x4c,0xaf,0x33,0xdf,0x37, - 0xb9,0x89,0x53,0x30,0x19,0xd6,0x08,0x59,0x8f,0x97,0x22,0xe5,0xfd,0xd0,0x75,0xc2, - 0xa7,0xec,0xf8,0xf1,0x32,0xce,0xce,0x63,0x10,0x37,0x1c,0xd0,0x04,0x38,0x65,0x87, - 0x57,0xaa,0xb5,0x8d,0x26,0x39,0xde,0xf7,0xb1,0xf5,0x18,0x22,0x25,0x56,0x3f,0x89, - 0xb4,0x5a,0x8c,0xa1,0x8d,0x3a,0x13,0x85,0x97,0x98,0x7c,0xb6,0x9e,0x9e,0xe4,0xba, - 0x42,0xd5,0x48,0x7f,0xb5,0xb2,0x1f,0x39,0xd2,0xee,0x15,0x9f,0xb2,0x7e,0x12,0x9c, - 0xaa,0x0f,0x47,0xf6,0xe5,0xf0,0x87,0xf1,0x58,0xfd,0x0a,0x9c,0xa0,0x61,0xc5,0xf4, - 0x6c,0xe1,0xeb,0xc1,0x8c,0xf6,0xf4,0xe5,0xc5,0x23,0xa4,0xdb,0x2d,0xfa,0x70,0xc0, - 0x15,0x11,0x87,0xee,0x07,0xbd,0x33,0xea,0x52,0xd0,0x98,0xed,0x5f,0xe4,0x13,0x76, - 0xff,0x2f,0xd4,0x8a,0x15,0x7f,0xcb,0x82,0xff,0x3c,0xa1,0xc9,0x96,0x70,0xd7,0x50, - 0xfd,0xdd,0xf4,0xa6,0xd2,0xe8,0x97,0xf9,0x90,0xe4,0xa4,0xd9,0x6c,0xda,0xd9,0xda, - 0xa2,0xab,0x03,0x2d,0x32,0x04,0x6c,0x3d,0x6a,0x6d,0x83,0x08,0x83,0x6d,0x6b,0x32, - 0xac,0x51,0x22,0xd6,0x9c,0x8b,0x6c,0x3f,0x22,0xcc,0x5e,0x65,0x40,0x45,0x85,0xc2, - 0x87,0x05,0xea,0xcb,0x42,0x1f,0x4f,0x4c,0x28,0xc6,0xea,0x3f,0xfe,0xbb,0xea,0x93, - 0x5e,0xae,0xeb,0x0f,0x0a,0x38,0xc5,0x84,0xf1,0xcf,0x40,0xaf,0x4b,0x5b,0xbd,0x64, - 0x26,0xe2,0xa3,0xd5,0x60,0x4a,0x53,0x6a,0x9f,0x4a,0x8c,0x3e,0x60,0x00,0x6f,0x5d, - 0xf9,0x15,0x8d,0xcc,0x42,0x32,0x9d,0xe6,0x19,0x31,0x13,0x31,0x4b,0x61,0x0e,0xf4, - 0x85,0x8e,0x75,0xda,0x2b,0x1d,0xeb,0xf4,0x29,0x9e,0x01,0xfb,0x1a,0x3f,0xcf,0x66, - 0x2f,0x87,0x19,0x1e,0x7f,0xfc,0xfc,0xaa,0x1f,0x3d,0x34,0xa3,0xeb,0x61,0xdc,0x62, - 0x0e,0xbe,0xa6,0xe9,0xa2,0x05,0xaf,0x03,0xb4,0x14,0x3c,0x84,0x54,0xfc,0xf0,0x7e, - 0x9e,0x78,0xd0,0xa8,0xf0,0x5e,0x64,0x3d,0xf0,0x08,0xe5,0x77,0x0d,0x6e,0xd1,0x46, - 0xe8,0xf0,0x06,0xe8,0xf2,0xd4,0xa2,0x45,0xca,0x70,0xdf,0x7d,0x64,0x23,0xcb,0xe2, - 0x59,0x67,0x9e,0x9a,0x01,0xcf,0x9e,0x86,0x02,0x0e,0x7d,0xec,0x94,0x26,0xbe,0xaa, - 0x64,0x2b,0xee,0x04,0x1a,0x91,0x81,0x3e,0xad,0xc2,0x8e,0x8a,0xf3,0x92,0x80,0x1a, - 0x57,0xa0,0xce,0x24,0x14,0x9a,0xaa,0x4f,0x3d,0xc1,0xdd,0x62,0x1b,0x4c,0x57,0x77, - 0xce,0x37,0xcb,0xee,0xaa,0x3a,0x18,0xe2,0x4f,0x7b,0x2e,0x06,0xc8,0xa6,0x9f,0x42, - 0x6d,0xe3,0x9a,0x06,0x01,0x29,0x7e,0x48,0x6a,0x90,0xd6,0x53,0xf2,0x56,0x90,0xd0, - 0xad,0xa0,0x78,0x52,0x83,0xa2,0x4a,0xc6,0xe9,0xe4,0x12,0x1a,0xae,0xba,0xa6,0xa6, - 0x2e,0x3c,0x98,0xd2,0x49,0x6b,0x08,0x27,0xfc,0xc6,0xdc,0xae,0xbb,0x41,0x5c,0x0b, - 0x0e,0x5e,0xbe,0x39,0x7c,0xf5,0xe6,0xe5,0xeb,0x34,0xfc,0xd6,0xfc,0x93,0x0f,0x04, - 0x95,0xce,0x61,0xc2,0xd7,0x09,0xc3,0x84,0x1d,0x60,0xf4,0x3b,0xdc,0xdb,0x12,0xb2, - 0xa3,0x83,0xff,0x32,0xfb,0xb6,0x3f,0x1c,0x98,0x17,0xa8,0x9a,0xde,0x15,0x9f,0x9e, - 0x3c,0x32,0xef,0xaa,0xbe,0x3d,0x10,0xe7,0x77,0x25,0x8a,0x71,0x96,0xf5,0x0b,0xd5, - 0x8a,0x9a,0x34,0xb6,0x0e,0x56,0x67,0x3e,0x26,0xad,0x50,0x7f,0x9b,0x95,0xf7,0x4a, - 0xd9,0x24,0x9e,0x17,0x9d,0x76,0x72,0x7a,0x76,0xde,0x19,0x93,0x89,0x44,0x02,0x53, - 0xb0,0xce,0xfc,0x36,0xe9,0x0f,0xf2,0xd9,0x67,0x3c,0x88,0x57,0xe2,0xa2,0x73,0x74, - 0x9c,0x8c,0xb1,0x27,0x07,0x34,0x6f,0xe6,0x71,0x9c,0x96,0xd3,0x0b,0xa4,0xd5,0xce, - 0x1c,0x6a,0x06,0xc0,0xb0,0x9a,0x80,0x1e,0x6e,0x13,0x2c,0xd3,0x87,0xd4,0x12,0xd9, - 0x0c,0xd5,0xc7,0x9b,0xe6,0xc0,0xf3,0xcb,0xe9,0xe4,0xf4,0x82,0x9e,0x25,0x78,0x81, - 0xbe,0x19,0x4f,0x5e,0xf4,0x1d,0x73,0xaf,0xd6,0xd5,0x00,0xbd,0x26,0xab,0x9d,0xfd, - 0xde,0x94,0x06,0x6d,0x26,0xb4,0x82,0x55,0xca,0x01,0xdc,0xbe,0xe0,0x6d,0x98,0x66, - 0xba,0xa5,0xa8,0x54,0x97,0x63,0x39,0x56,0xf9,0x26,0x2a,0xe2,0xb9,0x19,0xee,0xe5, - 0x8c,0x41,0xd2,0x70,0xfe,0x59,0xd4,0x8e,0x93,0x9c,0x00,0x6e,0x2b,0xf0,0xd5,0x0c, - 0xcf,0xf3,0x9c,0x6e,0xc9,0xd2,0x14,0x39,0x9b,0x40,0xc0,0x69,0x15,0x43,0x4c,0xfb, - 0x50,0x77,0x46,0xf5,0xb8,0x20,0xb7,0x16,0x71,0x15,0x1f,0x4b,0x04,0xd1,0x28,0x9e, - 0xa3,0x53,0xcc,0xd2,0x6f,0xa2,0xf0,0x2f,0x9c,0x14,0xc6,0xdd,0x59,0x0b,0x53,0xdf, - 0xbe,0xc4,0xe3,0x4c,0x47,0xf4,0x6e,0xe7,0x2b,0x1a,0x2d,0x11,0x6f,0xe1,0x09,0x8e, - 0x77,0x96,0xe6,0xa2,0x6f,0x34,0x6b,0x7d,0xbc,0x88,0xbb,0xf8,0x9b,0x52,0xdb,0x68, - 0xaa,0x16,0x17,0xc5,0xf3,0xd9,0xd2,0xac,0xa7,0x88,0x6e,0x93,0x1d,0xba,0xd5,0x5b, - 0x25,0x8e,0xe4,0x3b,0x5b,0x5b,0xb6,0xed,0x1c,0x9f,0x53,0x02,0xe5,0xe3,0x4d,0x58, - 0xb4,0x75,0xb4,0xf9,0xf4,0x59,0x78,0xbc,0x75,0x9e,0x94,0x05,0x9c,0x2a,0xf8,0x3c, - 0xdc,0x0c,0x3b,0x21,0x1f,0x24,0x87,0x49,0xf8,0x14,0xcf,0xc3,0x19,0x1e,0x9f,0xe1, - 0xf1,0x1c,0x8f,0x0f,0xc3,0x87,0xf4,0xf8,0x8f,0xcb,0x09,0xbd,0xdc,0x1e,0x9d,0x1e, - 0xdf,0x56,0xcb,0xae,0xd1,0xef,0x93,0x40,0x19,0xcf,0x79,0xf4,0xf0,0x0e,0x34,0xad, - 0x9f,0xe1,0x19,0x0e,0x49,0xcf,0x67,0x44,0x30,0x09,0x8a,0x54,0x41,0xe7,0x48,0x21, - 0x8c,0xe3,0xee,0x06,0xf4,0x02,0x8c,0x25,0x16,0x72,0x65,0x54,0x82,0x11,0x29,0x27, - 0xb7,0x58,0x62,0x4d,0x2b,0x67,0x24,0x94,0xc7,0x7e,0x00,0xe0,0x9e,0x6c,0x7e,0x3b, - 0x55,0x10,0x14,0x5d,0x6d,0x35,0x81,0xfb,0x05,0x93,0x62,0x27,0xc4,0xc1,0x84,0x81, - 0x29,0x3c,0xf2,0xec,0x31,0x48,0x98,0x48,0x1e,0x96,0x50,0x3b,0x66,0x1b,0x1c,0xd7, - 0xe7,0xd2,0xdd,0x45,0x98,0x44,0xcb,0x05,0xc5,0x8d,0x50,0x76,0x1b,0x25,0x79,0xb1, - 0x56,0x81,0x43,0xfd,0x44,0xf4,0x6a,0xf9,0x8d,0xaa,0xe7,0xb3,0xbf,0x66,0x79,0x64, - 0x58,0x7c,0x76,0x9d,0x16,0x04,0x79,0xbd,0x58,0xd0,0x10,0x1d,0xa5,0x5b,0x7f,0x8f, - 0xae,0xf6,0x3e,0xf4,0x1b,0x1f,0x5a,0xfa,0x27,0xda,0xeb,0xf0,0x6f,0xbc,0x17,0x6f, - 0xb5,0xb2,0x9b,0xec,0x34,0x3a,0xbb,0x8e,0x0d,0x1b,0xd3,0xd1,0xde,0xe8,0x68,0xfb, - 0xb8,0x13,0x71,0xfe,0xcb,0xf1,0xa7,0x31,0x1c,0xca,0x43,0x9f,0x87,0x7d,0x91,0xb0, - 0x7f,0xab,0x49,0x42,0x48,0xd4,0x5c,0x7c,0x43,0xd9,0xe1,0xe1,0x10,0xd9,0xe3,0xa2, - 0x91,0x86,0x48,0x0f,0xbb,0x41,0xe5,0xdf,0xd6,0x56,0xf0,0xf6,0xf0,0xf9,0xc7,0xfd, - 0x5f,0x9e,0xbf,0xa1,0xb9,0xf4,0xe3,0xe1,0xf3,0x9f,0xd3,0x93,0x6c,0xd6,0x03,0xe0, - 0x06,0xdf,0x9b,0x60,0x74,0x48,0xaa,0xc5,0x87,0x0f,0x40,0x28,0x98,0x7a,0x01,0xde, - 0xf9,0x36,0x8d,0x1e,0x1a,0x24,0x84,0x80,0x4f,0x21,0x36,0x4c,0x57,0xa7,0x9a,0x93, - 0x8b,0xc3,0x61,0x7f,0xaf,0x20,0x26,0x46,0x61,0x43,0xdf,0x1b,0x61,0x1c,0x76,0x0a, - 0x87,0x6f,0xa4,0xc3,0x88,0xe0,0xa9,0x35,0x21,0xd5,0x7b,0x41,0xbc,0xc3,0x4f,0x8a, - 0x3f,0x8b,0xc5,0xfc,0x56,0xfa,0x19,0xde,0x68,0x56,0x20,0xc5,0x46,0x6c,0x1f,0x21, - 0xb8,0x35,0xd9,0x03,0x58,0xd8,0x05,0x59,0x83,0xb7,0x07,0x01,0x7f,0x28,0xa0,0xe1, - 0xa0,0x35,0xea,0x97,0x43,0x32,0xaf,0x78,0xfe,0xee,0x55,0xf0,0xf3,0xcb,0xc3,0x22, - 0xe8,0xd1,0x4d,0x27,0xf6,0x84,0x55,0x80,0x85,0x05,0xf0,0x02,0x97,0x5e,0xcf,0xdf, - 0xdc,0x34,0x12,0xf2,0xf3,0x13,0x6a,0xc6,0x7d,0xe9,0xe9,0xc3,0x2c,0x37,0x8d,0x49, - 0xbe,0x71,0x52,0x1c,0xf8,0x7a,0x5f,0xa9,0x0b,0x30,0x12,0xb8,0xe7,0xee,0x0d,0x53, - 0x82,0x32,0x8f,0xdd,0x8d,0xfa,0xc9,0x03,0x10,0x3d,0xe0,0x88,0x68,0xb6,0xa8,0x96, - 0xcf,0x7d,0x49,0xa5,0xa6,0x8c,0x8e,0x6d,0x2a,0x3c,0x69,0xc1,0xbd,0x93,0xc5,0x42, - 0x34,0x81,0xfa,0xdc,0x58,0x22,0xd2,0x18,0x7b,0xd4,0xde,0x8e,0xe7,0xe8,0xc0,0xaf, - 0x11,0x19,0x8a,0x88,0x9a,0x5d,0xe0,0x7e,0x1a,0x08,0x7e,0x99,0xe7,0x34,0x03,0x87, - 0x58,0x21,0xc3,0xb8,0x2c,0x21,0x6f,0xfd,0x59,0x80,0x1e,0xe2,0x24,0x15,0x65,0x51, - 0x2b,0xe6,0xc9,0xa7,0x78,0x09,0xc5,0xe5,0x18,0x96,0xeb,0x6c,0x6f,0x83,0xe9,0xeb, - 0x33,0x9f,0x7c,0xeb,0xa9,0x39,0x46,0x98,0x22,0x47,0xab,0xdd,0xfa,0x44,0xff,0x29, - 0xa8,0x1f,0x00,0xf7,0xe6,0xa6,0xd2,0xfe,0x20,0x4d,0x29,0xc0,0xaa,0xe1,0x71,0x96, - 0xda,0xd2,0xfe,0x6c,0x65,0xf8,0x5d,0x2c,0xa2,0x90,0x9b,0x31,0x6c,0x68,0x16,0x9a, - 0x7b,0x32,0xad,0xb9,0xa6,0x51,0x0a,0x1d,0x56,0x91,0xa8,0xf1,0xa7,0xfc,0xd2,0x3b, - 0x69,0xbc,0xe8,0x8d,0xfe,0x1a,0x5e,0x64,0x15,0xfe,0xfe,0x49,0xcf,0xe0,0xb7,0x3b, - 0x7e,0xa7,0x93,0x62,0x26,0x4c,0x47,0x58,0x3f,0x9d,0x85,0x6d,0xf7,0x9c,0x8f,0x32, - 0xda,0xf0,0xf4,0x3b,0x21,0x59,0xb8,0x1c,0x86,0x89,0xc4,0x5b,0x2b,0x3a,0xf3,0xd0, - 0x4c,0x55,0xcd,0xc3,0xcf,0x53,0xcc,0x1d,0x70,0xd1,0x64,0x9c,0x34,0x6f,0x81,0xcb, - 0xe1,0x2d,0x23,0xec,0xfc,0xe7,0xc1,0xdb,0x37,0xad,0x82,0x97,0x00,0x8a,0xde,0x1f, - 0x71,0x21,0xce,0x84,0x3d,0xfa,0xf4,0x3e,0xfb,0xc7,0xab,0xbe,0xce,0x1f,0x3d,0x66, - 0xc7,0xef,0xa4,0xb6,0xfb,0x9e,0x97,0xc9,0xe8,0x7b,0x19,0xf6,0xa6,0x9f,0x9e,0xe6, - 0x9f,0xa7,0xb3,0xc9,0xe6,0xa6,0xfc,0x62,0xba,0x7e,0xcf,0xbe,0xf2,0xfe,0xca,0x77, - 0x89,0xe2,0xfa,0xe4,0xa8,0x17,0x77,0x65,0xc0,0x9f,0x11,0x93,0x79,0x21,0x48,0xdb, - 0xdd,0xc1,0xd3,0xef,0xbb,0x83,0x46,0x23,0xee,0x1d,0x0d,0x8e,0xd3,0xdf,0xa8,0xae, - 0x2d,0x3e,0xb2,0x88,0xf8,0x31,0xe7,0xec,0x51,0xfc,0x2d,0x5d,0xe3,0xa0,0xcc,0x2b, - 0x16,0xee,0x51,0x6f,0x2a,0xcb,0x76,0xcf,0xae,0x64,0x27,0xf1,0x5c,0xc0,0xe9,0xf1, - 0xe9,0xf6,0x93,0xbd,0xb0,0x4d,0xdc,0xa1,0x59,0x95,0x5c,0x62,0x4c,0xcc,0x52,0xb8, - 0x0d,0x94,0xd4,0x57,0x10,0xd5,0x23,0xa2,0x6f,0xde,0xc4,0x40,0xbd,0xec,0xa7,0xac, - 0x07,0xa1,0xa4,0x00,0x57,0x48,0x74,0x78,0x78,0xa4,0x07,0x8d,0xc7,0xb4,0xfd,0xa0, - 0x4a,0xbc,0xec,0x55,0xfb,0x6f,0x36,0x24,0xb0,0x6c,0x58,0x59,0xa1,0x65,0x15,0x8c, - 0x44,0xac,0x4e,0x1e,0x44,0x94,0x04,0xb1,0x6c,0xf3,0x0d,0x1f,0xe6,0x46,0x04,0x0b, - 0x84,0x45,0xc6,0xc9,0x71,0x0c,0x0a,0xcc,0x1c,0x0c,0x1e,0x90,0x4c,0x94,0xf7,0x59, - 0xa6,0x58,0xba,0x1c,0x26,0x8d,0x51,0x02,0xc5,0xe5,0xd3,0x3d,0x0a,0x8f,0xe8,0x6e, - 0xd0,0x82,0xf8,0x89,0xf2,0x50,0xab,0xb0,0xe5,0xba,0x83,0x5b,0x51,0xb3,0x75,0x15, - 0xa3,0x94,0x25,0x69,0x36,0x46,0x55,0x94,0x69,0xae,0x75,0x82,0xcb,0x3d,0xb7,0x0c, - 0xda,0xa1,0xbc,0x16,0x33,0x05,0x42,0x5a,0x8a,0xcc,0x7b,0x24,0x35,0x3f,0xd9,0x75, - 0x31,0x3a,0xa7,0xfa,0x6b,0x1b,0xc4,0x59,0xd2,0x2b,0x58,0x37,0xf6,0x82,0xf0,0x7f, - 0xd8,0x1a,0x20,0xdc,0xe8,0xdc,0x17,0x67,0x2b,0x94,0xe6,0x46,0x03,0xbb,0x5e,0xf5, - 0xe3,0xb5,0x9c,0x76,0xf6,0x02,0xd2,0x11,0x90,0x2c,0x7b,0x0d,0x5d,0x31,0x86,0x03, - 0xd2,0x56,0xa7,0xc4,0xab,0xbf,0xc0,0x2d,0xac,0x71,0xae,0x72,0x54,0x71,0xba,0x8a, - 0x46,0xe8,0x52,0x56,0x81,0x8c,0xe5,0x47,0x45,0x4a,0x43,0x95,0x1c,0xa7,0xc5,0xbe, - 0xe0,0x0a,0x52,0x64,0xb4,0x50,0x7e,0x4a,0x94,0x3d,0x8f,0x2b,0x8a,0xe1,0x68,0x70, - 0x1d,0x05,0xf8,0xae,0x24,0x18,0xd8,0x18,0xbf,0x75,0x44,0x20,0x7d,0x15,0x15,0xca, - 0xbe,0xdd,0xf5,0x00,0xc5,0x6c,0x7a,0x07,0x84,0x77,0x96,0xb9,0x1e,0xd8,0x89,0x76, - 0x17,0x3b,0xfd,0x2b,0xfc,0x92,0xd8,0x77,0x85,0x89,0xb5,0x79,0x29,0x8e,0x9c,0xc5, - 0x30,0x8c,0xb2,0x59,0xf7,0xcd,0x94,0xc8,0x79,0x5f,0x3f,0x7f,0xd3,0x0a,0xb5,0x70, - 0x1b,0xec,0xc7,0x2f,0x9c,0x43,0xff,0xa0,0x40,0x09,0x6e,0x83,0xe2,0x8b,0x6a,0x24, - 0x20,0xc5,0xe1,0xc4,0x58,0xf0,0x91,0x88,0x0b,0x6c,0x85,0x74,0x1d,0x66,0x13,0xec, - 0x80,0xea,0x97,0xff,0x72,0xf8,0x1b,0xed,0x8a,0x25,0x5e,0xc2,0x1a,0xe7,0xd9,0x8a, - 0xc4,0x75,0x18,0x1d,0xb7,0x54,0xcd,0x53,0x59,0xfb,0x8d,0x3f,0xf2,0x5b,0x67,0x16, - 0xc6,0xd6,0x1d,0x93,0x2f,0xd6,0xc1,0x70,0x8b,0xfe,0x6e,0x99,0x0b,0x10,0xfe,0x0a, - 0x0f,0xd9,0x8d,0x5a,0x0a,0x7b,0xf2,0xb4,0xe0,0x9f,0x2e,0xbd,0xca,0xd6,0x9c,0x12, - 0xf0,0xd0,0xb5,0x5d,0x35,0x7d,0xf0,0x80,0x80,0xe8,0xa1,0x5b,0x0e,0x1c,0x4e,0x22, - 0xa2,0xba,0x40,0x53,0xcc,0xe0,0x0e,0xe0,0x10,0x26,0x2f,0x90,0xac,0xf0,0x69,0x66, - 0x5e,0x3e,0xca,0x37,0x64,0xd4,0x24,0x32,0xe4,0x48,0x2b,0x00,0x34,0x83,0x7d,0x34, - 0x27,0x5a,0x8b,0xc5,0xe3,0x47,0xdb,0xc2,0x02,0xff,0x20,0x74,0xfd,0x18,0x77,0x08, - 0xc0,0x20,0xaf,0x4e,0x5b,0xa0,0x87,0xdf,0x3e,0x4e,0xf1,0x8a,0x8f,0xcb,0xd3,0x2f, - 0x03,0x69,0xea,0xc7,0x42,0x93,0x41,0xb7,0xa3,0x60,0x00,0x9c,0xa4,0x7c,0x54,0x68, - 0x20,0x74,0x67,0x19,0x00,0x49,0xca,0xc7,0x89,0x49,0x02,0x90,0xe4,0x3b,0x80,0xda, - 0xb0,0x82,0xa6,0xc0,0x7b,0xd7,0xac,0x36,0x69,0x81,0x9f,0xde,0xc9,0x80,0x74,0xf8, - 0x83,0x8c,0xa4,0xea,0x36,0x67,0x14,0x85,0x43,0x6a,0x5b,0x64,0x8f,0x97,0x7b,0xaa, - 0x6d,0x54,0xb4,0xd8,0xcf,0x4e,0xf6,0x11,0x20,0x94,0x81,0x0a,0x86,0x93,0xc7,0x51, - 0x99,0xd0,0x4e,0x96,0x92,0xfc,0x3c,0xed,0xb8,0xd3,0xc6,0xc4,0x48,0xc8,0xb8,0x35, - 0x46,0xfd,0xe2,0x59,0x3b,0x26,0x2f,0xd3,0x1f,0x7f,0x7b,0xfe,0xb7,0xd4,0x26,0x32, - 0x2d,0xd8,0x2a,0x99,0x9d,0x52,0x57,0x77,0x0a,0x94,0xc2,0xbf,0x1f,0x69,0xbe,0xca, - 0xf4,0x0b,0x9f,0x0e,0x15,0xfc,0xa3,0x49,0xb8,0xfa,0xc0,0xc0,0xf8,0x45,0x22,0x8b, - 0xde,0x3f,0xe2,0x6d,0x9f,0xf0,0x47,0xe6,0x0b,0x17,0x66,0xe6,0x0e,0x09,0x2a,0xec, - 0x8e,0x39,0xc2,0x80,0x44,0x42,0xa0,0xfe,0x9d,0x43,0x05,0x46,0x88,0x61,0x1f,0x16, - 0x14,0x34,0x42,0x8a,0x63,0x1e,0x36,0xec,0xbe,0x4f,0x13,0xa4,0x44,0x99,0x85,0x4f, - 0x58,0x7a,0xd0,0x18,0xc3,0x71,0xf7,0xa4,0x46,0x7b,0x20,0xf3,0x9a,0x72,0x6b,0xd2, - 0xe7,0x6d,0xb3,0xd8,0x24,0xc4,0xf3,0x13,0x6f,0x7a,0x79,0x79,0xf8,0xfb,0xbb,0x10, - 0x68,0x9c,0xb9,0x51,0xc1,0x6f,0x21,0xdc,0xf9,0x79,0x68,0xe6,0x0a,0x6f,0xa5,0x32, - 0x1a,0xbb,0x78,0xf5,0xe4,0xea,0x4a,0x5d,0x56,0xe2,0xab,0x74,0x14,0x3b,0x15,0x18, - 0x05,0x56,0xb8,0xbc,0x91,0x50,0x25,0x86,0x55,0x71,0xdd,0xde,0xc6,0x9d,0xea,0x6b, - 0xcd,0x26,0x61,0x2a,0x53,0x88,0x01,0x4a,0xa7,0xfa,0xb4,0x58,0x1c,0x1d,0x0b,0x7b, - 0x66,0x4b,0xfc,0xa9,0x9a,0x61,0xdc,0x96,0x9b,0xd9,0x07,0xe5,0xd4,0xe3,0x6c,0x8c, - 0x04,0x60,0xae,0x2e,0xe3,0x91,0x70,0xbb,0x44,0x7b,0x26,0x5b,0x95,0xac,0x65,0x6e, - 0x56,0xd2,0x26,0xc5,0xec,0x9f,0xe6,0xab,0x3a,0x44,0x58,0xb1,0x33,0x3e,0xeb,0x0d, - 0x10,0x94,0xa5,0xc9,0xb1,0x3b,0x3f,0xc3,0x63,0x50,0xb7,0xb2,0x17,0x64,0xcf,0xd6, - 0x3b,0x6d,0xa8,0x89,0xfc,0x0d,0x08,0xe8,0x8c,0xae,0xe2,0xf9,0x51,0xf8,0x17,0x0d, - 0xd8,0x9c,0xe0,0x51,0x14,0x77,0x78,0x16,0x57,0xf4,0xc7,0xcb,0x62,0xd6,0xa0,0x4f, - 0xb4,0xe1,0x6f,0x7d,0xab,0x52,0x41,0xdf,0x10,0xe6,0x35,0x5d,0xaf,0xd4,0x04,0x61, - 0x5b,0x52,0x03,0x47,0x02,0x84,0x48,0x22,0x5d,0xd1,0x01,0xe4,0x59,0xb3,0x97,0x8f, - 0x70,0x19,0xf9,0x33,0xaf,0x6c,0xf4,0x3d,0xe0,0xf5,0x04,0x67,0x14,0xb2,0xd8,0xd1, - 0x58,0xc7,0x42,0x8a,0x47,0x0e,0x08,0x8c,0x75,0x71,0xe3,0x72,0x8a,0xe1,0x8c,0xd3, - 0xe2,0x1f,0x61,0xd5,0xe1,0xd4,0x5e,0x5b,0x49,0x5a,0x2c,0xb2,0x5c,0x88,0xa5,0xf3, - 0x56,0xa2,0x3d,0xc7,0xa8,0xdd,0x4b,0x9c,0x77,0x82,0xca,0x6c,0x4c,0xa3,0x4f,0xe3, - 0x2a,0x27,0xb6,0x1d,0xaf,0x20,0x7b,0x5e,0x2d,0x9d,0x8c,0x9a,0x81,0x39,0x1b,0xa7, - 0x16,0x2b,0xbd,0x51,0xdd,0xa0,0x22,0xd2,0x20,0xf7,0x29,0xf4,0x47,0x5d,0x0b,0x41, - 0xfb,0x51,0xaf,0xd1,0x31,0xd5,0xc8,0x56,0x5d,0x06,0x83,0x10,0xfb,0x35,0xfb,0xc4, - 0x8d,0xba,0x8d,0xe2,0x5c,0x17,0x85,0x8e,0x25,0x06,0x22,0x7c,0xdc,0x62,0x53,0xc6, - 0x5b,0x6a,0xdd,0x8d,0x65,0x0d,0x81,0xbf,0xd1,0xf7,0x77,0xe3,0x3a,0x3e,0x8b,0x8e, - 0x6e,0xa2,0x93,0x3f,0x3b,0x7f,0xde,0xd6,0x61,0xbb,0x21,0x36,0x3a,0x9c,0x61,0x95, - 0x1a,0x8f,0xc7,0x9b,0x16,0xd4,0x0f,0xd4,0x9d,0xe3,0xb9,0x0e,0x38,0x97,0x71,0x2e, - 0xad,0x60,0x99,0x1d,0x7b,0x66,0xb4,0xae,0x63,0xf1,0x4d,0xab,0x54,0x04,0x84,0x80, - 0xd1,0xd1,0x05,0xb9,0xbd,0x66,0xce,0xa9,0xa1,0xd2,0xc1,0xbe,0x66,0xd4,0x72,0x29, - 0xa1,0x51,0x0b,0xd8,0x5e,0x69,0xad,0x24,0xe7,0xac,0x1f,0xd0,0x96,0x46,0x1a,0x35, - 0xf5,0xd2,0x0c,0x66,0xf9,0xa0,0x04,0x54,0xfa,0x75,0x1d,0xc9,0x8e,0x06,0x80,0x4e, - 0x0a,0x68,0x9f,0x1e,0x7d,0x8a,0xe7,0x18,0x63,0xb4,0xa7,0x0e,0x7a,0xc1,0xff,0xa6, - 0xc9,0xe3,0x7f,0xf3,0x66,0x67,0x26,0xf2,0xaa,0xba,0xe8,0x16,0xcf,0xcc,0xd2,0x4f, - 0x12,0x51,0xc6,0x50,0xd9,0x84,0x42,0xb6,0x1f,0xa9,0xbc,0x24,0xa3,0x24,0x4f,0x4f, - 0x45,0x72,0x48,0xfe,0x41,0x4f,0x90,0xb9,0x48,0xb3,0xc6,0xcb,0x34,0x9f,0x25,0x5c, - 0x53,0x22,0x44,0x19,0x6e,0xd0,0x68,0x94,0x7e,0x6a,0x8d,0x98,0xc8,0xad,0xbf,0x03, - 0x34,0x3a,0xda,0x6e,0xfe,0x70,0x1c,0x7f,0x68,0x45,0x1f,0xae,0x1b,0xf1,0x37,0x5b, - 0x71,0x2c,0x9a,0xf6,0x22,0x8d,0xfe,0xd1,0x02,0x12,0x9e,0x9c,0xe3,0xa3,0x06,0xd4, - 0x95,0xcd,0xed,0x63,0x56,0xda,0x01,0xe0,0x2a,0x2d,0x8e,0x46,0x47,0x3b,0xc7,0xc7, - 0xe6,0x2c,0x90,0x12,0x52,0x9c,0x2c,0xec,0x85,0x61,0xc7,0xec,0xfe,0xaf,0xa8,0xee, - 0x72,0xf5,0x15,0x55,0xde,0xc0,0x95,0x6f,0x09,0x01,0xd1,0x29,0x7b,0x2f,0x5e,0xbb, - 0xf8,0xe0,0x87,0x69,0xb0,0x20,0xe5,0x87,0x8f,0xf8,0x20,0x12,0x80,0xcd,0xa1,0x31, - 0x0c,0x6a,0x33,0x50,0xba,0x0b,0xef,0x3a,0xeb,0xaf,0xcd,0x63,0xbe,0xed,0xe1,0x8a, - 0x61,0x07,0x56,0x57,0x9a,0x1d,0x2e,0xe6,0x3b,0xae,0xa6,0x3f,0x6f,0x51,0x62,0xdc, - 0x95,0xcf,0x80,0xf7,0x3f,0x53,0x62,0x6c,0xb2,0xcf,0x6e,0x96,0x3f,0xcf,0x6e,0x4c, - 0xe6,0xde,0xd9,0xf2,0xc7,0xde,0x99,0x66,0x55,0xaf,0x91,0x4b,0x20,0xe6,0x83,0x41, - 0x32,0x5b,0x05,0x66,0x3e,0x28,0x3a,0x78,0x45,0xb4,0x35,0xa7,0xb7,0x6a,0x5d,0x01, - 0xe1,0xba,0x23,0xb4,0xa0,0x92,0xb0,0xcc,0x19,0xeb,0x04,0xd0,0xcf,0x82,0xc4,0x8f, - 0x6b,0xb2,0xa9,0xdb,0x31,0xcd,0x80,0x97,0x7d,0x1e,0x24,0x97,0x59,0x94,0x2b,0xc1, - 0x55,0xef,0x7c,0x16,0x75,0x25,0x75,0x09,0xb7,0xeb,0xe9,0x58,0xf3,0x44,0x32,0x64, - 0x5a,0xe6,0x23,0xba,0x72,0x0c,0x08,0x74,0x2a,0xd9,0x3c,0x7b,0xd9,0x55,0x79,0xeb, - 0xb3,0xb4,0x0e,0x91,0xc2,0x2e,0x16,0xdb,0x8f,0x95,0x70,0xdf,0x13,0xef,0x5a,0x4a, - 0x00,0xf5,0x71,0x1d,0x35,0x00,0xb8,0x37,0x45,0x8a,0x70,0x99,0x2a,0xf5,0x62,0x65, - 0x39,0x29,0x09,0xcb,0x4c,0x54,0xcf,0x34,0x35,0x3d,0x97,0x3f,0x61,0x1f,0xa6,0x48, - 0x7d,0x37,0x3c,0x6b,0xb2,0x7c,0x14,0x08,0x3f,0xa7,0xf5,0x7f,0xb3,0x2e,0xaf,0xc2, - 0x68,0xee,0xaa,0x27,0x19,0x5b,0x23,0xa4,0x7e,0x94,0x54,0x81,0xf3,0x3d,0x63,0x2d, - 0x17,0x21,0x00,0x1f,0x15,0xc0,0xa5,0xee,0x8e,0xdc,0x4a,0xe0,0x0a,0x1c,0xba,0xc0, - 0x6b,0x36,0x9d,0x91,0x2a,0xd7,0xb7,0x14,0xe1,0x35,0xbf,0xca,0x28,0x54,0x65,0x9e, - 0xfd,0x88,0x37,0xfb,0xcd,0x5e,0xaa,0xb0,0x10,0x36,0x4d,0x8a,0xf0,0x2e,0xb1,0xf8, - 0x84,0x5f,0xb7,0xe4,0xfb,0x47,0xf3,0x9d,0xba,0x89,0x12,0xed,0x78,0x76,0xd1,0x6c, - 0xff,0xd0,0x94,0xa5,0xce,0xe2,0x38,0x43,0xb1,0xe0,0x92,0x20,0x34,0x5b,0x17,0x22, - 0xf6,0x3b,0x5e,0xab,0x08,0x44,0x54,0xb1,0x00,0x26,0xc1,0x9f,0xa1,0x1c,0x8f,0x07, - 0x16,0x5a,0x53,0xea,0xa9,0x83,0x9b,0x01,0x0b,0x8b,0xb7,0x7a,0xb4,0xb3,0x1b,0x0b, - 0x45,0x2f,0x95,0x2f,0x79,0xe5,0x0b,0xbd,0xd4,0x17,0xb3,0xb2,0x97,0x50,0x6d,0xdd, - 0x8e,0xe1,0x5d,0x9f,0xb6,0xb8,0x6d,0x5a,0x2d,0x85,0xf6,0xf3,0xea,0xb2,0x2c,0xcc, - 0xc7,0xfa,0x52,0x67,0x53,0x5b,0x1e,0xde,0xf4,0xa3,0xf5,0x98,0x62,0x3f,0xf3,0xbb, - 0x96,0xaf,0xae,0x46,0xec,0x77,0x79,0x17,0x04,0xf6,0xda,0xaf,0xfd,0xac,0x49,0x82, - 0xc1,0xbb,0x6f,0xeb,0x53,0x6e,0xc1,0x3f,0x0a,0x80,0x92,0xcd,0xd7,0x5f,0x2d,0x52, - 0xbc,0xfa,0xdc,0xf1,0x2f,0xb0,0xba,0xd0,0x1f,0xcb,0x0f,0xd8,0x96,0xd9,0xa1,0x58, - 0x3d,0xcf,0x1f,0x42,0x3e,0xcb,0x86,0x66,0x87,0x38,0xd4,0x43,0x6e,0x7b,0x1b,0x37, - 0x36,0x28,0xe9,0x1b,0xa7,0x79,0x43,0xc1,0x7e,0x65,0xf1,0xcd,0x41,0x4e,0x75,0x79, - 0x09,0xe4,0xc9,0xd5,0x1a,0xf4,0x16,0x6f,0x1a,0x5d,0xd1,0x27,0x20,0xd7,0x33,0x1d, - 0xc5,0x9a,0x5e,0x55,0xf1,0x6a,0x9c,0xa4,0xfd,0xd2,0xd0,0xe3,0x65,0x9f,0xe4,0xc8, - 0xe8,0x54,0xcc,0x3d,0xcc,0xb9,0x9c,0xbe,0x55,0x35,0xc8,0xd4,0xac,0x45,0xfa,0xf6, - 0x04,0x2e,0x5a,0xec,0x51,0x0f,0xb4,0x00,0xe4,0x33,0xe1,0x5d,0x8e,0xe0,0x77,0xc4, - 0x2a,0xe4,0x06,0x20,0x1f,0xff,0x28,0x52,0xa1,0xa3,0x48,0x2a,0x33,0x58,0xbc,0xb1, - 0xb9,0xe9,0x7e,0x3d,0xaa,0x7c,0x3d,0xa6,0x4d,0x76,0x21,0xf3,0x83,0x93,0x4c,0x99, - 0x1e,0xdc,0x81,0x7d,0x7a,0x2d,0xc8,0x35,0xbb,0x4d,0x3d,0x26,0xfe,0xa8,0xfd,0x10, - 0x55,0xd3,0xcd,0xed,0xc0,0xa1,0x99,0xf5,0x73,0xad,0xe5,0x8b,0x6e,0x6b,0x44,0xe3, - 0x7e,0x17,0x68,0xca,0xc0,0xf5,0x15,0xb6,0xa4,0x85,0xa1,0x1e,0x15,0x08,0x54,0xff, - 0x80,0xaa,0x9c,0xde,0x8f,0x97,0x7b,0x6b,0x58,0xd9,0xa9,0x63,0x24,0xb7,0x93,0x53, - 0x50,0x3d,0xc3,0xbf,0x8e,0x8f,0x0a,0x75,0x27,0x37,0x75,0x0f,0x79,0xcb,0x1d,0xd7, - 0x23,0x6d,0x45,0x5f,0x10,0xe5,0xd0,0x5d,0xcd,0x73,0xbb,0x21,0x3d,0x16,0x67,0xbf, - 0x85,0xc7,0xc3,0x9a,0x03,0x2a,0x6c,0x3c,0x64,0xbb,0xe2,0x55,0xeb,0xd3,0xb1,0xd8, - 0x69,0xa5,0x57,0x96,0x1c,0x4a,0x74,0x0e,0xd4,0xea,0x8f,0xbc,0x74,0x76,0xb0,0x47, - 0x8b,0x9f,0x88,0x81,0x54,0x50,0x65,0x80,0x77,0x6b,0xcf,0xf2,0xb8,0xc0,0x50,0xca, - 0x15,0xfd,0x10,0x10,0xc9,0x2b,0x81,0xf1,0x03,0xd1,0x40,0xe3,0x9b,0xd9,0xd6,0xcf, - 0x38,0x9e,0x5c,0xe5,0x8b,0xec,0x5e,0xeb,0x18,0x70,0x2a,0xd1,0x90,0x6a,0x59,0xe0, - 0x1e,0xad,0x9e,0x8d,0x56,0x56,0xcb,0xad,0x15,0x41,0x72,0xbd,0xca,0x69,0xc7,0x2b, - 0x0b,0x3c,0xbc,0x8d,0xb5,0x16,0xfa,0x91,0xa5,0xfa,0x78,0xee,0x13,0x69,0xbf,0xad, - 0x69,0xa4,0x6c,0x98,0x32,0x9d,0x1a,0x20,0xe6,0x61,0xe3,0x53,0xe3,0xa1,0x39,0xc3, - 0x02,0x81,0x25,0x83,0x1d,0x84,0x44,0x86,0x3d,0xd6,0xd5,0xd9,0xb0,0xff,0x1e,0x9f, - 0x52,0x06,0xd8,0x9f,0x90,0xfb,0xdf,0x28,0x4e,0xf8,0xe5,0x05,0x37,0xfa,0x83,0x53, - 0xa4,0xbd,0xfc,0x47,0xe4,0x80,0x27,0xa6,0x1f,0x18,0x42,0x6d,0x5f,0x00,0x39,0x2b, - 0xb9,0xb6,0xae,0xa9,0x6d,0x91,0xb1,0xe1,0x93,0xa4,0x38,0x4d,0x2e,0xc5,0xa5,0x0e, - 0x29,0x6e,0x0f,0x70,0x00,0xbd,0x49,0x0a,0x7b,0x26,0x97,0xdf,0xee,0xa7,0xfb,0xb1, - 0x1b,0xa0,0xf7,0x60,0x38,0xc0,0x2c,0xbf,0xc9,0xdc,0x94,0x88,0xbe,0x78,0x4f,0x89, - 0x7c,0xe5,0x01,0xc9,0xce,0xca,0xe4,0x6e,0xe7,0xd4,0x42,0x04,0xc9,0x1f,0x8d,0x20, - 0x69,0x16,0x24,0x59,0x3e,0x41,0x95,0xb8,0x0f,0x4f,0xcd,0xf9,0xbd,0x01,0xe6,0xb4, - 0x18,0x07,0x13,0xea,0x45,0xda,0x03,0xd0,0x64,0xc0,0x30,0x9b,0x39,0xc7,0xb3,0x74, - 0x7b,0x73,0x93,0x9f,0x9e,0xa6,0xdb,0x6d,0x2d,0x8a,0x13,0x82,0xb0,0xc1,0xbf,0x8d, - 0x28,0x2a,0x51,0xa6,0xe9,0xf6,0x93,0xc5,0xa2,0xf2,0xba,0xbb,0x13,0xef,0x85,0x81, - 0x26,0x50,0x16,0x7d,0xec,0xb0,0x2d,0x83,0x23,0xb8,0x28,0x25,0x39,0xed,0x51,0x48, - 0x67,0xf2,0xe4,0xf1,0x93,0x9d,0xc7,0x71,0x23,0xa4,0x4c,0xee,0x77,0x76,0xb1,0x2c, - 0x20,0x70,0xa9,0xec,0xaa,0x88,0xe1,0x5c,0x8d,0xb9,0xa9,0x76,0x49,0x86,0x4b,0x7e, - 0x3b,0x99,0x64,0xb4,0x54,0x22,0xfc,0xf2,0x00,0x38,0x11,0x9f,0xe5,0xf0,0xda,0xc0, - 0x2f,0x16,0x0f,0xf8,0x43,0x29,0x05,0x98,0xf4,0x52,0xe4,0x78,0xe0,0xb5,0x8e,0xb4, - 0xc8,0x78,0x55,0x6b,0x74,0xf1,0xa4,0xb3,0xc3,0x98,0xb9,0x3d,0x06,0xa7,0xf7,0x4c, - 0x95,0xc7,0x71,0x47,0x5d,0x94,0x77,0x37,0x3c,0x0a,0x95,0x95,0x20,0xd2,0x60,0x70, - 0x19,0xe5,0x35,0x8b,0x9f,0x8a,0xd6,0xd9,0xf3,0x12,0x3b,0x60,0xa7,0x57,0x4e,0x7e, - 0x53,0x5f,0x82,0xdf,0x54,0x4b,0x19,0xb9,0xa1,0xdc,0xbc,0x6b,0x9a,0xd1,0x1d,0x0c, - 0xbc,0xfa,0xb9,0x4d,0x5b,0xfd,0x3c,0xa2,0x4b,0xc1,0xf7,0x6e,0x60,0x6d,0x9c,0xb5, - 0x0d,0xad,0x54,0x4a,0x83,0x09,0xcf,0x53,0xc9,0x90,0xa6,0xda,0x06,0x76,0xf0,0xdc, - 0xd9,0x16,0x72,0x36,0x56,0x75,0x7b,0xbe,0xe6,0x34,0x55,0x20,0x62,0x9b,0xc7,0x73, - 0x13,0xbf,0x26,0xaf,0x66,0x05,0xd9,0x55,0xdf,0x5f,0xdc,0x6d,0x75,0x8a,0x00,0xa7, - 0xf0,0x45,0x80,0xc9,0xa4,0x64,0x4d,0x13,0xf3,0x88,0x5b,0xdf,0x92,0xb0,0x1f,0xf1, - 0xe6,0x00,0xa5,0x17,0x47,0x41,0xed,0x70,0xdd,0x98,0xbf,0x65,0x4a,0xcd,0x85,0x34, - 0x2d,0xc7,0x73,0xa2,0x8f,0x61,0x27,0x10,0x2a,0xaf,0xdb,0xa6,0x11,0x99,0x03,0x1d, - 0x60,0x73,0x93,0x93,0x2b,0xd2,0x87,0x83,0xa3,0xba,0xf8,0x20,0xe5,0x5f,0x5a,0x7e, - 0xfa,0x95,0x95,0x47,0x7a,0x1d,0xfe,0xf0,0xea,0x13,0x55,0x4b,0x4b,0x98,0x94,0x44, - 0x88,0xae,0x34,0x64,0x9d,0x05,0x84,0x4e,0x26,0x30,0xed,0x21,0x0f,0x6d,0x9d,0xe5, - 0xd8,0x15,0xc6,0x1f,0x7b,0x35,0x70,0xc5,0xf0,0x33,0xdb,0xed,0x94,0x2d,0x18,0xee, - 0x5f,0xd2,0x62,0x37,0xd2,0x2c,0x5b,0x45,0xc5,0x6f,0x7d,0x11,0x90,0xc0,0x17,0xf0, - 0xf1,0x09,0x3c,0x47,0x8e,0xe8,0x18,0x8a,0xd4,0x04,0xd9,0xf0,0x33,0x7c,0x61,0x50, - 0x0e,0xf8,0xd0,0xa6,0x0f,0x1c,0x33,0x56,0x5d,0x57,0x00,0x79,0xf8,0x1a,0x8d,0x69, - 0x82,0x20,0x04,0x83,0x02,0xc8,0x7b,0xc3,0xd3,0xcb,0x21,0x7b,0xd5,0x25,0xde,0xb9, - 0x11,0xc2,0x25,0x60,0xa2,0x0d,0xa1,0x28,0x27,0x5b,0x50,0x9d,0xf4,0x5b,0xee,0xae, - 0xb0,0x2a,0x44,0xc8,0xa8,0x9d,0xa6,0xa4,0x05,0x87,0x61,0x57,0x29,0x1c,0xac,0xb2, - 0xe9,0x9a,0x1e,0x55,0x24,0x2a,0x82,0x4b,0x75,0xbe,0xbc,0xb5,0x0b,0xc8,0xb4,0x85, - 0x38,0x87,0x8d,0x30,0xa1,0xce,0xd6,0x3a,0xb9,0x36,0x0f,0xc5,0x99,0x79,0x38,0xcd, - 0x97,0xd6,0x08,0xd9,0xeb,0x45,0x43,0x6b,0xd5,0xaf,0xd3,0x09,0x2e,0x03,0xa4,0x0d, - 0xd8,0xe3,0x56,0x6e,0x07,0xa0,0xf9,0x1d,0xe0,0xca,0x73,0x0b,0xcf,0x0c,0x95,0x72, - 0xe6,0x92,0x2a,0x7b,0x0a,0x2c,0x98,0x96,0x0c,0x42,0x4e,0x8d,0x1c,0x8c,0x5c,0xe8, - 0xc5,0x4e,0x91,0xba,0x4f,0x36,0xfb,0x00,0x51,0x4f,0xa6,0xa7,0x5d,0xd3,0xd7,0xc1, - 0x3f,0x95,0x6a,0xcc,0x73,0x79,0xd9,0x42,0xf6,0x0e,0x9a,0xc4,0xc6,0x24,0x16,0xcb, - 0xfa,0xfd,0x86,0x67,0x2e,0x35,0x67,0x0b,0x83,0x03,0x9c,0x62,0x50,0x87,0xb6,0x8e, - 0xde,0xe2,0xae,0xf3,0x41,0x43,0xfe,0xe3,0x20,0xd2,0x36,0xea,0xa7,0x55,0x6d,0x2a, - 0x9c,0xfe,0x94,0x56,0x37,0x00,0xc9,0x55,0x5a,0x1e,0xee,0x30,0x9d,0xa8,0xa4,0x88, - 0xf2,0xde,0xae,0xc0,0x3f,0x7b,0xd5,0xb1,0x6a,0xe6,0x40,0xb2,0x49,0x02,0x62,0xbe, - 0xd2,0x89,0xf3,0xa8,0xd6,0x19,0x7d,0xc1,0x07,0x6a,0x1f,0xfa,0xb6,0xb9,0x49,0x7f, - 0xdc,0x2b,0x13,0x04,0x83,0xf0,0xa2,0x21,0xcb,0x6c,0xc4,0xf8,0xd3,0x0b,0xc5,0x6c, - 0xa4,0x34,0x54,0xc9,0xca,0xfe,0x6b,0x8c,0x0f,0xf5,0x0c,0xcf,0xcd,0x94,0x9f,0xdf, - 0x99,0x47,0xd7,0x46,0x73,0x0e,0xe5,0x75,0xf9,0xf5,0xd5,0x56,0xfb,0x3c,0x3f,0x12, - 0xe2,0xba,0x05,0xe7,0x54,0xf5,0xdc,0x46,0x44,0x5f,0xca,0x1c,0x88,0x0d,0xcd,0x91, - 0x17,0x8c,0xee,0x38,0xb9,0x03,0xd2,0x8f,0x44,0xb7,0x6e,0xd2,0x35,0x6b,0xc0,0x83, - 0xa8,0xa4,0x66,0x73,0xb3,0x7c,0x6c,0x19,0x0c,0xa8,0xbb,0x3d,0xb2,0x2c,0x73,0xa1, - 0xd2,0xc5,0xe7,0xf1,0xe9,0x0b,0x81,0x36,0xc6,0x03,0x6c,0x8e,0xa1,0x22,0xa0,0x32, - 0xd3,0x76,0x27,0xbc,0x7b,0x5b,0x9a,0x6e,0xef,0xec,0x17,0x9a,0xa1,0x91,0xcf,0x1a, - 0xfc,0x6e,0x93,0xc1,0x6f,0x5a,0x5a,0x00,0xb1,0xe5,0xef,0xdc,0x48,0x1f,0xe8,0xf1, - 0x3f,0x61,0x49,0x2e,0xa2,0x6f,0xdc,0x11,0x91,0x0c,0xe2,0x6e,0x2d,0x90,0x1d,0x1d, - 0x80,0xb9,0x65,0xb2,0xdf,0x41,0xcd,0x4a,0x30,0x43,0x18,0x59,0xa2,0xf0,0x7a,0x15, - 0x94,0x33,0xe5,0x74,0x3d,0xdb,0x00,0x3b,0xfd,0x99,0x9d,0xbd,0x2b,0x2e,0xd5,0x72, - 0x67,0xbe,0x71,0xa4,0x87,0x21,0x61,0x52,0x3d,0x16,0xa9,0xb3,0x99,0x98,0x52,0x75, - 0x06,0x37,0x66,0xb4,0xe2,0x5c,0xc5,0x59,0xae,0x1f,0x36,0xe4,0x7b,0xe3,0x61,0x0b, - 0xdf,0x1c,0xc9,0xa7,0x16,0x4c,0x4f,0x5e,0x00,0x69,0x5b,0x34,0x52,0x73,0x15,0x08, - 0x2d,0x8b,0x45,0xf9,0x36,0xae,0xbc,0x68,0x67,0x5a,0x36,0x49,0xb7,0x8b,0x31,0x4d, - 0x20,0x89,0x2a,0x16,0xa0,0xf6,0xb3,0x33,0x48,0x3c,0x5f,0x56,0x03,0x88,0x15,0x90, - 0xa3,0x31,0xe0,0x2d,0x21,0x61,0x58,0x27,0x0d,0x7c,0xc2,0x85,0x53,0xcd,0x25,0x32, - 0x01,0x34,0x17,0x38,0x7d,0x8c,0xb5,0x23,0xd9,0x54,0xe7,0x08,0x6d,0xb1,0xd0,0x34, - 0xf7,0x40,0x2b,0xae,0x6d,0x27,0xbf,0xad,0xdd,0x5a,0x6b,0x51,0x7a,0x2b,0x80,0x7b, - 0x22,0x22,0xf0,0xc9,0x14,0xf6,0xc0,0x51,0x52,0x12,0x74,0x3a,0xed,0xe5,0x45,0xf6, - 0x13,0x5c,0x08,0x45,0xb6,0x6d,0x40,0xb6,0x6d,0x35,0xa8,0x48,0x1d,0x29,0x65,0x50, - 0x90,0x23,0xbf,0xc1,0x2c,0x8b,0xe8,0x18,0x75,0x73,0xb3,0x77,0xf6,0x2c,0x6d,0xef, - 0x85,0xff,0x3f,0x12,0xe7,0x8c,0xd5,0x3b,0xdd,0x55,0xec,0x47,0x08,0x71,0xb3,0x45, - 0x10,0x8d,0xed,0x38,0xde,0xa2,0x0d,0x62,0x23,0xfc,0x8f,0xa0,0x4f,0x41,0xb9,0x02, - 0x0e,0xca,0x15,0x76,0x44,0x3b,0xac,0xb6,0x33,0x35,0x36,0x29,0xb8,0x2d,0xe4,0x9b, - 0xa4,0xe8,0xd6,0x9a,0x2c,0x53,0x66,0x7c,0x85,0xaf,0x5b,0xa3,0x2d,0xb2,0x4a,0x35, - 0x52,0x80,0x12,0x24,0x2c,0x47,0xb1,0x9c,0x55,0xaf,0x73,0xc5,0x77,0x2f,0x77,0xf5, - 0x88,0x55,0x8b,0x78,0x0a,0xe0,0x57,0x63,0x32,0x53,0x25,0x46,0xf4,0xab,0xa8,0x91, - 0x6b,0xd0,0x4f,0x4a,0x75,0x77,0xec,0xa3,0x12,0xa5,0x42,0xcd,0x06,0x5f,0x35,0x7a, - 0x0e,0xb4,0x68,0x98,0x9c,0x61,0x53,0xfd,0xda,0x78,0x58,0x3f,0x91,0x4e,0x58,0xe3, - 0x34,0x21,0xd9,0xa1,0x54,0x35,0x4c,0x2a,0x34,0x61,0xb0,0xd8,0x11,0x52,0x45,0x68, - 0x81,0xe8,0xa9,0x9e,0x26,0x68,0xaf,0x7c,0xbd,0x97,0xa5,0x4b,0x21,0xee,0x45,0xd9, - 0x44,0xba,0x98,0x23,0xb9,0xd5,0x95,0x98,0x9f,0xab,0xae,0xd1,0x99,0xa3,0xef,0x5e, - 0x4b,0x51,0xdc,0x64,0xf5,0xb0,0xb5,0x0a,0x4a,0x55,0x4c,0x81,0x02,0x5f,0x90,0x27, - 0xb8,0xf2,0x72,0x99,0x1a,0x04,0x43,0x28,0x20,0x4b,0x13,0x1b,0xfe,0x5d,0x4c,0xcd, - 0x02,0x31,0xbb,0x63,0xd7,0x98,0x70,0x31,0x11,0x5c,0x4c,0xc6,0x34,0x81,0xb3,0xf0, - 0x44,0xfa,0xe1,0x96,0x89,0xf2,0xd6,0x12,0x67,0x86,0x3a,0x83,0xa6,0xcd,0xed,0xee, - 0xfb,0xe7,0x2f,0x5e,0xbd,0xfd,0xf8,0xee,0xfd,0x4b,0x32,0x53,0x3c,0xa8,0x99,0x72, - 0x93,0x01,0x33,0x4e,0x95,0x6b,0x52,0x8e,0xf0,0x61,0x1a,0x13,0x81,0xf1,0x28,0x1d, - 0xf0,0xda,0x67,0x58,0x3a,0xc2,0xb0,0x34,0xc2,0xc3,0x28,0xee,0x44,0x5a,0x17,0x67, - 0xa2,0xda,0x0b,0x41,0x7f,0xd8,0x91,0x4c,0xaa,0x64,0xaa,0x28,0xd6,0xc1,0x9d,0xa5, - 0x6b,0xae,0x55,0xa5,0xe4,0xe6,0xa6,0x15,0xa9,0xaa,0xcf,0x56,0x51,0x46,0x7b,0x88, - 0x78,0x59,0xad,0xbb,0xac,0x0c,0xaf,0x7e,0x3d,0x4e,0xcb,0x6e,0xb8,0x7e,0x88,0x5b, - 0x34,0x2b,0xc7,0xf3,0x83,0x55,0x93,0x00,0xc8,0x35,0x85,0x00,0x67,0x28,0x95,0x5f, - 0xd1,0xdf,0x97,0x14,0xb4,0xee,0x77,0x10,0xac,0x8b,0xdc,0xaa,0xfe,0x8b,0x09,0xd8, - 0x55,0xd7,0x3a,0x6f,0x90,0xd5,0xb5,0x32,0x75,0xc2,0x9e,0xc3,0x93,0x5a,0x3a,0x31, - 0xb3,0xf8,0xe5,0x20,0xa9,0xfa,0x62,0x4b,0x51,0x95,0xa3,0x87,0xc0,0x2b,0xe6,0xd6, - 0x35,0xea,0xf2,0x16,0x9f,0xb9,0x51,0x62,0x55,0x35,0xa4,0x65,0xe7,0x32,0x9d,0xdc, - 0xac,0x35,0xd3,0xe9,0x5f,0x07,0xc5,0x00,0x1a,0x92,0x07,0x18,0x43,0x6c,0x8f,0xe9, - 0x08,0xa2,0x26,0x84,0x53,0xe1,0x5e,0x56,0x50,0x6f,0x3e,0x35,0x22,0xab,0x5c,0x1d, - 0x4e,0xc6,0x14,0x71,0x68,0xd3,0xa2,0xaf,0xe4,0x6b,0x8e,0xbd,0xfd,0xf5,0xb8,0x11, - 0x8d,0xa1,0xf3,0xda,0x0b,0x8d,0xc3,0x9d,0xb0,0xa3,0x4f,0x85,0x77,0x83,0xaa,0xe2, - 0xeb,0x67,0x5e,0xd9,0x16,0xfa,0x1b,0x35,0xb3,0x95,0xe6,0xa1,0xa9,0xcf,0x72,0xad, - 0x3a,0x14,0x07,0x41,0x59,0x1f,0x72,0xb8,0x8c,0xa9,0x83,0xd7,0x6f,0x0f,0x61,0xc3, - 0xfd,0xfa,0xe5,0x9b,0x74,0x3e,0xa3,0x40,0x0e,0xe3,0xce,0xa3,0xef,0x92,0xcb,0x22, - 0xcb,0x61,0x7e,0xd5,0xd9,0xdd,0x2e,0x6f,0xd5,0xd3,0x75,0xa1,0x44,0x9c,0xd0,0xe1, - 0x89,0x43,0x01,0x74,0x7e,0x78,0x9c,0xf4,0x2e,0xfb,0x03,0xf8,0x4a,0xc2,0x6d,0x22, - 0x61,0xeb,0xbb,0x5f,0x0f,0x3f,0x1e,0xfe,0xf7,0xbb,0x97,0x07,0xe9,0xd1,0x51,0x3b, - 0x09,0xdf,0xbf,0xfc,0x2f,0x92,0xc4,0x8f,0xb6,0xf1,0x74,0xf0,0xee,0xed,0x9b,0x83, - 0x97,0x78,0xdd,0x49,0xc2,0xc3,0xbf,0x51,0xc9,0x07,0x3f,0xe3,0x6d,0x37,0x09,0x9f, - 0xef,0xff,0x8a,0xa7,0x47,0xf4,0xf4,0xe2,0xaf,0x2f,0xdf,0x1f,0xd2,0xcb,0xc6,0xd1, - 0xe3,0x24,0xfc,0xf9,0xfd,0xbb,0x8f,0x04,0x89,0x6f,0x4f,0xe4,0xed,0x05,0x85,0x33, - 0xc1,0xeb,0x77,0x04,0xfa,0xe6,0xed,0x9b,0x8f,0xa6,0x80,0xef,0x93,0xf0,0xdd,0xf3, - 0xc3,0x5f,0xf0,0xf8,0x03,0x21,0x7f,0xff,0x7c,0xff,0x25,0xe3,0xd8,0x26,0x1a,0x7e, - 0xfb,0xfd,0xf5,0xe1,0xab,0x77,0xcf,0x09,0x2b,0x28,0x21,0x52,0xf6,0xdf,0xbe,0x39, - 0x7c,0xff,0xf6,0x35,0xbf,0x12,0x29,0x79,0xc6,0x35,0xeb,0xf3,0xfb,0xae,0xf7,0xfe, - 0xc8,0xbe,0x0b,0x42,0xa2,0xea,0xfd,0xf3,0x3f,0x3e,0xee,0xff,0x7e,0x70,0xf8,0xf6, - 0xb7,0xf0,0xf8,0xd8,0x56,0xfb,0xcd,0xf3,0xdf,0x5e,0xbe,0xd0,0x9e,0x77,0x9a,0x67, - 0xd4,0x2f,0x23,0x58,0xc9,0x51,0x3b,0x2a,0x57,0xea,0xe6,0x51,0x6e,0xaa,0xe9,0xd1, - 0x36,0x8e,0x4d,0x6d,0x59,0x71,0x89,0xf1,0x08,0xdf,0xa8,0x8b,0x71,0x78,0xb1,0x7d, - 0x1a,0x16,0x51,0x7c,0x9c,0x4e,0x8f,0xda,0xc7,0xce,0x38,0x38,0x63,0x01,0x9d,0x62, - 0x50,0x7c,0x8a,0xd0,0xc1,0xcc,0x40,0x98,0xe9,0x6e,0x0d,0x69,0xd6,0x66,0x8f,0x21, - 0x5a,0xf4,0x65,0x64,0x84,0xc0,0x19,0xcf,0x37,0x8b,0x05,0xff,0xd2,0x79,0x65,0x79, - 0xf4,0xdd,0xbe,0xf9,0x89,0xfe,0x59,0x18,0x78,0x6c,0xb4,0x1f,0x55,0x03,0x59,0x7c, - 0x4a,0xdb,0xc9,0xe4,0x93,0x39,0xb7,0xa3,0xbd,0x3c,0xf5,0x3b,0xea,0x70,0x49,0xdd, - 0xfa,0x87,0x80,0x67,0x4a,0x1d,0x65,0xc1,0xab,0xa1,0x24,0x19,0x63,0xd9,0x41,0x51, - 0x5b,0x7f,0x3f,0x6a,0x93,0xa5,0x62,0xe3,0x1b,0x73,0x79,0x99,0x00,0xe3,0x78,0x2c, - 0xb2,0xe1,0xab,0x31,0xbf,0x27,0x24,0xc2,0xd9,0x99,0x8d,0x12,0x5c,0x0e,0x61,0x51, - 0x29,0x39,0x48,0x59,0x2d,0x37,0x97,0x40,0xe5,0x38,0x75,0xfc,0xb4,0xbd,0x58,0x8c, - 0x9f,0x91,0xe5,0xd4,0x9c,0xa8,0x12,0x91,0x4b,0xaa,0x79,0xbb,0x81,0x0a,0x2e,0xd2, - 0x68,0xfb,0xe9,0x53,0xe8,0xcb,0x2a,0xca,0x9c,0xc9,0xa7,0x3d,0x7c,0xeb,0x28,0x97, - 0x6e,0xfd,0xf6,0x38,0x24,0x46,0x47,0x00,0x91,0x59,0x10,0x4f,0xc4,0x45,0x01,0x37, - 0x5c,0x64,0x76,0x77,0xab,0x5f,0xf5,0x03,0xf3,0x5a,0x58,0x4c,0xa2,0x76,0x0a,0xb3, - 0x79,0xf7,0xa6,0xe7,0xf6,0x13,0xde,0xf0,0x99,0xac,0x9b,0x20,0x70,0x10,0xc7,0x04, - 0xdb,0x9a,0x5e,0x16,0x17,0xd1,0xc0,0x12,0x8a,0x34,0xb9,0x97,0x99,0x78,0xd3,0x4a, - 0xa1,0x1b,0xc0,0x5f,0x66,0xa3,0x61,0x34,0x48,0xce,0x12,0x18,0x06,0x24,0x7c,0x93, - 0x3e,0x81,0x46,0xb0,0xbc,0xf8,0xf9,0xd0,0xf1,0x12,0x1b,0x14,0x67,0xcd,0x87,0x8d, - 0xb3,0xc6,0xc3,0xd2,0x3d,0xec,0xc3,0x06,0xff,0x36,0x1e,0xd6,0x3a,0x1f,0x7f,0xd8, - 0xc0,0x2f,0x81,0x3b,0x3e,0xf0,0x1f,0x36,0x06,0xb4,0xdb,0x12,0x3c,0xf7,0xf4,0x63, - 0x5d,0xe3,0x51,0x8f,0x8a,0x8e,0x40,0xea,0x9e,0x43,0x22,0x52,0xf0,0x09,0xbf,0x20, - 0x0a,0xde,0x49,0x1e,0x76,0x1e,0x3e,0x8c,0xcb,0x17,0xf7,0xca,0x70,0x65,0x9f,0x2b, - 0xbc,0x30,0xbd,0x94,0x4c,0x35,0xb2,0x22,0xb5,0x23,0x98,0x4c,0x79,0x9d,0xd1,0xab, - 0xec,0x11,0x36,0x68,0xe9,0xd3,0x4f,0xeb,0x7d,0xbc,0x4f,0xcf,0xd2,0x90,0x6b,0x1f, - 0x8a,0x2a,0x1c,0x6f,0x18,0xd4,0x60,0x68,0x20,0x6e,0xea,0x34,0x21,0xc0,0xc3,0x36, - 0x3d,0x58,0xc7,0x4b,0xc2,0x70,0xf7,0xba,0xed,0xca,0x66,0x92,0xae,0x68,0xdd,0xf8, - 0xa2,0xa2,0x42,0x55,0x51,0xa2,0xda,0x20,0xec,0xeb,0xc2,0xc6,0xda,0xc6,0x52,0x6c, - 0xc8,0x62,0x8b,0x42,0x85,0xcf,0xc1,0x6d,0xe6,0x96,0x72,0x78,0x19,0xa6,0x17,0x3e, - 0x5b,0xeb,0xea,0x72,0x38,0xfe,0xa4,0x0c,0x82,0x3d,0x90,0xe1,0x51,0x07,0x63,0x04, - 0x31,0x40,0xd4,0xd7,0x99,0x60,0xfe,0x17,0x10,0x59,0xef,0xc2,0x0e,0x2a,0xc7,0xe9, - 0x10,0x65,0xb8,0x1c,0xb9,0x0e,0xcd,0x00,0x54,0xd3,0xb9,0xfe,0xb8,0x18,0x9c,0x22, - 0x0c,0xd0,0x67,0x2c,0xc8,0x4c,0x87,0xe8,0xb3,0x25,0x72,0x92,0xf5,0x30,0x65,0xa2, - 0x24,0xb5,0x82,0x4a,0xbc,0x3e,0x72,0x46,0xa6,0x11,0x84,0x44,0xd7,0xdd,0xbb,0x36, - 0xf9,0x8a,0xae,0x46,0x39,0x42,0xba,0xda,0x76,0x09,0xe6,0x31,0xd6,0x70,0x33,0xb9, - 0xc0,0x79,0x34,0x64,0x4a,0x4c,0xf0,0xe2,0x36,0x1a,0x7d,0x55,0x91,0x68,0xa0,0x26, - 0xc7,0xd3,0xb3,0xdb,0xe5,0x6b,0xd4,0x3b,0xce,0xde,0xee,0x9b,0x34,0xd4,0xe6,0xae, - 0xdd,0x39,0xe9,0x76,0x61,0x90,0x5e,0x58,0x69,0xb8,0xde,0xe2,0x7c,0x2b,0x3e,0xda, - 0x36,0x4b,0x25,0xee,0x83,0x52,0x06,0xab,0xf5,0xc4,0x14,0x64,0xd4,0x01,0xf8,0x66, - 0x35,0x02,0xba,0xb6,0x54,0xd6,0xb6,0x8b,0x72,0x5f,0x00,0xd0,0x25,0x7f,0x32,0x4a, - 0xba,0x1d,0x5d,0xb5,0x84,0x9f,0x9e,0x40,0x4c,0x3f,0x29,0x8f,0x42,0xed,0xfc,0xa9, - 0x4b,0x0c,0x81,0x48,0x49,0x58,0x67,0xe2,0x98,0x96,0xe6,0xb6,0x35,0x3b,0xa0,0xee, - 0x91,0x2e,0x17,0x4f,0x35,0x91,0x9e,0x23,0x4b,0x2a,0x3d,0xc5,0xf4,0xbf,0x23,0xee, - 0x39,0xf3,0xff,0x1e,0x66,0x7e,0xe9,0x34,0x61,0x27,0xd2,0x4f,0x7b,0xa1,0x69,0xb7, - 0xb2,0x13,0x85,0x1d,0x7f,0x2d,0x31,0x64,0x20,0x10,0xb9,0xc3,0xc8,0x33,0x53,0x34, - 0x3e,0xc4,0xf8,0xb3,0x7a,0x9f,0x69,0x1b,0xcc,0x57,0x14,0xdd,0xc6,0x2b,0xa7,0xc5, - 0x7d,0x16,0x4c,0xfb,0xb4,0x4a,0x70,0x3b,0xcd,0x2b,0xab,0xff,0xd7,0xb7,0x07,0x08, - 0xb7,0x4d,0x12,0xdb,0x35,0xb7,0xbe,0x49,0x6c,0x6b,0x98,0xd9,0x29,0x24,0xf4,0x65, - 0x77,0x25,0x15,0xbd,0xcf,0x34,0xc7,0xd8,0xc7,0x5a,0x3f,0xd4,0x77,0xeb,0x0b,0x3d, - 0xcc,0x43,0x21,0x8e,0xe6,0x8e,0xde,0x6b,0x86,0x8d,0xc3,0xb2,0xca,0x79,0x43,0x51, - 0x1e,0x21,0x5c,0x4c,0x0a,0x38,0x34,0x42,0x02,0xf7,0x74,0xbc,0x3b,0x3d,0xfd,0x82, - 0xd6,0x1c,0xec,0xf9,0xee,0x50,0xee,0x32,0x2c,0xbb,0x55,0x79,0x58,0xeb,0x38,0xbd, - 0x19,0xe0,0x37,0x68,0xaa,0xf7,0x73,0x0c,0x79,0x7b,0x0d,0xaf,0x56,0xfc,0x04,0xb6, - 0x86,0x87,0x0e,0x0c,0x82,0xc3,0xa3,0x29,0xdf,0xd0,0x88,0xb1,0x2a,0x79,0x09,0xb6, - 0x00,0xf0,0xa8,0x1e,0xc7,0x29,0x1f,0xfc,0x85,0xcf,0xe4,0xb7,0xd5,0x6a,0x55,0xa9, - 0x42,0x85,0x91,0xa5,0x32,0xab,0xa2,0x9e,0x66,0xd6,0xc6,0xa3,0xf6,0x99,0xa5,0xd9, - 0x17,0x6e,0x23,0xe1,0x9b,0x90,0x60,0x02,0x06,0xa1,0xc9,0xdc,0x9d,0xa8,0xeb,0x22, - 0x42,0x30,0x0b,0x74,0xc5,0xab,0x0b,0x4e,0xc5,0xa8,0x0c,0xab,0x50,0x5f,0x54,0x0a, - 0xb8,0x05,0xd4,0x16,0xe0,0xcb,0x4c,0x21,0x6f,0x9d,0xc2,0xc4,0x1a,0x7f,0xd3,0xe6, - 0xe4,0xf4,0x14,0x8e,0x02,0xf5,0x4b,0x18,0xd7,0x64,0xd3,0x8d,0x16,0x7d,0xc7,0x2c, - 0x41,0x3f,0xbf,0x6b,0x4a,0x7d,0x0e,0x5b,0x80,0xf3,0xa8,0xfa,0x83,0x55,0xb9,0x64, - 0xe3,0x66,0x4b,0x39,0xc0,0xbb,0x74,0xc9,0x95,0x05,0x4d,0x72,0x7c,0x93,0x30,0x09, - 0x28,0x42,0xde,0xdb,0x01,0xd1,0x2c,0xf7,0x00,0x35,0x3c,0x13,0x20,0xe1,0x99,0xb2, - 0x27,0xa1,0xe3,0x0a,0xc1,0xfd,0xfb,0xfb,0xd7,0xb5,0x78,0x79,0xe7,0x68,0x29,0x39, - 0xc4,0x6b,0x30,0xcb,0x46,0x53,0x1c,0xdc,0xa2,0x1c,0xeb,0xcf,0xb8,0xe8,0x04,0x73, - 0x98,0x8c,0xdf,0x06,0x73,0x71,0xd0,0x48,0x0f,0x98,0x2d,0xf1,0x03,0xae,0xde,0xd6, - 0x16,0xa0,0x3b,0x52,0x5b,0xc6,0x7f,0xfe,0x71,0x18,0x54,0x52,0xf5,0x12,0x76,0xd0, - 0xac,0x84,0xbb,0x40,0x4b,0x6c,0x81,0xa3,0x90,0x2e,0x2f,0x80,0xb8,0x46,0x1c,0xdc, - 0x70,0x04,0x47,0x70,0xaf,0x72,0x79,0x1f,0xbd,0xd9,0xdb,0xaf,0xfb,0x07,0x2c,0xc8, - 0x91,0x40,0xaa,0xf4,0xc7,0xbf,0x5d,0x16,0x91,0xea,0x4e,0xa2,0x3a,0x65,0xa1,0xa2, - 0x76,0x0e,0x5d,0xb1,0x5a,0x4a,0xd7,0x7d,0x39,0xf4,0x57,0x27,0xc5,0x53,0xdf,0xd5, - 0x81,0x4f,0xf2,0xa3,0xeb,0xa5,0x8a,0xa4,0x62,0x64,0x82,0xc6,0xe6,0xcd,0x63,0xf7, - 0x8e,0xa9,0x84,0xa8,0x92,0x09,0x82,0x96,0x32,0xfc,0xc4,0xc8,0x38,0xd5,0x99,0x9a, - 0x2f,0xb4,0xa7,0xe6,0xb3,0x4e,0x0e,0x7b,0xfa,0xd0,0x89,0x08,0x78,0x8f,0xfe,0x6f, - 0x31,0x5c,0xc7,0xec,0x35,0xad,0x2f,0xb2,0xdf,0x7a,0x53,0xd5,0x52,0x30,0x04,0x90, - 0x98,0xf1,0xa5,0x23,0xc9,0x7e,0x40,0x0a,0x1a,0x94,0x36,0xb5,0x9a,0xa6,0x05,0x25, - 0x1b,0x3a,0x76,0xd6,0x83,0x2b,0x54,0x0d,0x0a,0xd5,0x85,0x2c,0xa3,0xc6,0x70,0x58, - 0x4e,0xe6,0x6e,0xbf,0x9c,0xac,0xdd,0x72,0xf9,0x8b,0xac,0x5e,0x1d,0xd4,0xe9,0x81, - 0x6e,0xbb,0x6f,0x5d,0x6b,0x50,0xc3,0x92,0x9a,0x05,0xec,0xcc,0x2c,0x13,0xd7,0xf5, - 0x52,0x0a,0x6d,0x09,0xc2,0xc6,0x19,0x77,0xa1,0xeb,0xf8,0x7a,0x8d,0xe3,0x04,0x29, - 0xe0,0xe8,0x4c,0x4d,0x00,0xd7,0x1e,0x8f,0x88,0xd6,0xea,0xae,0xf3,0x91,0x64,0xb4, - 0xa4,0x3e,0xdd,0xdc,0x8c,0x46,0x29,0x12,0xd6,0x4b,0x90,0xd2,0xed,0xe4,0xd2,0xe2, - 0xc6,0x51,0xf5,0x3c,0x33,0xb1,0xe7,0x96,0x75,0x67,0x83,0x58,0x72,0x6b,0xcf,0x44, - 0xf1,0x21,0xe1,0xbb,0x8e,0xf1,0x2a,0x35,0xff,0x54,0x59,0x09,0x46,0x82,0x48,0x5f, - 0x6a,0xe5,0xda,0xf0,0x38,0xac,0x13,0x94,0x1c,0x4c,0x09,0xc0,0x50,0x0e,0x78,0xb9, - 0x96,0x93,0xb8,0x7b,0x5d,0xc7,0xc8,0x13,0xcb,0x47,0x25,0x64,0x6f,0x29,0x45,0x8f, - 0x1f,0x78,0xdb,0x43,0x27,0x10,0xec,0x02,0x52,0x2c,0x03,0x4f,0xdc,0xc9,0x02,0x6e, - 0x69,0xd3,0x13,0x4b,0x21,0x32,0xa8,0xea,0xa6,0x83,0x13,0xe0,0x94,0x41,0x68,0x0f, - 0x9a,0x90,0xa4,0x2a,0x2f,0xc4,0x2c,0x55,0x11,0x55,0xa6,0xad,0x93,0xbb,0xa5,0xf9, - 0xaf,0x96,0x0f,0x2b,0xe2,0x3a,0x95,0x0e,0x16,0xae,0x11,0x4d,0xbd,0x9b,0xbf,0xb0, - 0x99,0xf8,0x69,0x92,0xc3,0x30,0x83,0x34,0x47,0xa3,0x42,0x0f,0x6f,0x6a,0x0d,0x30, - 0x40,0x39,0x7d,0x70,0x78,0x45,0x0b,0x52,0xba,0xde,0x18,0x83,0x20,0x62,0xfa,0xdf, - 0x9a,0x63,0x08,0x77,0xd4,0x2d,0xa3,0x2a,0x04,0x8d,0x67,0xc6,0x28,0xc4,0xde,0x32, - 0xc4,0x36,0x46,0xc6,0xdf,0x1b,0x4c,0x8a,0x21,0xd0,0xe1,0xd8,0x92,0xf4,0x4a,0xe1, - 0xe4,0x13,0x35,0x02,0xdf,0x73,0xee,0x9e,0xba,0x9b,0x88,0xe2,0xbc,0xbb,0x51,0x43, - 0x8c,0x38,0x3f,0x8c,0x5b,0x08,0x78,0x36,0xee,0xef,0x5f,0x90,0x10,0x1a,0x9d,0xba, - 0x92,0x29,0x74,0xd0,0xc2,0xa9,0x22,0x22,0x8c,0x79,0x2f,0x01,0x67,0x65,0x82,0xcd, - 0x66,0xa4,0xd8,0x60,0x65,0x7c,0xbd,0xee,0xbc,0xa0,0x89,0xad,0xa2,0x66,0x4e,0x34, - 0xe3,0xb4,0x97,0x6e,0xe9,0xe8,0x54,0x7d,0x5d,0x2f,0xde,0x2b,0x73,0x1e,0xf5,0x8e, - 0x4b,0xc5,0xe1,0x5e,0xbb,0xb3,0x1d,0x77,0x76,0x4c,0xff,0x3b,0x59,0xce,0x78,0x52, - 0xcd,0x78,0x52,0x93,0x51,0xad,0xa8,0xa8,0xcb,0x9c,0x2c,0x16,0xbd,0x16,0xc7,0x53, - 0xca,0xf6,0x11,0x7f,0x39,0xcf,0x28,0x3b,0x1a,0xbe,0xd6,0x08,0x5a,0xea,0x87,0xe3, - 0xf3,0xea,0xd9,0xba,0x69,0x26,0x5c,0xd5,0x4f,0x01,0xd2,0x11,0x30,0x71,0x55,0x28, - 0x2c,0xda,0xdc,0xe4,0x9f,0x96,0x18,0x9f,0xc5,0xf0,0x62,0x57,0x8d,0xc4,0x36,0x36, - 0x9c,0xb3,0x1f,0xa6,0xd7,0x7e,0xba,0x7f,0x31,0xcf,0xfd,0xea,0xdd,0x6d,0xf6,0x3f, - 0xfa,0x17,0x99,0xab,0x00,0x31,0x08,0x37,0x94,0x89,0xf2,0x15,0x74,0x3b,0xed,0xc7, - 0x80,0x7a,0xf2,0x81,0x0d,0x26,0x9d,0x41,0x57,0x72,0xc5,0x73,0x73,0x38,0xf0,0xc6, - 0xec,0x3a,0x67,0x13,0xf1,0x34,0xa4,0x6e,0x9f,0xe5,0xa0,0x40,0x3c,0xf2,0x95,0x4e, - 0xed,0xba,0x06,0x03,0x12,0xf9,0xaf,0x3d,0xe2,0x10,0xef,0x0b,0x9e,0xe7,0x85,0x0d, - 0x7b,0xdf,0x5e,0x0d,0xcc,0x12,0xa0,0x58,0xbe,0x71,0x3f,0x25,0x57,0x8c,0xe4,0x49, - 0xff,0x72,0x88,0xed,0x5e,0xd2,0xa6,0xff,0x80,0x20,0xe1,0x42,0x12,0xa9,0x0c,0xbc, - 0x1a,0xdc,0xe5,0xe6,0x23,0xb5,0x6e,0x3e,0xea,0x09,0xd3,0x53,0x75,0xde,0x74,0xc6, - 0xa7,0x27,0xac,0xa8,0x4f,0x38,0xcd,0xd6,0x1c,0x18,0xab,0x8e,0x19,0x49,0x43,0x5c, - 0x7d,0xdf,0xde,0xa5,0x52,0xd7,0xa3,0x67,0x14,0x68,0x09,0x40,0xba,0xd6,0x66,0xf7, - 0xbd,0x6b,0x22,0xd9,0xed,0x0c,0x26,0x44,0x26,0x5a,0x55,0xdc,0x20,0xce,0x33,0x89, - 0xbc,0x6d,0xad,0x4e,0x6a,0xab,0xc5,0xeb,0x9b,0x34,0x77,0x54,0xcd,0xce,0xf1,0x1e, - 0x2c,0x8e,0x86,0x50,0xbc,0x17,0x76,0x68,0x2a,0xe2,0x47,0x58,0xc3,0x12,0x5a,0x9d, - 0x10,0x97,0x19,0xf3,0x83,0xb2,0x9f,0xdb,0x89,0x92,0xf8,0xf7,0x7e,0xad,0xa9,0xdc, - 0xbe,0x9b,0x93,0xeb,0xab,0x14,0x3e,0x1f,0x8b,0x97,0x2e,0x11,0x44,0x02,0x68,0xdd, - 0x32,0xf4,0x68,0x73,0x0a,0xa6,0x4e,0x5c,0xc4,0xb7,0xeb,0xf0,0x73,0xe8,0xd4,0x68, - 0x99,0x52,0x94,0xe0,0x93,0xea,0x2b,0x47,0x34,0x68,0x86,0x99,0x0a,0x65,0x48,0x99, - 0xa5,0x28,0xf5,0xe7,0x09,0x9d,0x77,0xfc,0x99,0xc2,0xfd,0x52,0x3b,0x57,0xe8,0xf7, - 0xfa,0xd9,0x42,0x3f,0xaf,0x9b,0x2f,0x14,0x44,0xe6,0x3b,0x2a,0x98,0x5c,0x73,0xa6, - 0xbd,0x3e,0x59,0xcf,0xbe,0xe3,0x67,0xea,0x5a,0x0e,0xf5,0x22,0xd8,0x08,0x1c,0xfa, - 0x6e,0xbd,0xdf,0x39,0x73,0x82,0x8f,0x35,0x9b,0x85,0x16,0x2c,0x7b,0xd2,0x1a,0x92, - 0xd3,0x61,0x71,0x75,0xf1,0x71,0xd9,0xe8,0x32,0x9f,0xd6,0xbc,0x22,0x19,0xf4,0x87, - 0x59,0x91,0xf4,0xb0,0xdc,0x6b,0x1b,0xb0,0x4b,0x98,0x19,0x9b,0x88,0x03,0x24,0xc5, - 0x1f,0xdc,0x4b,0x60,0xd0,0x94,0xff,0xe2,0x15,0x68,0xad,0xf3,0x1e,0x6a,0x9a,0x2f, - 0xe9,0x57,0x52,0xa2,0xd3,0xaf,0x38,0x65,0x8f,0x07,0x49,0x3f,0x41,0xfd,0x03,0x73, - 0xe2,0xde,0xe3,0x42,0xae,0x7b,0x45,0x30,0xa4,0xd9,0x8d,0xbb,0x97,0xa8,0x81,0x27, - 0xf0,0xed,0x4b,0xde,0x5e,0xc2,0x0e,0xe7,0xb2,0x4e,0x84,0x58,0x7e,0xa9,0x84,0x31, - 0x55,0x1b,0xe7,0x1c,0xa6,0x91,0x1b,0xbe,0x0d,0xee,0x56,0xce,0x2c,0xd9,0x93,0x31, - 0x15,0x36,0x68,0xa3,0x40,0x56,0x58,0xbf,0xbf,0x7f,0x85,0xd5,0x6e,0x32,0x86,0x14, - 0x21,0xc3,0x2c,0x99,0x1b,0x73,0xb5,0x0e,0x4d,0x51,0xed,0xdb,0x95,0x2e,0x66,0x19, - 0xfa,0x41,0x39,0x38,0x85,0x3d,0x3a,0xfc,0xac,0x17,0x5a,0x9e,0x3c,0x21,0x42,0xb0, - 0x1d,0xdb,0xbc,0xde,0xf7,0xad,0x3f,0x5e,0x98,0xfd,0x3a,0xba,0xdd,0xe6,0xba,0x4d, - 0x88,0xac,0xba,0x72,0xb0,0xb1,0xe9,0x63,0x75,0x17,0x02,0x19,0xc5,0xd3,0x47,0x77, - 0x97,0xe8,0x76,0x92,0xc6,0xb6,0x34,0x5a,0x4d,0xb9,0xdf,0x55,0xcb,0x75,0xaa,0xdb, - 0xdd,0xb8,0x73,0xbe,0xc1,0x38,0x41,0x9e,0x22,0x6d,0xcb,0xcd,0x2e,0x09,0x17,0xa0, - 0x9f,0xc1,0x4f,0x50,0x63,0x7c,0xa6,0xd4,0xb8,0x71,0x9a,0xa9,0xb2,0xee,0x13,0xf9, - 0x8b,0x7e,0xfb,0xeb,0xd6,0x80,0x45,0x1c,0x4a,0x6f,0xb1,0xcb,0x5d,0x73,0x5b,0x87, - 0x4e,0x36,0xb9,0x94,0x46,0x43,0xde,0x4f,0xc9,0xec,0x17,0x5e,0x75,0xcb,0x7a,0xd0, - 0xf6,0x68,0xc0,0x8b,0x39,0xc6,0xb1,0xad,0x1d,0x41,0xa8,0x1c,0x23,0x9f,0x21,0x2c, - 0x95,0x9f,0x35,0x2d,0xf6,0xec,0x09,0x35,0x9d,0xcb,0x92,0xe7,0x34,0xd5,0x61,0x2c, - 0xcd,0xb0,0x25,0xf3,0xc0,0x12,0xb9,0x71,0x85,0x09,0x7a,0x41,0x53,0xb7,0x77,0x2b, - 0x7c,0xc5,0x3f,0x14,0xa3,0x8a,0xa0,0xa2,0x74,0x95,0x32,0x8d,0x0e,0xc3,0x98,0x31, - 0xba,0xd2,0x39,0x64,0xdf,0xb7,0xbf,0x86,0x1d,0x2d,0xd8,0xfa,0x57,0xff,0x3b,0xcd, - 0x28,0xd1,0x24,0x8f,0xf7,0x8e,0x3a,0xc9,0xf1,0xde,0x87,0xe2,0xdb,0xad,0x41,0x12, - 0x86,0xaa,0x0a,0xb6,0x8e,0x5d,0xaf,0x7b,0xf9,0x78,0x9d,0x45,0x71,0xa5,0x22,0x42, - 0x83,0x6c,0x2f,0xa2,0xdc,0xe9,0xa4,0xdc,0x2a,0xc6,0x74,0x42,0x5a,0x28,0x84,0xd8, - 0x35,0x13,0xaf,0xef,0xe5,0x7a,0x19,0x34,0x29,0x95,0xc6,0x38,0x6f,0x2a,0xc3,0xca, - 0x91,0x74,0x5e,0x4a,0x58,0x1b,0x55,0xe3,0x77,0x66,0x59,0x39,0x49,0x3f,0x97,0x38, - 0x0f,0xba,0x64,0x54,0x1b,0xdd,0x9b,0xe8,0xdd,0xd6,0xf7,0xd0,0x1c,0xc8,0x54,0x7f, - 0x07,0x1a,0x5d,0x10,0x7c,0x54,0xd8,0xe7,0x0b,0x3b,0xa2,0x5c,0x1c,0x21,0x0e,0xa6, - 0xb8,0xb6,0x71,0xa8,0x41,0x94,0x71,0xc4,0x98,0xf5,0xdd,0x1b,0x15,0xb0,0x5b,0x42, - 0xec,0x52,0x8d,0xbf,0x8c,0xa9,0xac,0x27,0xb5,0x09,0x0a,0x84,0x59,0xb9,0x12,0xeb, - 0x97,0xe0,0x9a,0x36,0x22,0x1c,0xe7,0x44,0xd8,0x51,0xb4,0xc8,0xad,0xa5,0x99,0x02, - 0xc5,0x17,0xe7,0x14,0x16,0x69,0xc1,0x04,0xbb,0xb1,0x29,0xe9,0x49,0xe4,0xcc,0xac, - 0x37,0x53,0xd7,0x9e,0x09,0xca,0x95,0x68,0xb4,0x78,0xd2,0x42,0x70,0x0b,0x64,0x15, - 0x1f,0x1d,0xe2,0x07,0x85,0xc6,0x60,0x81,0x30,0x40,0x1e,0x8a,0x2e,0xca,0x88,0xcf, - 0x3f,0x6a,0xf6,0x12,0x69,0xf0,0xd3,0x04,0x7b,0x69,0x40,0x60,0xcf,0x57,0x81,0xc8, - 0xc6,0x34,0x4d,0x27,0x1c,0x72,0x35,0xe8,0xc1,0xc7,0x4d,0xc2,0x55,0x86,0xbd,0xaf, - 0x20,0xd5,0xe0,0xd2,0x83,0x3e,0x81,0x92,0xdf,0x01,0x10,0x58,0xdb,0x42,0x77,0x13, - 0x28,0x9c,0xc6,0x82,0x13,0x98,0x36,0x23,0x07,0xc6,0xbd,0xf3,0x56,0xf0,0x8a,0xc8, - 0x52,0x26,0x23,0x8e,0xd3,0xe9,0x67,0xe4,0xa6,0x19,0x47,0xd0,0xb6,0x82,0x3f,0xc0, - 0x2a,0xbe,0xb3,0x03,0x5c,0x26,0x73,0x22,0x54,0x4e,0x48,0xd1,0xd4,0x95,0x9b,0x34, - 0x34,0x42,0xb0,0xf0,0x68,0x33,0x5c,0x16,0x80,0xb6,0x85,0x8a,0xba,0x15,0x15,0xb8, - 0x2f,0x99,0xe8,0x0d,0x3a,0x3a,0x9c,0x16,0xf6,0x1a,0x13,0x3c,0x33,0x4d,0xa9,0x78, - 0x7b,0xc2,0x6d,0x89,0x80,0xdb,0xec,0x15,0xf0,0xb9,0x9e,0xf5,0x6d,0x33,0x27,0x1b, - 0x22,0x89,0xad,0x68,0xeb,0xbd,0x70,0xa9,0x15,0x0d,0x4d,0x47,0x6f,0x7f,0x3d,0xc6, - 0xaa,0xac,0x51,0x5e,0xc2,0x4e,0x5d,0x6b,0xb8,0x28,0x94,0x65,0x2b,0x51,0x84,0x07, - 0xa6,0x92,0xab,0x20,0x92,0x72,0x08,0x25,0x92,0x78,0x00,0x5e,0x90,0xbe,0x29,0x77, - 0x44,0xe8,0xaa,0xe0,0x7a,0x50,0x62,0xc2,0xfc,0x61,0x6d,0xbb,0x0e,0x26,0x67,0x33, - 0xb9,0xd7,0x71,0xff,0xed,0x8e,0xae,0xea,0xf7,0xdc,0xc2,0xb4,0x1f,0xd5,0xe5,0xc0, - 0xe2,0xfa,0x74,0xa7,0x7d,0xff,0x95,0xb8,0xb1,0x6d,0x05,0xb6,0x7b,0xaf,0xc4,0xbe, - 0x30,0xed,0x57,0x7c,0x6e,0x7c,0x13,0xe2,0xb8,0x2d,0x10,0xdf,0x32,0x72,0xae,0x84, - 0x00,0x58,0x12,0xae,0x8a,0x14,0x37,0x27,0x27,0x19,0x9f,0x7f,0xcb,0x62,0xcc,0x9a, - 0x9e,0x62,0xe3,0x3e,0xd7,0x99,0xec,0x35,0xa5,0x7f,0xf9,0x1e,0x90,0x5c,0xe1,0x5e, - 0x71,0x19,0x48,0x3e,0x8a,0x22,0xc1,0x3d,0x63,0xb5,0x4b,0x37,0xc1,0x3d,0x48,0x0d, - 0x64,0xc5,0xa5,0x80,0xfd,0xec,0xdf,0xa7,0xa1,0x1e,0xae,0x47,0xb8,0xea,0xff,0xb2, - 0xc6,0x71,0x80,0x45,0x24,0x98,0xd7,0xdf,0xc9,0xd1,0x4b,0xfd,0x0f,0x22,0xab,0xf1, - 0x76,0xe8,0x8d,0xff,0xa5,0x4b,0x45,0xe0,0x57,0xf5,0x76,0xfe,0x91,0xb9,0xe3,0xc2, - 0xf7,0xdf,0x12,0x7d,0x39,0xb9,0x2e,0x1f,0x8b,0xb3,0xf2,0xf1,0x34,0x3f,0xb6,0xe6, - 0x4a,0xfe,0x9d,0x98,0x0a,0x52,0x29,0x05,0x16,0xc3,0x52,0x86,0x67,0x52,0xac,0xec, - 0x2e,0x1d,0x00,0xb8,0x77,0xeb,0x93,0x0a,0x26,0xc3,0x82,0x12,0x55,0x5c,0x73,0x1b, - 0x5f,0xcb,0xe3,0xc7,0x77,0xac,0x3d,0x8d,0xca,0x0c,0x7b,0x2e,0x64,0xa7,0x8a,0xdb, - 0xda,0xc3,0xdd,0xef,0xb2,0x95,0x9a,0x55,0xf4,0x6f,0xd2,0x39,0xb8,0xd5,0x69,0x27, - 0x27,0xd7,0x9d,0xed,0xa4,0x38,0xeb,0xec,0x24,0xa7,0x79,0x67,0xf7,0xd6,0x33,0xc4, - 0xed,0x6e,0x94,0xcc,0xb7,0xc4,0x1d,0x51,0xfe,0xe3,0xb5,0xbe,0x29,0x6c,0x6d,0x31, - 0x18,0xff,0x4f,0xbe,0x56,0x64,0x2f,0xa5,0x78,0x26,0xbd,0xf5,0xee,0x21,0xbd,0xc9, - 0xc3,0x7a,0xa2,0x74,0xdc,0xb0,0xa4,0x73,0x58,0x7b,0x77,0xd4,0xba,0x37,0x91,0xf9, - 0x03,0xe1,0x9a,0xcc,0x26,0x0e,0xcf,0x24,0x94,0xd5,0x19,0x95,0xab,0x0b,0x0c,0x11, - 0x90,0x22,0xc5,0xe1,0x4c,0xd1,0x91,0x81,0xf1,0xe7,0x17,0x99,0x9f,0x6b,0xb1,0xa6, - 0x8a,0x37,0xae,0xfd,0x8c,0x5d,0x68,0xed,0x94,0xff,0xb5,0x28,0xeb,0xbd,0xe0,0x9a, - 0x25,0xe8,0x27,0xde,0xa2,0x62,0xb5,0xe6,0x2d,0xac,0xce,0x9a,0x1b,0x75,0x5c,0xde, - 0x17,0xaf,0xc3,0xa8,0x63,0xc9,0x75,0x02,0xbb,0xc3,0x39,0xbe,0x2a,0x08,0x74,0xe7, - 0x05,0xd0,0x30,0xfe,0xca,0xd3,0x8f,0x48,0xad,0xbe,0xe2,0xae,0x7b,0xbe,0x81,0x41, - 0x56,0xa5,0xc6,0x1b,0x67,0xea,0x0a,0xf5,0xa6,0x66,0x6c,0x10,0x70,0x72,0x43,0x2c, - 0x3d,0xe1,0x43,0xa1,0x23,0xbd,0x70,0x21,0x36,0x26,0xe2,0xb8,0x87,0x7e,0x24,0x66, - 0x7a,0x22,0xb5,0x5b,0xc6,0x4d,0x52,0xbf,0x38,0xdb,0x0f,0x1b,0xb3,0xd5,0x3b,0x91, - 0x19,0xb5,0x83,0x3d,0x7f,0x99,0xe9,0xdd,0xed,0x4a,0x12,0xd1,0x61,0x8a,0x8a,0x25, - 0xe0,0x28,0x9e,0x23,0xd1,0x4f,0x60,0x76,0x9d,0x4a,0xc2,0x1a,0xa7,0xbf,0x5a,0xa2, - 0x3a,0xfd,0x4d,0x3c,0xec,0x48,0xb3,0xc5,0xfa,0x1f,0xa4,0xc1,0x87,0x03,0x94,0xe0, - 0x9a,0x1b,0x8f,0x66,0xbf,0x4f,0xe1,0x26,0x9e,0x4f,0x87,0xab,0x81,0x46,0x8a,0xad, - 0xef,0x9f,0x60,0xc3,0x9f,0x5c,0x38,0xa9,0xff,0xc1,0xa9,0x5b,0xbb,0x4f,0xf0,0x69, - 0xe4,0x7e,0x42,0xe2,0xd6,0x93,0xb6,0x35,0x57,0xed,0x3f,0x6b,0xef,0xf5,0x1b,0x61, - 0x3f,0x08,0x1b,0x17,0x8d,0xf0,0x22,0xec,0x44,0x17,0x94,0x82,0x47,0x4a,0x19,0x35, - 0xc2,0x51,0xd8,0xe1,0xbf,0x4e,0x88,0xac,0x01,0x55,0x73,0x90,0x9c,0x24,0x44,0x54, - 0x8d,0x25,0x24,0x3e,0xc3,0x22,0xf3,0x99,0xb1,0x17,0x19,0x90,0x01,0x09,0xcc,0x15, - 0xf1,0x8c,0x87,0xa8,0xd8,0x7b,0x48,0x76,0x97,0xf4,0x24,0x26,0x1f,0x9e,0xa9,0x68, - 0xa5,0xa0,0x6a,0x43,0xcc,0xab,0x6d,0x00,0xb9,0x48,0x9f,0x89,0xf3,0x36,0xf8,0x1b, - 0x82,0x8f,0xbd,0x32,0x8e,0xd9,0xa2,0x12,0x2a,0xd9,0x6d,0xbb,0x01,0xc6,0x2c,0x2e, - 0x3e,0x48,0x77,0x50,0xc4,0x73,0xb9,0xe0,0xa5,0x58,0xdc,0x8f,0x5e,0x71,0xed,0xdb, - 0x0a,0xd6,0x0a,0x55,0xbe,0xe3,0xff,0x7a,0xbf,0xff,0x28,0xba,0x4e,0x11,0x84,0x0e, - 0x6d,0xa3,0xfd,0x2f,0x79,0xdf,0x1d,0x62,0x63,0x08,0x7b,0xc3,0x56,0x2b,0xb4,0x3a, - 0xdd,0x75,0x79,0x42,0xb3,0x7c,0x9f,0xa4,0xf6,0x9a,0x1e,0x15,0x8d,0x08,0x79,0x1f, - 0x69,0x15,0xc9,0xe8,0x96,0xde,0xce,0x23,0xb3,0xb3,0x47,0xf3,0x15,0x4e,0xb4,0x84, - 0x0d,0x6e,0xf0,0xf0,0xf7,0x29,0x94,0x5f,0x61,0x62,0x3a,0x64,0xeb,0x92,0xdf,0x3f, - 0x16,0x71,0xdc,0x30,0x10,0x3f,0xf6,0x66,0xc4,0x34,0x5a,0xee,0xe0,0x3e,0x9e,0x9e, - 0x3f,0x8e,0xae,0x08,0x33,0xb1,0x9e,0xc6,0xc6,0x4f,0x83,0x9b,0xac,0x1f,0xed,0xc4, - 0x49,0xf8,0xd7,0xb0,0xcc,0xf0,0x13,0x95,0x1d,0x80,0x0a,0x5a,0x21,0x4f,0x92,0xf0, - 0xd7,0x1f,0xc9,0x13,0x3c,0x29,0x4a,0xa9,0xeb,0x2d,0xd3,0x49,0xe9,0x42,0x66,0x99, - 0x9b,0xc2,0x17,0x04,0xbd,0x21,0x9d,0x4b,0x85,0x49,0x0d,0x38,0x3c,0x62,0xe2,0xa3, - 0x64,0x02,0x72,0x5b,0xee,0x1b,0x84,0x04,0x0c,0x78,0x50,0x84,0x49,0xd1,0x1a,0xe3, - 0x35,0x09,0xfb,0x3f,0x8e,0x2c,0xc8,0x6b,0x9a,0xad,0x83,0xf7,0x07,0x07,0xaf,0x00, - 0x90,0xd3,0x5e,0x89,0xbf,0x13,0x7d,0x07,0x6f,0xde,0xb3,0xb7,0xfa,0x62,0x9c,0x97, - 0xc0,0xcf,0x07,0x39,0x78,0x11,0x1c,0xfe,0xcd,0xb2,0xa7,0x87,0x34,0x97,0x3f,0x0a, - 0xf6,0xbe,0x02,0x46,0xde,0x52,0x6a,0x20,0x65,0xcd,0x2e,0x00,0x89,0xe2,0xb3,0xd3, - 0xab,0x04,0x27,0x94,0x28,0x18,0x39,0xe8,0xd1,0x07,0xe5,0xb2,0x89,0x2a,0x6a,0x6f, - 0xcb,0x5e,0xb8,0xcf,0x24,0x1c,0x5b,0x87,0x25,0x9a,0x8f,0xa8,0x34,0x0d,0xf8,0x60, - 0x8b,0x71,0x01,0x5c,0x92,0xca,0x4c,0x2f,0x06,0x04,0x37,0xf3,0x72,0xf5,0x39,0xd1, - 0xcd,0x26,0x69,0x9a,0x8f,0xae,0x99,0x04,0xa4,0x93,0xba,0xcc,0x90,0x67,0x76,0xf3, - 0x91,0x9f,0xe9,0x63,0x54,0xf1,0x80,0x6f,0x9a,0xed,0xbf,0x0e,0x0f,0x2d,0x28,0x26, - 0x7b,0x03,0xdc,0x09,0x2d,0xfb,0xb1,0xcd,0x55,0xf6,0xcb,0x36,0xaf,0x6c,0x03,0x0b, - 0xf4,0xea,0x1d,0xbe,0x0e,0xa6,0x74,0xb2,0xd2,0xc4,0xd4,0xca,0xb6,0xf8,0x28,0x0f, - 0xd3,0x31,0x7a,0x01,0xf5,0xaa,0xb8,0xeb,0xa4,0x72,0x53,0x6b,0x93,0x43,0xe0,0x9d, - 0x92,0xc9,0x21,0x4b,0x4e,0xfc,0xd4,0x44,0xae,0x30,0x4e,0xaa,0x48,0xe2,0xae,0x0f, - 0xc4,0x99,0x2d,0x94,0x22,0xf3,0xdd,0x24,0x88,0x60,0x3e,0x4c,0x0b,0xeb,0xf1,0xb9, - 0x5b,0x8e,0x53,0x11,0xd3,0x9c,0x71,0x56,0x0c,0xcd,0xe1,0xe1,0x1e,0x3d,0x39,0xb6, - 0xef,0x7a,0xdf,0xfa,0x2c,0x8d,0x6e,0x60,0x78,0x69,0x2e,0x98,0xc4,0xb8,0x61,0xe2, - 0xcc,0xbd,0x9f,0xae,0x78,0xe6,0xc5,0xa4,0xeb,0x46,0xfd,0xd5,0xe8,0xa2,0xb4,0x32, - 0xd4,0x04,0x2b,0x36,0x36,0x30,0xc1,0xc3,0x0d,0x58,0x1e,0x6a,0x19,0x62,0x23,0x0b, - 0x95,0x51,0xe4,0x5b,0xca,0xc6,0x8e,0xa9,0xac,0xc0,0xc7,0xb1,0x63,0x1d,0x28,0x53, - 0x0e,0x47,0x2f,0x2d,0x40,0xf6,0xe4,0x93,0x10,0xbd,0x58,0xdc,0xc0,0x39,0x79,0xa5, - 0x06,0xf0,0x2d,0x83,0xef,0x8d,0x90,0x34,0xb8,0xdc,0xc3,0x18,0x82,0x5e,0xe9,0x6f, - 0xe9,0xfd,0xb1,0xae,0x9e,0x62,0x96,0x48,0xe0,0x63,0x13,0x44,0x42,0xa8,0x57,0xbb, - 0x49,0x59,0x7a,0x5c,0x8b,0xf3,0xc1,0x70,0x48,0x39,0x04,0x0e,0xed,0x60,0x2d,0x2e, - 0x6d,0x8a,0xda,0xff,0x53,0xb2,0xd0,0xef,0x54,0xac,0x71,0xe6,0xdc,0x06,0xe8,0xd0, - 0x6c,0x62,0x6c,0xf1,0x6c,0x54,0x1c,0x75,0x76,0x72,0x0f,0x79,0x9a,0xbb,0x67,0x0f, - 0xde,0x2b,0x7b,0x2d,0x7e,0xbe,0x62,0x11,0xab,0x67,0xfa,0xc2,0x33,0x5a,0xad,0x7b, - 0xad,0xe2,0x62,0x80,0x8d,0x7a,0x25,0x9b,0xf4,0x49,0x9a,0x17,0x20,0x4a,0x98,0xee, - 0xd1,0x9f,0xe6,0xa9,0x89,0x73,0x26,0x8a,0xa5,0x77,0x34,0xe9,0x0e,0xdf,0xe3,0xf8, - 0x84,0x5c,0xd0,0xc2,0x65,0xf9,0x15,0x84,0x43,0x1a,0xbc,0x7f,0xc0,0x35,0x0b,0xc9, - 0x0d,0x8f,0x9f,0x74,0x37,0x28,0xf1,0x1a,0xaf,0xe9,0xf5,0xb7,0x84,0xa0,0x4b,0xaf, - 0x12,0xf3,0x37,0xbd,0xe0,0x77,0xc6,0x7c,0x8e,0xac,0xe7,0x19,0xaf,0x28,0x68,0xf1, - 0x70,0x07,0x47,0xa0,0xe7,0xad,0x02,0x36,0x01,0x11,0x81,0x25,0xf4,0x3f,0x12,0x78, - 0xed,0x24,0xa5,0xd4,0x2c,0xc2,0xc9,0xde,0x75,0x72,0x21,0xc3,0x02,0x44,0x9a,0x0a, - 0x3d,0xdd,0x71,0xcd,0xce,0xc7,0xa9,0x46,0x50,0x69,0x71,0x10,0x0d,0x3e,0x1d,0x92, - 0x5a,0x25,0xa3,0x1b,0xf3,0xb1,0x77,0xe3,0x7f,0x14,0xbc,0x23,0xc8,0x8f,0xa3,0x71, - 0x3c,0x1f,0xdd,0x34,0x68,0x2b,0x35,0x1a,0x37,0xd3,0xed,0xdb,0x0d,0xa2,0x6b,0x86, - 0x6b,0x00,0x07,0xdc,0xff,0x99,0xec,0xd1,0x94,0x94,0x5e,0x7d,0x4e,0xb0,0x31,0x52, - 0xf5,0xc1,0x98,0x8a,0xc4,0xa8,0xa1,0x7a,0xe8,0x14,0xef,0x6a,0x61,0xb3,0xd9,0x3b, - 0x3d,0x0d,0xf5,0x06,0x17,0x4d,0x34,0x7f,0xd9,0x39,0xf9,0xae,0x9f,0xfd,0x10,0x76, - 0xa9,0x14,0x84,0x23,0x67,0x4e,0xa6,0x3b,0x5d,0x79,0xfb,0x4f,0xea,0x14,0x69,0xc8, - 0x0b,0x51,0x48,0x49,0x27,0xd9,0x39,0x1d,0xfb,0x51,0x0d,0x20,0xd5,0x81,0xea,0x65, - 0xf9,0xf5,0x2a,0xd1,0xdb,0x2f,0x37,0xe9,0x60,0xab,0xca,0xa8,0xe6,0x76,0xfc,0x6d, - 0x74,0xdd,0x7c,0x14,0x37,0x76,0x92,0xcf,0xe9,0x45,0xf3,0x51,0x33,0xba,0x6a,0x52, - 0x5d,0xb7,0xa8,0xd6,0xf4,0x4b,0x1f,0x09,0xa4,0x0d,0x3e,0xec,0x49,0xe1,0x87,0x93, - 0xe8,0x26,0xf9,0x1c,0x77,0xce,0x5b,0x50,0x3b,0x98,0x37,0x91,0x26,0x95,0x23,0x11, - 0x9e,0x31,0x5a,0x87,0xc2,0x1b,0x87,0x53,0x44,0x30,0xa6,0x8a,0x34,0x44,0x74,0x6b, - 0xba,0xb2,0x40,0xfb,0x84,0x51,0xf3,0x72,0x80,0x8a,0xa0,0xd1,0x9f,0x53,0x2c,0x6c, - 0x54,0x0e,0x7d,0x23,0x54,0x34,0x3c,0xfe,0x41,0xf4,0x91,0x43,0xf9,0x71,0x72,0xdd, - 0xdc,0x49,0xb6,0x3d,0x3f,0x6c,0xb8,0x19,0xfd,0x6b,0xf6,0x99,0xe3,0xbc,0x44,0xb2, - 0xbf,0xb0,0x86,0x6b,0xf2,0xbe,0xb9,0xb9,0x22,0xba,0xaa,0xc2,0x77,0xd5,0x21,0x03, - 0x9c,0xcb,0xe7,0x6a,0xfd,0xd3,0xcb,0x52,0xcd,0x67,0x22,0xea,0x98,0xac,0xdc,0x4b, - 0x7a,0x19,0xdd,0x12,0xc5,0x56,0xcc,0x11,0xdd,0x91,0xc6,0x48,0x62,0xf3,0xeb,0x9d, - 0x95,0x42,0x79,0xca,0xe1,0xff,0x95,0x52,0xa0,0x92,0x67,0x88,0x6b,0xd8,0x69,0xe3, - 0xc0,0x19,0x3b,0x41,0x2f,0x48,0xb0,0xda,0x62,0xd0,0x17,0x1b,0x72,0xd8,0x54,0xb0, - 0xab,0xf5,0xbd,0xa3,0x9e,0x09,0xcd,0x3f,0x04,0x85,0xe5,0x02,0x38,0x9a,0xfc,0x1a, - 0x6a,0x90,0x3d,0xd2,0x8e,0xe9,0x8d,0x6b,0xef,0x46,0xc2,0xd9,0xe6,0xe6,0x59,0x8b, - 0xe6,0x06,0x42,0xf7,0x86,0x94,0xbe,0x71,0xf5,0x85,0xd6,0x9a,0x82,0xfa,0xf6,0x8f, - 0x19,0xf5,0xc2,0x2c,0x62,0x8c,0x09,0x6c,0x40,0x6f,0x66,0x07,0x03,0xd6,0x63,0x13, - 0x0a,0x4e,0x5d,0x1d,0xf2,0x44,0x3e,0xd7,0x04,0x84,0x35,0xd7,0x98,0x12,0x1b,0x39, - 0x56,0xd5,0x11,0xa0,0x5e,0x0e,0xfe,0x6a,0xb2,0x65,0x37,0x84,0x11,0x57,0x2f,0x92, - 0x65,0xce,0x2e,0x07,0xa3,0x55,0x35,0xc8,0x97,0xe3,0xe4,0x5c,0xf5,0x48,0xeb,0x7a, - 0xe5,0xaa,0x40,0xa4,0x75,0xb0,0xb7,0xc9,0xf6,0x63,0x74,0x74,0xd9,0xad,0xa0,0xc3, - 0x30,0xea,0xea,0x64,0xcd,0xcd,0x84,0x4f,0xd8,0x19,0xb8,0x4d,0xba,0x36,0x5e,0x9b, - 0x03,0xb7,0x8e,0xeb,0x52,0xa9,0x2f,0x67,0xfa,0xbf,0xce,0x5a,0x9b,0xd3,0x89,0x03, - 0xad,0x5d,0xde,0x6e,0x96,0xf4,0x2d,0x95,0x00,0x5a,0x65,0xa4,0xed,0x46,0xc3,0x19, - 0x6d,0x15,0xee,0x4d,0xf2,0x53,0xe8,0x60,0xee,0x8f,0xd7,0xf3,0xd1,0x65,0xcb,0xa8, - 0x30,0x11,0xce,0xd3,0xea,0xeb,0x74,0x72,0x59,0x7c,0xb6,0x1c,0x74,0x73,0x38,0xf2, - 0x19,0x4b,0x20,0x2a,0x54,0x61,0x46,0x6c,0xf6,0x30,0x25,0x76,0x4e,0x79,0xef,0x4e, - 0x43,0xa3,0x8f,0xfd,0x5b,0x67,0x1b,0x41,0xf0,0x9f,0x2d,0x05,0xd7,0xf7,0xaf,0xb9, - 0x75,0xd9,0x12,0xc6,0xd6,0x78,0x4f,0x76,0x8b,0x28,0x7a,0x2f,0xcf,0xf0,0x93,0x6e, - 0x87,0x1d,0x9b,0x18,0x26,0x5c,0x43,0xef,0x02,0x4c,0x2f,0x2f,0x22,0x48,0xc6,0xa2, - 0x1e,0x18,0xa7,0x78,0x7e,0xd6,0x7c,0xfc,0x78,0xef,0x51,0x47,0x1e,0x9f,0x7c,0xb7, - 0xb7,0x6b,0x1e,0xbf,0xfb,0x7e,0x6f,0xa7,0xb3,0xdd,0x05,0xe0,0xa4,0xee,0xfe,0xcb, - 0x23,0xd6,0x3e,0x4e,0x70,0x53,0x04,0x84,0x9a,0x9a,0xaa,0x77,0x9a,0xce,0x60,0x8c, - 0x45,0xa6,0x79,0x42,0x7b,0xaa,0x4f,0x5d,0x89,0xc5,0xbf,0x4b,0xb1,0xeb,0x4d,0x68, - 0xfb,0x9c,0xc5,0xcb,0x6d,0x4a,0x38,0x21,0xb5,0x76,0x96,0x73,0x98,0xbe,0xcb,0x82, - 0x53,0x44,0x9e,0xe8,0xd0,0xd6,0x7f,0xb7,0x31,0xf8,0x76,0x97,0xe4,0x2b,0x80,0xd1, - 0xbe,0xe5,0x9c,0x57,0x4a,0x7c,0xa0,0xe2,0xc7,0x7b,0x21,0xcb,0xa4,0x58,0x71,0xe3, - 0xb0,0x63,0x5e,0x50,0x66,0x1c,0xb2,0x90,0xa6,0x42,0x99,0x4a,0x84,0x6b,0xc9,0x3c, - 0x1b,0x66,0x37,0x5d,0x6e,0x9f,0xe6,0x80,0xd6,0xb1,0xa2,0x83,0x84,0x26,0x6d,0xb1, - 0x95,0x9a,0xed,0xc7,0x68,0x26,0xba,0x7a,0xd2,0x08,0x0d,0xe2,0xd0,0xdf,0xcb,0xa3, - 0x6d,0x2e,0xf3,0xa1,0x30,0xde,0x77,0xcb,0x66,0x7b,0x99,0xca,0x33,0xd8,0xf3,0x03, - 0xbe,0xde,0x2c,0x64,0x7d,0x56,0xd7,0x26,0x04,0xdf,0xc7,0xa2,0x0b,0x70,0xba,0x7a, - 0xfd,0xa4,0x54,0xd2,0xba,0xd4,0x59,0x64,0x6e,0x6a,0xbb,0x16,0x86,0x63,0x04,0x09, - 0xa3,0xd2,0xcc,0x41,0xa1,0x5a,0x55,0xb0,0x38,0x6f,0xd1,0x8e,0xcb,0x60,0x48,0x63, - 0x36,0xac,0x82,0x14,0x81,0x9c,0x35,0xd6,0xa9,0x0a,0x78,0xc2,0xfb,0xe4,0x66,0x8f, - 0x7f,0xca,0x83,0x89,0x2c,0x1b,0xe3,0x34,0x9e,0x4b,0xc5,0x9f,0xba,0x92,0xa8,0xf6, - 0x80,0x3b,0x92,0xa2,0x8e,0x5d,0x2f,0x77,0xd5,0x2f,0xd4,0x51,0x2b,0xee,0xad,0x50, - 0xc6,0xfd,0x07,0x38,0xb0,0xdd,0x31,0xc2,0x41,0x9f,0xee,0xc1,0xf0,0xec,0xee,0xc2, - 0xc6,0xf6,0x06,0xf2,0xda,0x0b,0xb1,0xe3,0x4c,0xaf,0x56,0x81,0x66,0xbd,0xdf,0x25, - 0x35,0x88,0xcb,0x7b,0xd9,0xc6,0xec,0xcc,0x7e,0x36,0x09,0x08,0xad,0x63,0xf6,0x24, - 0x3c,0xba,0xc7,0xcc,0xce,0xd8,0xbf,0x3a,0x5b,0x14,0x80,0xa8,0x20,0xb6,0xdd,0xb8, - 0x41,0x49,0x64,0xc2,0xb4,0x17,0x6e,0xfe,0x85,0x22,0xe6,0xee,0x7c,0xf7,0xa8,0x0b, - 0x9f,0x4b,0x00,0x28,0x46,0xa4,0x12,0x79,0x76,0x0a,0xdd,0x9e,0x5f,0xe6,0x1e,0x00, - 0x6c,0x40,0xcc,0xb0,0x21,0xe5,0x02,0xab,0xe4,0x2a,0x6f,0xf1,0x86,0xee,0xf6,0xe7, - 0xe1,0xd3,0xa9,0x0e,0x41,0x7f,0x63,0x69,0xa7,0xc4,0x1d,0x8c,0x35,0xda,0x27,0x69, - 0x9f,0x0b,0xce,0x30,0xf0,0xe9,0x92,0xda,0x14,0xc3,0xb9,0x6e,0x97,0x74,0xc7,0x88, - 0xf9,0x1f,0x6e,0xf8,0xfb,0x57,0x02,0x03,0xcd,0xd8,0x99,0x09,0xf9,0xbe,0xe6,0x7e, - 0x8d,0x7b,0x28,0x73,0x31,0x83,0x05,0x2e,0x34,0xd9,0x5c,0x4d,0x04,0x5f,0xf5,0xd3, - 0x3a,0xf1,0x47,0xa3,0xb5,0x72,0xb4,0x92,0x5a,0x59,0x06,0x8f,0x16,0x04,0x73,0xba, - 0xc1,0x98,0x32,0xd6,0xd5,0xd2,0x34,0x7f,0x36,0x47,0x71,0xf4,0x5c,0x9d,0x87,0x40, - 0xde,0x1a,0x57,0xf7,0xd2,0x34,0x2b,0x9d,0x68,0x51,0x99,0x84,0x4f,0x8e,0xc8,0xd4, - 0x5b,0xff,0xdd,0x1e,0xb7,0x6c,0x16,0xf5,0x85,0xef,0xb8,0x1d,0xe7,0x83,0x0b,0x89, - 0x73,0x8e,0xa7,0xd2,0x43,0x18,0x79,0xa2,0x3c,0x21,0xcb,0x97,0xa2,0xa3,0xb3,0x41, - 0x15,0xbe,0xce,0xf1,0x8f,0x4a,0xe6,0x28,0x0f,0x0b,0x06,0x7a,0x9d,0xa0,0xac,0xe6, - 0x44,0x83,0xba,0x36,0xb8,0x25,0x7d,0x0f,0x2a,0x3e,0xfd,0x15,0xe2,0x4e,0xf7,0xfa, - 0xb6,0x76,0xda,0x42,0xdc,0x49,0xee,0x5d,0x2b,0x85,0xfe,0xd2,0x3a,0xd9,0x7c,0xa8, - 0x91,0xd7,0xfd,0xbf,0xfe,0x44,0x08,0x2b,0x88,0x77,0x1e,0x74,0xe7,0xee,0xc6,0xd9, - 0x12,0xc5,0x02,0xae,0x96,0x4e,0xf6,0x84,0x46,0xc2,0xf5,0x6c,0xac,0x19,0x4a,0x0e, - 0x9e,0x44,0x31,0xc4,0x95,0xe3,0x59,0x4d,0x43,0x92,0xc7,0x97,0x3b,0x59,0x6e,0x08, - 0x33,0xb3,0xa3,0xfa,0xe9,0xb6,0xe4,0x99,0x0f,0x32,0x7e,0xca,0xf8,0xe4,0xbb,0x3b, - 0xdf,0x3d,0xf9,0x9e,0x0e,0xc1,0xe5,0x2b,0xdc,0xa4,0xeb,0x33,0x1c,0xa5,0xef,0x6e, - 0x6e,0x56,0x8e,0x62,0x14,0x03,0x0d,0x11,0x7d,0x74,0x9d,0xbd,0xf9,0xd6,0xc9,0xf5, - 0xb7,0x75,0x20,0x95,0x9c,0x5e,0x78,0xee,0x42,0x95,0x38,0xfa,0xf0,0xa5,0xf5,0x36, - 0x93,0x99,0xdd,0xaf,0x54,0x6e,0x7f,0x3b,0x5e,0xca,0xd2,0xa3,0x8d,0xf9,0xac,0x13, - 0xfe,0x7e,0xf0,0x7c,0x6b,0xbf,0x37,0xee,0xf5,0x7b,0x41,0x04,0x53,0xa4,0x11,0x35, - 0x34,0xab,0x07,0x93,0xb3,0x4e,0xf8,0xc3,0x76,0xbb,0xf5,0x78,0xe7,0x71,0x88,0x23, - 0xf5,0xf0,0xc9,0x4e,0x8b,0x9e,0x0a,0x4a,0xfe,0x2e,0xc4,0xc9,0x7a,0xf8,0x18,0x91, - 0x1b,0x81,0xe3,0xf9,0x65,0x31,0xcb,0x49,0x52,0xeb,0x99,0x4c,0x8f,0x5b,0xdf,0xb7, - 0xdb,0x92,0x69,0xe7,0x71,0x5b,0xf2,0x6c,0xb7,0x57,0x65,0x0a,0xa2,0x37,0xbd,0x3c, - 0x9f,0x5c,0x6b,0x91,0x4f,0x5a,0x8f,0xbf,0x5b,0x55,0xe4,0xf7,0x35,0xb9,0x7f,0xa3, - 0x79,0xb8,0x2c,0xb8,0xad,0x59,0xb7,0x41,0x76,0x81,0xd4,0x55,0xe5,0x76,0x82,0x83, - 0xe7,0x49,0xf0,0xc7,0x73,0xc9,0xbb,0xb3,0xdb,0xda,0x5e,0xae,0xe9,0xf7,0xf5,0xc5, - 0x22,0xf3,0x7f,0xbd,0x7e,0x71,0x77,0x4e,0x5b,0xec,0x8f,0x79,0xef,0x9f,0x83,0xe1, - 0x97,0x94,0xf5,0xf2,0xf7,0xad,0xdf,0x7f,0x75,0x99,0xf3,0xfd,0x93,0x1f,0x5a,0x4f, - 0xb6,0xbf,0xbf,0x67,0xce,0x17,0xd9,0x14,0x9e,0x9e,0x31,0xaa,0x34,0x37,0x5a,0xd3, - 0x6f,0x98,0x6d,0x8f,0xd2,0xfd,0x7f,0x66,0x24,0x5f,0xbc,0xcf,0xa6,0x97,0x27,0x34, - 0x99,0x2c,0x13,0xf0,0x68,0x77,0x67,0x7d,0x87,0x00,0x01,0xc1,0xa3,0xdd,0xdd,0xdf, - 0x7e,0xf9,0x67,0x10,0xbd,0x9e,0x90,0xd2,0xf9,0x3d,0x6c,0xc7,0x04,0x03,0xa5,0xb7, - 0x9e,0xa0,0xec,0xf5,0x44,0x58,0x0c,0x5a,0xbe,0x9b,0x7b,0x3d,0x03,0xde,0x64,0xb8, - 0xdd,0x30,0xa4,0x8d,0x6e,0xb1,0x8e,0x6f,0x96,0x6c,0xcd,0x76,0x1d,0xfc,0xaf,0xac, - 0x87,0x7c,0xa6,0x43,0x7d,0xd7,0xda,0xfd,0x6e,0x3d,0xc3,0xdc,0x6c,0x0e,0xb5,0x9a, - 0xff,0xae,0x62,0x71,0x5f,0xfc,0xf2,0xbc,0x37,0x44,0x8d,0xb5,0x96,0x4e,0x3e,0xb7, - 0x27,0x3f,0x59,0xca,0xf7,0xfd,0x93,0xef,0xef,0xae,0xa6,0xcd,0x77,0x40,0x26,0x61, - 0xff,0x14,0xf6,0x7c,0x49,0xaf,0xfa,0xeb,0x20,0x9b,0x91,0x5e,0xde,0xab,0xe2,0x4e, - 0xbb,0x05,0xce,0xac,0xef,0xfd,0x9a,0xd7,0xef,0x93,0x6e,0xfe,0x5a,0x16,0x6f,0x1c, - 0x57,0x4e,0xd2,0x5d,0xbf,0x89,0x73,0xeb,0x26,0x7c,0x8d,0x8f,0xf0,0xaa,0x60,0x27, - 0xa6,0x4d,0xb2,0xe5,0x81,0xc5,0xdc,0x98,0x56,0xb8,0x7c,0x70,0x8a,0x0f,0xd0,0xb1, - 0x75,0x02,0xa9,0x42,0x9a,0xe2,0x17,0xc4,0x04,0xa0,0x89,0xde,0xf1,0xd3,0x6a,0x87, - 0x2c,0x6c,0xf5,0x28,0x5a,0xc4,0x89,0xbb,0xc1,0x31,0xda,0xdf,0x5e,0xc5,0x78,0x89, - 0x14,0xbe,0x27,0x95,0x57,0xdf,0x1d,0xd5,0x23,0xf5,0x46,0x65,0x56,0xa6,0x9b,0xa3, - 0xc1,0x31,0x3c,0xa7,0x98,0xd7,0xcf,0x78,0x75,0xca,0xf0,0xbd,0x02,0xfb,0x4c,0x79, - 0x81,0xed,0x80,0xc7,0x93,0x80,0xc6,0x8f,0xdd,0x10,0xfc,0xf8,0x87,0xb2,0xc8,0xa6, - 0x1d,0xfc,0xa4,0xdc,0xb2,0x69,0xfb,0xef,0x97,0x18,0x77,0xfd,0x4f,0x36,0x7d,0xfa, - 0x69,0xc0,0x1e,0xf5,0x74,0xc9,0xaf,0xba,0xd3,0x4c,0x28,0x3a,0xab,0xeb,0x8c,0x13, - 0xbb,0xa0,0x8a,0xb7,0x0e,0xdf,0xdd,0x45,0xf8,0x0c,0xa6,0xef,0x6a,0xd7,0x9c,0x67, - 0xe7,0xf4,0x6d,0xf3,0x22,0x1b,0x0e,0x07,0xd3,0xae,0xf5,0x7c,0x21,0x08,0xf8,0x8e, - 0x33,0xfb,0x3b,0xbb,0x8f,0x9f,0xcd,0x8d,0x95,0x8e,0x36,0x41,0x64,0x1c,0x0b,0xb6, - 0x81,0x75,0xaa,0xe1,0xfb,0xf2,0x18,0x54,0x3d,0x78,0xcc,0x68,0x27,0x47,0xbc,0xe9, - 0xf7,0x8a,0x8b,0x2e,0x9c,0x4b,0x55,0x98,0xed,0x38,0xf6,0x90,0x55,0xb6,0x16,0xa5, - 0xb8,0xe9,0x7c,0xf6,0x2b,0xfd,0x2d,0x83,0xd8,0xaa,0xfd,0x6f,0x15,0x01,0xb1,0xd4, - 0x77,0x92,0x80,0xba,0x30,0xbd,0xe4,0x0f,0x34,0x2e,0x3c,0xb7,0xe2,0xf2,0xa5,0xbc, - 0x3d,0x6b,0x42,0x5d,0x6e,0x6e,0xf2,0xaf,0xba,0x44,0xe5,0xb8,0xb4,0x1b,0x65,0x4b, - 0x35,0x89,0x00,0x67,0xdf,0x14,0xee,0x0b,0x45,0xc3,0xcf,0x9d,0x80,0x8e,0xda,0x64, - 0x5b,0x79,0xca,0x86,0x87,0x71,0x5d,0x0f,0x92,0xcf,0x27,0xd7,0xb1,0xdb,0x8d,0xf4, - 0x43,0x71,0x16,0xbb,0x7d,0x49,0x3f,0x9c,0xe6,0xbc,0xbf,0xa5,0x12,0x36,0x1a,0x42, - 0xf8,0x53,0x3a,0x9b,0x0c,0xe8,0x28,0x27,0x2b,0xc6,0x0f,0x67,0xd2,0xc6,0x41,0xcf, - 0xf4,0x84,0xde,0xd0,0x74,0x6b,0xa8,0x91,0xd8,0xac,0x71,0xbd,0x87,0xf8,0xe5,0xbe, - 0x4a,0xbd,0xcb,0x78,0x94,0xa9,0x71,0xa1,0x6f,0xbc,0xd1,0x96,0x0c,0x4d,0xb8,0xbf, - 0x30,0xb7,0xaf,0x8c,0x77,0x3f,0xfc,0x4a,0xc3,0xc5,0x73,0xfe,0xea,0xf6,0x6e,0x63, - 0x50,0x2a,0x31,0x0f,0x9c,0x5e,0x79,0xd4,0xb8,0x3a,0xee,0x4a,0x0e,0xb7,0xf7,0xdd, - 0xde,0xdb,0x9c,0x51,0xef,0x9b,0x33,0x96,0xea,0x9c,0xf2,0x2f,0x59,0x39,0x4e,0xad, - 0x81,0xe3,0xc6,0x3a,0x0b,0x47,0x2e,0xcd,0x77,0xa9,0x6b,0xa4,0xc7,0xe2,0x8b,0x33, - 0xd6,0x79,0xe2,0x15,0xc8,0xe5,0x33,0x9a,0x3f,0xec,0xe1,0x0b,0xd9,0xdd,0x5b,0x83, - 0x40,0xff,0x50,0xc6,0xd9,0xaf,0xd5,0x1f,0xd8,0x94,0x47,0x3e,0xf6,0x74,0xc7,0x29, - 0xce,0x46,0xcd,0x5f,0x6d,0xfd,0x28,0xa8,0xbf,0xd6,0x00,0x52,0xd1,0xdc,0xcb,0x06, - 0x52,0xbd,0x8f,0x7e,0xbd,0xdd,0xe2,0x03,0x45,0xa5,0xbc,0x72,0xe6,0xee,0x6e,0x1d, - 0xbb,0x6b,0xb5,0x37,0xe0,0x8d,0xce,0x56,0x5e,0x08,0x0b,0xd0,0xe2,0xc7,0xc8,0xe8, - 0x7e,0x35,0xe1,0xa6,0xac,0xb8,0x9e,0x42,0x7f,0x8c,0xff,0x3c,0x61,0x65,0x1e,0x2a, - 0x6c,0x0d,0x36,0x28,0xca,0x12,0xc2,0x1f,0xc5,0x63,0x52,0x84,0x93,0xf7,0xd1,0x64, - 0x27,0xd9,0x4d,0x1e,0xd5,0x58,0x1c,0x62,0x91,0x90,0x19,0x31,0x6c,0x0c,0x56,0x9b, - 0x1c,0x0e,0xa8,0x4f,0x8f,0x55,0xe9,0x34,0x9b,0xba,0xb0,0x8e,0x0d,0xe4,0xe0,0x29, - 0x00,0xd5,0x38,0x9c,0x89,0xa0,0x22,0x6a,0x02,0x75,0x88,0xe6,0x9e,0x36,0x89,0x54, - 0xf6,0xae,0xbd,0xeb,0x55,0x8d,0x11,0x6b,0x1d,0xcc,0x8c,0xd2,0xd2,0x4e,0x5a,0x22, - 0x7c,0xeb,0x00,0xb3,0xf1,0xbe,0xe1,0x4c,0x01,0x91,0x22,0x65,0xa8,0x53,0xfd,0x47, - 0xf1,0xdc,0xbc,0xa4,0xe3,0x51,0x77,0xf2,0xa5,0xdb,0x47,0x58,0xb8,0x6b,0x15,0x1e, - 0xc5,0xec,0x9c,0x8b,0x3c,0xe1,0x0e,0xb2,0x6b,0x6c,0x23,0x8d,0x61,0x42,0x71,0x9a, - 0x4f,0xe8,0xd8,0x78,0x02,0xfb,0x00,0xbf,0x59,0xc8,0x27,0x13,0xf7,0xb6,0x68,0xc5, - 0xbc,0xcb,0x0d,0xb7,0xeb,0xe7,0x3a,0x50,0xb0,0xc8,0x36,0x69,0x8e,0x77,0xf5,0x3f, - 0xa4,0x9d,0xd9,0xc5,0x29,0x23,0x7e,0x85,0xf1,0xb9,0x9f,0x3c,0xbb,0xf9,0xb7,0x9b, - 0x93,0x3b,0xf3,0x5f,0x65,0xda,0x96,0xb9,0xf7,0x8e,0x05,0x2c,0xae,0x2c,0xd2,0x44, - 0x5a,0x55,0x72,0x70,0xbe,0xac,0x41,0xe2,0x6a,0x1f,0x66,0x12,0xfc,0xa9,0xbe,0x8e, - 0xf6,0xd6,0x83,0xd0,0x4c,0xec,0x61,0xad,0xf5,0xdd,0x54,0xfa,0x16,0xe7,0xd2,0xa6, - 0x55,0x1b,0xb1,0xdd,0xce,0xa3,0x9a,0x6e,0x81,0x4f,0x51,0xed,0xa0,0x10,0x04,0x8f, - 0xea,0x3a,0x45,0x5d,0x26,0xb4,0x7a,0xbd,0xdf,0x8d,0x9a,0xca,0x8a,0x2f,0x59,0x75, - 0x8f,0xb3,0xd7,0xf9,0xd0,0x5a,0xb0,0x8f,0x9c,0x0f,0xad,0x58,0xbc,0x68,0x10,0x44, - 0x5c,0x1f,0x4e,0xf2,0xde,0x01,0x2f,0xd7,0x60,0x77,0x9d,0xa6,0xd7,0xf0,0xdd,0xf5, - 0x9b,0x7e,0xaf,0x26,0xb8,0xc7,0xed,0x83,0x8d,0x7b,0x5d,0x3f,0xd8,0xb8,0xf3,0xfe, - 0x01,0x80,0xea,0x6f,0x20,0xf8,0xbd,0xa0,0xbe,0x11,0xa7,0x93,0xe9,0xdb,0xcb,0x99, - 0x6b,0x4b,0x0b,0x9f,0x4f,0xbd,0xe1,0x56,0x76,0x33,0xc0,0xec,0x33,0xa2,0x8d,0xfa, - 0xa4,0x4f,0x5b,0xd9,0xb7,0x07,0x87,0xe1,0xca,0xdb,0xd8,0x9b,0x9b,0x79,0x0b,0xa7, - 0x72,0x20,0x0f,0x19,0x9b,0xf4,0xe2,0x19,0xc8,0x32,0x00,0x35,0x99,0x42,0x4c,0xae, - 0xfc,0x63,0x79,0xe3,0x71,0xbc,0xfe,0x8a,0x84,0x7a,0xf6,0xd8,0x9f,0x5c,0x0e,0xfb, - 0x10,0x47,0xf3,0x8c,0x9a,0xda,0x5e,0xbc,0x6b,0x06,0xf0,0x86,0xc0,0x77,0x19,0xc3, - 0xd8,0x37,0xf4,0x3f,0xa3,0xc0,0x20,0xe5,0xc6,0xcb,0xbb,0xbf,0xb4,0x57,0xe9,0x55, - 0x9d,0x48,0x5b,0xdd,0x34,0x75,0x05,0x89,0xeb,0x5e,0xe0,0x6c,0x30,0x1e,0x14,0x30, - 0xd7,0xb3,0xf3,0xa1,0x5e,0x37,0x3a,0xb8,0x9c,0x82,0x85,0x36,0x40,0xa4,0x9e,0x18, - 0xa4,0xa0,0x23,0x54,0x30,0xec,0xc8,0x52,0x27,0xc6,0x83,0xfd,0x64,0x43,0xba,0x00, - 0xb9,0x96,0x25,0x1b,0x07,0x76,0xae,0x65,0x7d,0xec,0x3f,0x98,0x6a,0x31,0x07,0x70, - 0xbd,0x6a,0xe8,0x0c,0x4a,0x54,0xa2,0x3e,0x25,0xf3,0xcd,0xd3,0x98,0x4e,0x0d,0x68, - 0xbd,0x3c,0x55,0xf8,0xe7,0x0e,0x60,0x11,0xf4,0x27,0xc4,0x49,0x23,0xe6,0x87,0xdd, - 0xfa,0x28,0xd3,0xd5,0xf5,0x46,0xdd,0x44,0x50,0xd8,0x33,0xf2,0xe6,0x9c,0xf4,0xcb, - 0xb5,0xd0,0xaa,0x03,0xf0,0x31,0xe2,0xa8,0xd1,0x80,0x12,0xd3,0xbb,0x1a,0x1b,0x43, - 0x38,0x5b,0x6e,0x84,0x6c,0x4a,0xa8,0xfb,0x9b,0xab,0x18,0x09,0x6a,0x0f,0x88,0x86, - 0x00,0x2a,0x36,0x59,0xd5,0x03,0xae,0x30,0xe9,0x3b,0x87,0x26,0xe5,0xea,0xeb,0xa5, - 0x86,0x11,0xaa,0xc5,0x3b,0x15,0xeb,0x30,0x42,0x2f,0x17,0xdf,0x11,0x43,0x5a,0xc2, - 0x1d,0xf7,0xab,0xf1,0x9c,0xbb,0x96,0x12,0xcb,0xe5,0xc4,0xa2,0xdc,0x8b,0xfa,0xd5, - 0xc0,0xc3,0x7b,0xe1,0xb7,0xfc,0x2f,0xec,0x84,0x11,0x04,0x27,0xa5,0x9e,0x88,0xb1, - 0xbd,0xcd,0x81,0x8f,0xca,0x1b,0xb0,0x71,0x4d,0x26,0x11,0x60,0x5c,0x75,0x38,0x13, - 0x44,0x0e,0xe9,0x9b,0x6f,0xde,0xfe,0x11,0x6c,0x05,0x4c,0x9a,0xea,0xb4,0x93,0x70, - 0x5f,0x9e,0x82,0xb0,0x81,0xfe,0xe7,0xeb,0xbc,0xe3,0x06,0xe8,0x75,0x13,0x41,0x45, - 0x60,0x3c,0x68,0xc0,0x59,0xce,0xe5,0x20,0x17,0x62,0xb4,0xf8,0x7e,0x8d,0xb8,0x23, - 0x54,0xbc,0xc1,0x58,0x14,0x9f,0x8f,0xb5,0x40,0xe6,0xc8,0x89,0x3c,0x49,0xa9,0x0e, - 0x62,0x49,0x25,0x91,0xe4,0x53,0x91,0x39,0xef,0xd4,0x25,0xac,0x8b,0xd8,0x91,0x9f, - 0xc6,0x31,0x21,0x9a,0xde,0x6a,0x83,0xbd,0x97,0x0d,0x4e,0x55,0x3e,0xd9,0x0b,0xb1, - 0x84,0x4d,0xb3,0x7e,0xe0,0xf0,0x3c,0xca,0xa7,0x7b,0xf9,0xb4,0x05,0x53,0xec,0x66, - 0x20,0xc7,0xba,0xf9,0xa9,0x95,0x16,0xf4,0x5c,0x96,0x38,0xcd,0xdc,0x13,0xca,0xc5, - 0xc8,0xb6,0x82,0xc7,0xf2,0x6a,0x76,0x03,0xde,0xb0,0xf5,0xf6,0x14,0x8e,0xda,0xc3, - 0x04,0x69,0x84,0x1d,0x86,0xd6,0x02,0x54,0x33,0x7d,0xe0,0xba,0xbb,0x3f,0xdc,0x17, - 0x0b,0x6f,0x0a,0x89,0x05,0xb3,0x3b,0x94,0xc3,0xc4,0x83,0xda,0x0b,0x39,0x5a,0xbd, - 0x33,0x10,0xa4,0x54,0x2b,0x97,0x57,0x16,0xf0,0x78,0x2e,0x1c,0x83,0x11,0x79,0x98, - 0xd4,0xf2,0xc8,0x3a,0x98,0xb3,0x58,0x6c,0xc6,0xb7,0x27,0x62,0xab,0xab,0x1d,0xe1, - 0xc8,0x15,0x9f,0xed,0x40,0xf5,0xd3,0x1d,0x0a,0x05,0xd7,0x2b,0x44,0x48,0x48,0x22, - 0xc5,0x01,0x17,0x9a,0x3e,0x06,0x4d,0x75,0xf3,0x93,0xf8,0xff,0xfb,0x74,0xaa,0x6e, - 0xf1,0xe3,0x32,0x6e,0x7c,0xaa,0xa8,0xe8,0x39,0xcb,0x3d,0x5c,0x36,0x59,0xa3,0xc7, - 0xc7,0x52,0x23,0x24,0x06,0x24,0xcb,0x84,0x09,0xa5,0xa9,0xd9,0xf0,0xf6,0xce,0x1e, - 0xde,0x0a,0x52,0xc2,0x67,0x24,0x6b,0x6f,0xef,0xd0,0xa4,0x85,0x0b,0x23,0x1d,0xe4, - 0x93,0x02,0xb3,0x51,0x59,0x5e,0x36,0xa2,0x13,0x6d,0xbf,0x3c,0x4d,0x96,0xf2,0xb2, - 0x51,0xb5,0x38,0xf9,0x92,0x50,0xe2,0xbd,0xdc,0xe8,0x4e,0x51,0x92,0xf5,0x1d,0x2c, - 0xe3,0xc1,0x2f,0xcf,0xfd,0x28,0xa5,0x4e,0xb1,0x30,0xa8,0x6f,0x32,0x21,0x80,0x8d, - 0xbe,0x09,0x34,0x99,0x56,0x62,0xd6,0xb0,0xe7,0x30,0x27,0x16,0x49,0x7f,0xc9,0xa6, - 0xc5,0xae,0xb3,0x0f,0xb6,0xfe,0x1e,0x61,0x5a,0x23,0x91,0x4b,0x66,0x97,0x0f,0x3a, - 0xbd,0x7c,0xb3,0xd0,0xae,0xf9,0xcd,0x02,0x3d,0xe4,0x9b,0x05,0x8f,0xa0,0x6f,0x16, - 0xb3,0x9b,0x6f,0x16,0xa0,0xf1,0x83,0xe9,0x12,0xe6,0x05,0xad,0xab,0xe9,0x60,0x8c, - 0x3c,0x0b,0xe3,0xf8,0x79,0x49,0x60,0xbc,0x55,0x17,0x61,0xc2,0x55,0xd0,0x6d,0x18, - 0x5b,0xf1,0xa9,0x54,0x84,0x09,0x7f,0x71,0x3c,0x61,0x84,0x15,0x29,0x9f,0x97,0x39, - 0x47,0x15,0x87,0x55,0xcc,0x8c,0x7e,0x5f,0xa7,0xc5,0xfb,0x61,0x48,0x5b,0xba,0x43, - 0xd2,0xd5,0xd0,0x8b,0x61,0xff,0xa0,0xfe,0xbc,0xdf,0x94,0x99,0xe5,0xb9,0x7f,0xaf, - 0xe8,0xdd,0x30,0xa3,0x1e,0x0c,0x12,0x83,0x5e,0x50,0x5d,0xff,0x02,0x1a,0x79,0xd9, - 0x34,0xd8,0x8e,0xed,0x0d,0x25,0x53,0xb0,0x9d,0xe1,0x36,0x37,0xdd,0x2d,0x8b,0x1a, - 0x0c,0xdc,0x5d,0x20,0x31,0x69,0x32,0xa1,0x9f,0x9e,0x5c,0x10,0x36,0xca,0x3e,0x53, - 0xe6,0x4e,0x1c,0x34,0x59,0xec,0x2a,0x02,0x12,0x4c,0xa6,0xe2,0x3f,0x81,0xba,0x4f, - 0xf3,0xf7,0x03,0xf5,0xa4,0x5b,0x58,0xaa,0x56,0x3b,0x69,0xc2,0x4e,0xc1,0xf5,0xcd, - 0xb4,0x92,0x2c,0x01,0x68,0x84,0x25,0x05,0x16,0xbf,0x3f,0x95,0x29,0x07,0xcc,0x1b, - 0x85,0xdf,0x78,0xde,0xfc,0x5f,0xbd,0xe6,0x3f,0x8f,0xe7,0xbb,0xb7,0xea,0x9a,0x4f, - 0x5b,0xe7,0x7e,0xd3,0x4a,0x88,0x9d,0xc1,0x9d,0x1c,0x63,0x13,0x45,0x62,0xd8,0x6e, - 0x93,0x76,0x2b,0x78,0xc4,0xdc,0x65,0xd4,0xa5,0xc1,0x29,0x16,0xc6,0x88,0xef,0xe5, - 0xa0,0x02,0x15,0xf2,0x57,0x23,0x56,0xc9,0xf1,0x44,0xf5,0xf8,0xe2,0xcb,0x2e,0x39, - 0x61,0xe7,0x88,0xe9,0x49,0x15,0xb8,0x7b,0xe2,0x7b,0xa9,0x73,0x3e,0xa7,0xeb,0x5d, - 0x71,0xb1,0x47,0x28,0x5c,0x3e,0x31,0x5f,0x79,0x16,0x0b,0x0f,0x89,0x53,0x48,0x44, - 0xaf,0x43,0x4a,0xd7,0xf1,0x7a,0x35,0x17,0x01,0x41,0xf4,0x12,0x89,0xdd,0x12,0x18, - 0xaf,0x53,0x73,0x22,0xc0,0xf3,0x42,0xe4,0x52,0x24,0xb5,0x10,0x95,0x98,0xd9,0x47, - 0x68,0xce,0x8a,0x0f,0x17,0xeb,0xb2,0x83,0x4c,0x16,0xb3,0xe9,0x4c,0x3d,0xb7,0xa8, - 0xe3,0x0a,0xf8,0x3b,0x26,0xe9,0x0d,0xee,0xa9,0xe9,0x5d,0x5c,0x5a,0x01,0xc0,0x71, - 0x6b,0xc5,0xae,0x77,0x4a,0xe7,0x56,0xe4,0x79,0xe4,0x4c,0x22,0x0c,0x28,0x1a,0x5e, - 0x3a,0xe1,0x10,0x0b,0xbe,0x3b,0x48,0x7b,0x92,0x65,0xa2,0x87,0x2c,0x82,0x0f,0xa1, - 0xa8,0x05,0xc5,0x41,0xc6,0x83,0x0f,0x21,0xfb,0xfc,0xb0,0xfe,0x5f,0xb8,0xeb,0x13, - 0x27,0x77,0xdb,0x41,0x21,0xae,0x31,0x80,0x1d,0x00,0x70,0x1b,0x53,0x18,0xef,0x86, - 0x97,0x53,0x0e,0xe3,0x98,0x50,0x2e,0xeb,0x4a,0x04,0x85,0x99,0x8f,0x60,0x30,0x23, - 0x96,0xd8,0x20,0xa8,0x81,0xf5,0x61,0x27,0xde,0x78,0xac,0xeb,0x90,0x8a,0xd3,0x0e, - 0x9c,0x53,0x34,0x8d,0x7f,0xae,0x72,0x2b,0x84,0x99,0xc9,0xf1,0xd1,0xa3,0xaa,0x99, - 0x75,0x3d,0x6d,0xc5,0xb6,0x4a,0x1d,0x28,0xb6,0x82,0x7d,0x78,0xfb,0x92,0xf0,0x0f, - 0x72,0xef,0x25,0xa0,0xa7,0x62,0x86,0xab,0x3e,0x93,0xb1,0x57,0x15,0x71,0x72,0x23, - 0xbe,0xc0,0x5a,0x61,0x95,0x00,0xeb,0x86,0xca,0xf7,0x38,0xe5,0xaf,0x23,0x37,0x76, - 0x1d,0xa9,0xb8,0x9b,0xba,0x11,0x2f,0x4a,0x7a,0xb7,0x98,0x51,0x99,0xa9,0x7e,0xdd, - 0x08,0x05,0x9c,0x1a,0x1a,0xfa,0xf8,0x83,0x1b,0xf6,0xe1,0xc4,0xfe,0x01,0x0d,0x7a, - 0x35,0xbd,0xe3,0xfb,0x4e,0x9e,0xab,0x40,0xeb,0x54,0xc8,0xeb,0xa7,0xbe,0x7f,0xa1, - 0x87,0x22,0x6f,0xdb,0x69,0x1e,0x7e,0xb8,0xc3,0x87,0xff,0x56,0x2f,0x43,0xca,0xfd, - 0x5a,0x17,0x43,0xb6,0x03,0x01,0x2a,0x30,0xf8,0x6a,0xbc,0xbe,0x04,0xc5,0x64,0x32, - 0x5e,0xe7,0xfa,0x45,0xa5,0x3f,0x91,0x3b,0x8c,0x50,0x68,0xb6,0x19,0xe9,0xba,0x79, - 0xc6,0xf1,0xce,0x14,0xb9,0x19,0xd5,0x8b,0x50,0x71,0x01,0xab,0xae,0x40,0xb7,0x33, - 0x06,0x0d,0x78,0xe5,0xfa,0xe5,0x09,0x48,0x92,0x56,0x87,0x3d,0xa4,0xe9,0x65,0x7b, - 0x82,0x56,0xe0,0xb4,0x42,0x51,0xd7,0x08,0xd4,0x06,0x4e,0x00,0xee,0x00,0x93,0xf3, - 0x1d,0x5b,0xa4,0xb0,0x15,0xa8,0xfb,0xa0,0xba,0xf2,0xcd,0xac,0xa3,0x45,0xf7,0x07, - 0x7d,0x7a,0x40,0xe3,0xb1,0x37,0xf9,0x1e,0x1c,0x29,0xe9,0xa2,0xad,0xad,0xe1,0x79, - 0x15,0xaa,0xa7,0xb3,0x15,0xa0,0xcf,0xc0,0x8d,0xbe,0xb4,0xba,0x78,0x15,0x42,0xb3, - 0x3f,0xa4,0xfa,0x12,0x01,0xb4,0x1d,0x7f,0x88,0xec,0x67,0x03,0x9e,0x94,0x8a,0x9a, - 0xb6,0xbe,0xd3,0xc3,0x0f,0xb6,0x5a,0xb5,0x2d,0xec,0x4c,0x22,0xbe,0x7e,0xdf,0xcf, - 0xa0,0x83,0x89,0x35,0x41,0xf2,0xf1,0xe3,0x60,0xfc,0x71,0x54,0xec,0xe9,0xe5,0xb2, - 0x68,0x3b,0xe1,0xc7,0xd3,0x6c,0x30,0x8c,0x5c,0x18,0xb9,0xc0,0x1c,0x77,0x76,0xdb, - 0xd5,0x8b,0x4c,0xc6,0xa9,0x99,0xca,0x53,0x66,0x42,0x8f,0x42,0x49,0x96,0xa9,0x88, - 0xf9,0x4d,0x6d,0xb5,0x17,0xea,0x59,0xbc,0xe3,0x9d,0x95,0x0b,0x81,0x16,0x6b,0x49, - 0x71,0xe5,0x0d,0xde,0x7a,0xbf,0x50,0xd5,0xb1,0x7a,0x8d,0x99,0x8e,0xe6,0x33,0xb0, - 0xdb,0xce,0xe2,0x88,0xde,0x84,0x35,0x06,0x6a,0x02,0x9a,0xea,0xd8,0x65,0xe0,0x2a, - 0x1f,0x47,0xeb,0x5c,0x56,0x68,0xa5,0xc4,0xe8,0x15,0x53,0x51,0x09,0xea,0x2b,0xb3, - 0x2a,0x64,0x93,0xef,0xe4,0xa4,0xa4,0x25,0x99,0x0d,0x66,0xc3,0x2c,0xa1,0xe1,0x6a, - 0x16,0x22,0x33,0x21,0x0a,0x0f,0x9a,0xfc,0xd5,0x9b,0x16,0x39,0x6d,0xb1,0x30,0x85, - 0xeb,0x6d,0xf7,0x6a,0x2e,0x2a,0xc1,0xcb,0x43,0x29,0x22,0x94,0x0c,0xa6,0x24,0x0d, - 0xa7,0x15,0x58,0xf8,0x8e,0xa6,0xe2,0x87,0x83,0xf1,0x27,0x37,0xb9,0x89,0x24,0xb3, - 0xe5,0xc4,0xb4,0x89,0xdc,0x97,0x39,0xcd,0x14,0x17,0xb3,0xd9,0xb4,0xb3,0xb5,0x45, - 0xfb,0x8c,0x69,0x23,0xdc,0x0a,0xbb,0x92,0xd9,0x29,0x8e,0xe0,0x34,0xf9,0x82,0xb4, - 0xa1,0xf2,0x8e,0x92,0x57,0x5e,0x9f,0x32,0xe7,0xbe,0x35,0xb8,0xc2,0xd0,0x41,0x15, - 0xfe,0x25,0x74,0x51,0xb9,0x97,0x83,0x6e,0x2d,0x1f,0xd6,0x2b,0x2b,0xe5,0x52,0x88, - 0x61,0xfa,0x62,0xb1,0xdb,0xee,0x56,0x32,0xf2,0xdd,0x56,0x3f,0x4c,0xa2,0xe4,0x99, - 0x55,0x1d,0x29,0x38,0x3d,0x73,0xdc,0x6c,0xde,0x89,0x83,0x3c,0x48,0x8c,0x3b,0x61, - 0x68,0xa2,0xbd,0xa5,0x8f,0x69,0xdc,0x69,0x4f,0x20,0x0c,0x67,0x19,0x7a,0x9f,0xf5, - 0x8d,0x70,0x59,0xd0,0x20,0x38,0xa5,0x95,0x3d,0x43,0x20,0x82,0x26,0x9b,0xe1,0xd6, - 0x6a,0x73,0x79,0x81,0x9b,0x7c,0xf2,0x1d,0x34,0xcc,0xe2,0x2e,0x7c,0x53,0x03,0xaa, - 0x25,0x8e,0x41,0xa3,0xf8,0x76,0xf5,0xc5,0x5b,0xa1,0xa9,0x5d,0x83,0x65,0xc3,0xaf, - 0x97,0xb3,0xbf,0xd2,0x2a,0x20,0xf6,0x59,0x2f,0x90,0x56,0xda,0x0a,0x9f,0xbd,0xe7, - 0x12,0x9f,0x6e,0xf5,0xc8,0x8d,0x45,0xf8,0xdf,0x93,0x4b,0x3a,0x11,0x36,0xf7,0xbd, - 0x82,0x99,0x0e,0x50,0x73,0x17,0x38,0xe1,0xa9,0x44,0x45,0x8d,0xfd,0xd7,0xaf,0x10, - 0x10,0x32,0xdd,0x79,0xd4,0x2d,0xdf,0x29,0x20,0xe3,0x8f,0x30,0xad,0x3c,0x0a,0x25, - 0x8a,0xc8,0x4f,0x34,0xa9,0x5c,0x23,0x18,0x15,0xbd,0x16,0x54,0x09,0x8e,0x8b,0x18, - 0xf2,0xed,0x33,0xfa,0xfa,0x23,0x7e,0x79,0xf1,0xb9,0xa0,0x07,0x86,0x1b,0x8c,0xcf, - 0x26,0x02,0x74,0x8a,0x6b,0x3a,0xd0,0x90,0x50,0x4f,0xc0,0xf4,0xaf,0x92,0x11,0xa7, - 0x07,0xd1,0xef,0x87,0xfb,0xb1,0x00,0xb2,0x47,0x02,0x00,0x66,0x98,0xb7,0x14,0x60, - 0xce,0xb6,0xf7,0x4d,0xd3,0x73,0x6e,0x05,0x54,0xb6,0x0b,0x55,0xa4,0xf6,0xbe,0x73, - 0x20,0x1f,0x05,0x70,0x44,0xbd,0x1e,0x7e,0x20,0xc2,0x5f,0xb2,0xde,0x94,0x29,0x7c, - 0x77,0xf0,0xfe,0xf9,0x6f,0x01,0xfb,0x9a,0x80,0x23,0x87,0x21,0xec,0x76,0x8b,0x59, - 0x70,0x82,0xc2,0x24,0x4f,0x19,0x7d,0x8b,0xb2,0xbd,0xe1,0xed,0xdb,0x45,0x66,0x9c, - 0xe7,0xb1,0x81,0x49,0x22,0x3b,0x39,0xf8,0x04,0x60,0x8c,0xc4,0x57,0x37,0xa3,0x19, - 0x6b,0xa8,0xcb,0x8b,0x9c,0xe4,0x0e,0x48,0x21,0xf2,0x0d,0xeb,0xd3,0xfc,0xc9,0x23, - 0xba,0xdc,0x7f,0x83,0x6b,0x17,0x79,0x93,0x84,0x2a,0x53,0x25,0xda,0x05,0x9c,0x52, - 0xa6,0xbc,0x55,0x2d,0xfe,0x79,0xf1,0xc9,0xe6,0x44,0x64,0x19,0xe3,0x6a,0x50,0x04, - 0xd9,0x51,0x91,0x0d,0xaf,0xb2,0xc2,0xcb,0x4f,0x3f,0xd3,0x0c,0x99,0xf7,0xc5,0x3f, - 0x47,0xa5,0x68,0xf9,0x14,0x44,0xac,0x2e,0x63,0xb6,0x95,0x85,0x89,0xd2,0xda,0xb4, - 0x04,0x0d,0x39,0xd2,0x09,0x8d,0xb4,0x31,0x7a,0x3c,0xeb,0x3f,0x2c,0x82,0xe7,0xfb, - 0xaf,0x03,0x7c,0x18,0x14,0xe8,0x03,0xc5,0x72,0x55,0x82,0xf9,0x60,0x3c,0xfb,0xde, - 0xd4,0xa8,0xd7,0x47,0xec,0x51,0xc6,0x01,0x2e,0x8d,0x03,0x49,0xc0,0x4a,0x14,0x44, - 0xec,0xea,0x21,0x43,0x81,0x16,0xb4,0x45,0xd6,0x7c,0x93,0x8b,0xc9,0xb4,0x26,0x8b, - 0xe5,0x01,0x96,0x18,0x15,0x1c,0xb2,0xde,0x4c,0xf2,0x23,0x9a,0x8c,0xec,0xc0,0x11, - 0x60,0x26,0xff,0xac,0xdb,0xf1,0x5e,0xde,0x1b,0x59,0xd7,0x71,0x85,0xec,0xde,0xf8, - 0x40,0x94,0x8e,0x43,0x13,0x78,0x1f,0xcb,0x0d,0xb1,0x3c,0x06,0x03,0x75,0xf1,0x43, - 0xae,0xee,0xa4,0x13,0xba,0xd1,0xda,0x80,0x93,0xc7,0x63,0x96,0x1b,0xae,0x73,0x06, - 0x1a,0xa3,0x79,0x06,0x86,0xd3,0x4f,0xf9,0x3d,0x88,0xd8,0x59,0x06,0x6f,0x3f,0x92, - 0xc0,0x78,0xd6,0x88,0xab,0xb9,0x04,0x35,0x8a,0x7b,0x97,0xe5,0xe6,0xad,0x09,0xf5, - 0x7a,0x6d,0x19,0x5c,0x3a,0x48,0xc3,0x6f,0xa5,0x14,0x74,0xc3,0x04,0xbe,0x40,0x92, - 0x40,0xbc,0x3f,0x2c,0x65,0x6a,0xf6,0x07,0xbd,0x73,0xca,0xf9,0xf2,0x66,0x06,0x9b, - 0x68,0xad,0x08,0x52,0xc7,0x93,0x82,0x96,0x65,0x53,0xce,0x70,0x02,0xa8,0x17,0x97, - 0xa3,0xa9,0x71,0xe2,0xa6,0x95,0xa7,0x0f,0x85,0x86,0xb5,0xab,0xb8,0x32,0x2e,0x73, - 0x81,0x6d,0xd2,0xd0,0xf8,0xad,0xe4,0x3a,0x07,0xbb,0x39,0x23,0xbc,0xa5,0x0e,0x33, - 0xb9,0xc9,0x5d,0xcd,0x27,0x8d,0x4d,0x3f,0x5e,0x2e,0x0b,0x93,0xe5,0xbd,0x22,0x03, - 0x5d,0x7c,0xba,0x09,0x54,0x35,0xd4,0x69,0xb7,0x1d,0x17,0x90,0xf6,0x07,0x05,0x88, - 0xc1,0x1a,0x14,0xf4,0x66,0x33,0xcc,0xe7,0xfd,0x40,0xbe,0xb9,0x80,0x10,0x0f,0xb9, - 0xb1,0x7b,0x7d,0x8c,0x51,0x03,0x83,0x3e,0xdc,0xcf,0x6e,0x6e,0x1d,0xd0,0x42,0x40, - 0xff,0x80,0xfd,0x7f,0x0d,0x6c,0x30,0x67,0xad,0x91,0xc9,0x03,0xe0,0xf3,0x69,0x41, - 0x70,0x68,0x5b,0x28,0xb3,0x83,0x4b,0x89,0xcf,0xfd,0xf3,0xbb,0x03,0x0f,0xe4,0xec, - 0xac,0x84,0x41,0xa8,0x6e,0x17,0x0a,0x10,0x38,0xb6,0xf4,0x27,0x45,0xee,0x8e,0xba, - 0xd4,0xd0,0x5c,0x36,0x19,0xd5,0xe4,0xcb,0x66,0x04,0xc1,0xbd,0x72,0xca,0xb3,0x85, - 0x5a,0xc1,0x00,0x8c,0x5a,0xe3,0x86,0xa6,0x68,0xf8,0xfe,0xea,0xcd,0xb6,0x86,0x44, - 0xa8,0xe6,0xb3,0x83,0x74,0xcc,0x5c,0xe7,0xe3,0x2e,0x02,0x3d,0x1d,0x5e,0xf6,0x33, - 0xce,0x4a,0x92,0xe3,0x80,0xcb,0x1d,0xe8,0xf0,0x2c,0xfc,0xdc,0xb2,0x3d,0xc1,0xfc, - 0xc5,0xaf,0x83,0x42,0xda,0x6d,0x38,0xb8,0x72,0x51,0xf8,0xf9,0xa0,0x3f,0x3b,0x2b, - 0xfc,0x7c,0xda,0xde,0x2e,0xa9,0xd9,0x4c,0xce,0x09,0x64,0x50,0x57,0x96,0x02,0x49, - 0x6e,0x4a,0x3a,0x6b,0x14,0x94,0xe5,0x4e,0x0e,0x69,0x9d,0x97,0xf0,0x9b,0x6a,0xb2, - 0x98,0xf9,0xa1,0x1e,0x5a,0x1a,0xea,0xc5,0xa0,0xa8,0x81,0x57,0x7a,0x5c,0xef,0xbd, - 0x96,0xa2,0x65,0xa7,0xb3,0x2e,0x59,0x6e,0x46,0x9d,0x75,0x15,0x74,0x6e,0x1e,0x16, - 0x39,0xb5,0xfa,0x64,0x64,0x7e,0x9a,0xac,0x9a,0x69,0x42,0x44,0xd0,0x14,0xde,0xaf, - 0x35,0xcd,0xf8,0x5c,0x18,0x0d,0xe3,0xad,0x4b,0x9e,0xeb,0x15,0xb8,0x42,0x22,0xfa, - 0x31,0xed,0x85,0xb1,0xba,0x58,0x72,0x1d,0x57,0xb4,0x0e,0xb9,0x2e,0x22,0x25,0x59, - 0x5f,0xe7,0x93,0xf1,0x82,0x18,0x76,0x9b,0xb0,0x9f,0x46,0x75,0x34,0xeb,0x7a,0xb1, - 0x15,0x74,0xaa,0xe3,0x06,0x06,0x51,0x99,0x01,0xd4,0x3b,0x9e,0x0d,0xe6,0xb4,0x37, - 0x6c,0xea,0x5b,0xa5,0x46,0x9a,0xa4,0x83,0x18,0x13,0x94,0xae,0x55,0x1e,0x8a,0x88, - 0xa3,0x86,0x54,0x66,0x2f,0x5d,0x79,0x86,0xe8,0x77,0xb3,0xac,0xb0,0x0b,0x15,0xbf, - 0x05,0xf2,0x61,0x32,0xf6,0xa4,0x0b,0xdd,0x05,0x4b,0xee,0xc9,0xac,0x27,0x1e,0xde, - 0x41,0x3e,0x7e,0xa1,0x69,0x93,0xbd,0x6c,0x96,0xcb,0x92,0x2a,0xa6,0xa1,0x18,0x45, - 0xe0,0x62,0x71,0x11,0xdb,0x9c,0x6c,0x7c,0x20,0xa3,0xec,0x7a,0x0c,0xe1,0x0d,0xe3, - 0x5a,0xa0,0x50,0x6a,0x15,0x4b,0x82,0x04,0xdd,0x50,0x96,0x33,0x7c,0xce,0xdb,0x5b, - 0x21,0x4e,0xa7,0x5f,0x61,0x82,0x98,0x27,0x28,0xf9,0xaf,0x9f,0xbf,0xa9,0xcd,0x13, - 0xf4,0xa6,0x2b,0xb2,0x89,0x37,0xe4,0x6b,0xd5,0xcb,0x3d,0x7f,0xa7,0xf9,0x27,0x53, - 0xb7,0x48,0x24,0x54,0xb2,0x0a,0x98,0x21,0x13,0xad,0x82,0x12,0xed,0xae,0x5f,0xd7, - 0xda,0x4f,0x2b,0x21,0x12,0xd1,0xa1,0xe7,0x18,0x59,0x76,0xc2,0x93,0x7c,0x3c,0xea, - 0xaa,0x33,0xa6,0x66,0xc2,0xe8,0x34,0x04,0x5e,0x5c,0xce,0x30,0x8f,0xd6,0x82,0x04, - 0x51,0xd1,0x1b,0x51,0xe7,0x2a,0x02,0xc5,0x64,0x1a,0x43,0xd7,0x98,0x97,0xf8,0xf5, - 0x56,0xab,0xa0,0xd9,0xb4,0xda,0x0c,0xb4,0x8f,0x3a,0x7b,0x0e,0x8f,0x37,0x8e,0xad, - 0xc0,0xfc,0xeb,0xcb,0xff,0x66,0x79,0x59,0x6f,0x7f,0x93,0xbc,0x8e,0xc0,0xbf,0x49, - 0xc8,0x71,0x6a,0xc6,0x98,0x2f,0x39,0x25,0x38,0xc9,0x2e,0x68,0xda,0x80,0xbb,0xaf, - 0x76,0x12,0xc2,0x69,0x13,0xc9,0xa7,0x0b,0xe3,0x71,0x6d,0x71,0x39,0xce,0xa9,0x1f, - 0x83,0x28,0x8b,0x08,0x53,0x05,0xfa,0x88,0xbc,0xa2,0x6d,0x4e,0x8c,0x77,0x33,0x60, - 0xa0,0x4a,0x2c,0x68,0xb4,0xc9,0x8d,0xd8,0x05,0x9c,0x3e,0x03,0x8f,0xbc,0x36,0xf5, - 0xb5,0xdc,0x80,0xbb,0x98,0x4d,0x08,0x01,0x08,0xf0,0x82,0x31,0x30,0x5f,0x02,0xf3, - 0x85,0x48,0x56,0x85,0x6d,0x10,0x6d,0x37,0xd9,0x91,0x1f,0x95,0xea,0x20,0xb9,0x2c, - 0x4e,0x6a,0x48,0xfc,0xfd,0xe0,0x47,0x61,0xf2,0x57,0x13,0x09,0xfc,0x96,0x50,0xe0, - 0xfd,0x02,0x22,0xe5,0x68,0xd5,0x9e,0xb7,0x6b,0x3a,0x2d,0x25,0xe5,0x2a,0x83,0x75, - 0x65,0x30,0xbb,0xec,0xdb,0x8f,0x93,0xb1,0xfd,0x48,0x2f,0xe7,0xce,0x57,0xb9,0x4e, - 0x04,0x6d,0x28,0x44,0xcd,0xca,0x84,0x23,0x1f,0x02,0xfe,0xb0,0x2d,0x73,0xcb,0xe9, - 0x50,0xe5,0x10,0x71,0x76,0xe4,0x08,0xcf,0xe8,0x4b,0x36,0x4f,0xa1,0x99,0xa6,0xf9, - 0x15,0x23,0x57,0xb9,0xa4,0xbc,0x7a,0x4a,0x19,0xca,0xbe,0x17,0xcc,0xe9,0x3e,0xb5, - 0x2b,0x7a,0x2b,0x7d,0x64,0xd4,0x58,0x56,0x19,0xcf,0x8a,0xd7,0x91,0x1f,0x45,0x32, - 0xce,0x20,0x41,0xfa,0xe2,0xb0,0xe2,0x41,0x2a,0x36,0x7e,0xb0,0x6c,0xc8,0xc6,0xf0, - 0x3a,0x3e,0x86,0x15,0xbd,0x7e,0x9e,0xa1,0x6f,0xeb,0x59,0x3d,0xbe,0xe1,0x98,0xde, - 0x7c,0xeb,0x61,0x84,0xaa,0x8b,0xb9,0xb3,0x1e,0xe2,0x02,0x94,0xbd,0xe6,0x72,0xf6, - 0xf9,0xf4,0xf3,0x29,0x93,0xf8,0x82,0x9e,0x03,0x7e,0x01,0x5f,0x4e,0xc1,0x9f,0xe8, - 0x1a,0x02,0x16,0xf1,0xc6,0xc9,0x5c,0x36,0xe7,0x69,0xaf,0x6f,0x18,0x9a,0xd1,0x28, - 0x60,0xe7,0x31,0xc1,0x8c,0x56,0xbf,0x82,0x9c,0x4e,0x4b,0x47,0xe3,0x75,0x27,0xb4, - 0x15,0x26,0x1f,0x75,0x30,0x76,0xc2,0x4c,0xf5,0xb7,0xed,0x9d,0x27,0x37,0xe4,0x4d, - 0x2e,0xa0,0x99,0xa7,0x80,0x46,0x17,0x1f,0x56,0xe6,0x9a,0x42,0x0c,0x21,0x60,0x10, - 0xdc,0x04,0x91,0xde,0xa2,0xaf,0xdd,0x7a,0x48,0xeb,0xf0,0x30,0xd8,0x26,0xff,0x47, - 0x95,0x47,0xcc,0x61,0xbd,0x11,0x04,0x85,0xed,0x27,0x8b,0xdd,0x9d,0x05,0x39,0xca, - 0xbb,0x24,0x89,0x6c,0x48,0x8b,0x21,0x3d,0x54,0x0b,0xba,0x86,0x6a,0xa0,0x3f,0x39, - 0xf7,0x66,0x42,0xfe,0x48,0x66,0x03,0x41,0x41,0xf3,0xd0,0xd8,0x4c,0xce,0xe8,0x8a, - 0xc1,0xbc,0xdd,0xdc,0xde,0x69,0xc3,0x37,0x61,0xd9,0x52,0x24,0xc7,0x91,0x8a,0x02, - 0x26,0x70,0x84,0x85,0xd5,0x08,0x67,0x59,0x8e,0x10,0x83,0x01,0xa7,0x22,0xb2,0x66, - 0xd9,0x32,0xe7,0xa7,0x2d,0x3e,0xa2,0x6c,0x0d,0x8c,0xba,0x01,0x2d,0xf5,0xf3,0x7e, - 0xc0,0x89,0x81,0x26,0x56,0x86,0x94,0xe6,0xcc,0x6f,0xfa,0x19,0x0d,0x3a,0xc3,0x14, - 0x3c,0xd2,0x34,0x54,0x64,0xb6,0x3b,0xe8,0xe7,0x43,0xfd,0x2c,0x6d,0x07,0x82,0x77, - 0x4a,0x52,0xc5,0x53,0x5f,0x6b,0x35,0x34,0x96,0x4f,0x06,0xd2,0x6d,0x44,0xe1,0x22, - 0x90,0x4d,0x1f,0xfa,0xe5,0x44,0x3c,0xda,0xe3,0x1a,0x32,0xfa,0xc0,0xd9,0xd9,0xe0, - 0x74,0xa9,0x31,0x47,0x24,0x00,0x0d,0x5a,0x84,0xa7,0xe0,0xed,0x0f,0x81,0xd1,0x16, - 0xf6,0x57,0xec,0x65,0x20,0xbf,0x5b,0xae,0x0c,0x87,0xa4,0xdf,0xc2,0xcc,0xdb,0x9a, - 0x8c,0x87,0x20,0xeb,0x39,0x52,0x02,0xa4,0x34,0x91,0x12,0x60,0x43,0x3f,0x93,0xc3, - 0xb5,0xa2,0x70,0x8b,0xd1,0xdd,0xab,0xc3,0xd2,0xd7,0x2c,0x6c,0x70,0xba,0xc3,0x55, - 0xb4,0xdb,0x25,0x3a,0x78,0xd4,0x0e,0x52,0x2c,0x49,0x65,0xd7,0xe6,0xfd,0x70,0x6b, - 0x09,0x93,0x78,0x4e,0xac,0xc3,0x44,0x3b,0xda,0x7c,0x25,0x9e,0x51,0x0f,0xc3,0x13, - 0x6e,0x29,0xf9,0x9d,0x80,0xa7,0xcc,0xc8,0x27,0x8f,0x6e,0x97,0x00,0x4d,0xa1,0x06, - 0x5e,0x5e,0xd6,0x67,0xb8,0x1c,0xb3,0x22,0xa1,0x2f,0x59,0x04,0x16,0x0d,0xa7,0xe9, - 0x52,0xa8,0x9f,0x9f,0xd2,0xa6,0xad,0x7e,0x36,0xa3,0xb6,0x35,0x8a,0x11,0x85,0xeb, - 0x0d,0xc1,0xe9,0xcf,0x88,0x2b,0x98,0x7f,0x96,0x75,0xdf,0x4e,0xab,0x17,0x24,0x0d, - 0x95,0xa3,0x8d,0xd8,0x37,0x18,0xf5,0x86,0x0b,0x2c,0x38,0x39,0xc9,0x4e,0x74,0x14, - 0x9d,0x0f,0x08,0x9f,0xcc,0x9c,0x50,0x9c,0x03,0x5c,0xd7,0x23,0xf8,0x3b,0xe3,0xfc, - 0x01,0x12,0x88,0x9c,0xc5,0xf6,0xc2,0x76,0x25,0xb6,0x92,0x68,0xb1,0x9e,0x2a,0x31, - 0xb6,0x24,0x78,0x09,0xa0,0x40,0x0c,0xa2,0x45,0x70,0x82,0x5b,0xc4,0x59,0x21,0xd2, - 0x1c,0x3b,0x7f,0xd1,0x9c,0xe7,0x97,0x99,0x35,0x45,0x02,0x17,0x7e,0x46,0x82,0x95, - 0x46,0xb5,0x5b,0xf5,0x4f,0x5b,0xdc,0x03,0x71,0x91,0x21,0xaf,0xac,0xb2,0xcf,0x5f, - 0xec,0x07,0xf6,0x83,0x82,0xdb,0x53,0x8d,0xc4,0xb1,0xe0,0x73,0x16,0x2e,0x35,0x81, - 0x53,0x18,0xa7,0x4c,0xfd,0xae,0xfb,0x96,0xcc,0x40,0xd9,0x1d,0x51,0xc6,0x9c,0x60, - 0x76,0x62,0x83,0x07,0x7e,0x2e,0xd0,0x57,0x38,0x2f,0x2b,0x7d,0x55,0x0f,0x1a,0x1e, - 0x98,0x5b,0xeb,0x36,0x26,0xc7,0xab,0x77,0x49,0x80,0x48,0x0d,0x3d,0x39,0x67,0xba, - 0x34,0x5e,0x58,0xb7,0x6d,0x66,0x55,0x34,0xe0,0x94,0x89,0xb2,0x99,0xfb,0xf4,0x1a, - 0xf5,0xe8,0x8c,0xc6,0x19,0x7c,0xed,0x38,0x9a,0x07,0x64,0x57,0xba,0xb5,0x6c,0x7b, - 0xf4,0x26,0xb9,0xa5,0x68,0x28,0x3a,0xfc,0x82,0x35,0x27,0x2d,0xaf,0xe0,0x2f,0x2c, - 0x4f,0x60,0xb9,0x22,0xde,0xaa,0x97,0xc6,0x29,0x8e,0x82,0x00,0xe7,0x9f,0x90,0x9d, - 0xd0,0x6e,0x74,0x19,0x1a,0x82,0x87,0x6a,0x23,0x44,0xf0,0xd0,0x37,0x1f,0xd2,0xdd, - 0x87,0xbe,0x80,0x7a,0xd3,0x5f,0x2d,0xbc,0x1c,0xe7,0xbc,0xbc,0x60,0x2b,0xcc,0x60, - 0x4b,0xdf,0x4d,0x49,0x2d,0x12,0x6f,0xa6,0x2a,0xf7,0x70,0xdd,0xd9,0x34,0x42,0x52, - 0x2d,0x77,0xcb,0xe1,0x41,0x24,0x2f,0xc0,0x8f,0xc5,0x09,0x6d,0xce,0x80,0x49,0xad, - 0xa7,0xb0,0xcb,0x95,0xf1,0x8a,0xfc,0xa3,0x5e,0x31,0x03,0x6d,0xd7,0x03,0xdc,0x55, - 0x63,0x7f,0xf6,0xa4,0xff,0x83,0xf7,0xbd,0xbc,0x64,0x4b,0xec,0xd2,0xa4,0x98,0xf2, - 0x4b,0x76,0x07,0x04,0x26,0x5e,0xf0,0x61,0xa2,0x50,0x44,0xc3,0x55,0xbf,0x48,0xb3, - 0x38,0x36,0x6b,0x89,0x6b,0xeb,0x86,0xd9,0x8b,0x05,0x9f,0x02,0x8a,0x19,0x73,0x80, - 0xa3,0x0b,0x8d,0xb5,0x29,0xa1,0x6c,0xbe,0x69,0x08,0x62,0x36,0xf7,0x91,0x9d,0x63, - 0xeb,0x06,0x18,0xf0,0x4e,0x3e,0xdb,0x83,0xf6,0xcb,0xce,0x53,0x04,0x5b,0x10,0x2f, - 0x06,0x93,0x3e,0xe5,0x90,0xef,0x52,0xba,0x68,0x4f,0xea,0xab,0xa9,0x7a,0xc0,0x77, - 0x42,0xe6,0x16,0xdc,0xc2,0x5a,0xb5,0x5c,0xb5,0x8e,0x1a,0x1a,0x19,0x8b,0xc6,0x15, - 0x9d,0x4b,0x81,0xd1,0xca,0x4b,0xf9,0xe4,0x82,0xcb,0xce,0x09,0x46,0x46,0x83,0x7e, - 0x85,0x8b,0xf4,0x47,0x38,0x29,0xdf,0x39,0xc4,0x4b,0x01,0x5c,0x4e,0x66,0xb3,0x24, - 0x5a,0xc2,0x02,0x49,0xb1,0x4c,0xac,0x6f,0xb4,0xde,0x35,0xaf,0x69,0xc5,0x44,0xf9, - 0x2e,0x71,0xbb,0x29,0x3d,0x38,0x83,0x1c,0xb8,0x2a,0xdf,0xcd,0x52,0x49,0xaa,0x0b, - 0x9f,0x5c,0x09,0xd1,0x90,0xd4,0xea,0x33,0xcf,0x6a,0x32,0xdb,0x89,0x9d,0xd7,0xdf, - 0xa2,0xba,0x39,0x30,0xab,0x90,0x22,0x70,0x16,0xc1,0x03,0xdb,0x6c,0xc0,0xa6,0x5f, - 0x48,0x0a,0x6e,0x3e,0xb1,0xb2,0x90,0xe6,0x74,0x34,0xe8,0x4a,0x01,0x68,0xb5,0x8a, - 0xf0,0x19,0x37,0x53,0x24,0x67,0x01,0x7c,0x8a,0xe1,0x76,0xf8,0x1a,0x5c,0x55,0x7a, - 0xde,0x28,0xa2,0x3a,0x92,0x76,0x9a,0xbb,0xbb,0x4f,0x64,0x79,0xb6,0x64,0x59,0x9b, - 0x49,0x5d,0x6b,0xac,0xe8,0x5f,0x73,0x22,0x60,0xb3,0xa9,0xe9,0xa3,0x66,0xe3,0x37, - 0x55,0xa5,0xb8,0xb5,0x9e,0x4d,0x41,0xda,0xe1,0x3b,0x8d,0xc7,0x1e,0x61,0x8a,0x17, - 0x07,0x2f,0x05,0xed,0xe7,0x63,0x1f,0x5a,0xa7,0x6b,0x76,0x30,0x8d,0x7c,0x50,0x35, - 0x9a,0xa0,0x2a,0xda,0xed,0x30,0xd3,0xfe,0x93,0x55,0x81,0xb8,0xdb,0xf0,0xea,0x6f, - 0x81,0x26,0x04,0x58,0x79,0x79,0x66,0x73,0xe0,0x5a,0xc4,0xbd,0x22,0xe3,0x19,0xeb, - 0x70,0x3f,0x90,0x17,0x2b,0xad,0xcc,0x49,0x76,0x85,0xf0,0xb5,0x6d,0xa5,0x82,0x62, - 0x3c,0x62,0x1d,0xc4,0x9b,0xdf,0xde,0xe1,0x20,0x05,0x7b,0x00,0x39,0x5a,0xb6,0x36, - 0xd5,0x6e,0xcb,0x68,0xa6,0x16,0x7c,0x7c,0x5c,0x8e,0xb1,0x11,0x37,0xd9,0xcb,0x04, - 0x4b,0x9b,0x55,0xf1,0x60,0x00,0xe0,0x57,0xf5,0x37,0x2e,0x4e,0x85,0x6a,0x4d,0x8b, - 0x4f,0x3e,0x24,0x86,0x71,0x53,0xec,0x2d,0xd0,0x5a,0x0e,0x56,0x16,0x37,0x66,0xe0, - 0xa2,0x97,0x47,0xd3,0x1d,0x60,0x99,0xc9,0x14,0x56,0x27,0x36,0xb1,0xe9,0xb1,0x90, - 0x9e,0x00,0xf8,0x1b,0x44,0x9e,0xcb,0x51,0x29,0x39,0x9e,0xd0,0x72,0x0c,0xcb,0x2b, - 0x06,0x2c,0xdc,0x6c,0x68,0x59,0x55,0x63,0xc9,0x77,0x70,0x1b,0xf3,0xca,0x8a,0xea, - 0x62,0xb1,0x28,0xe9,0x21,0x5a,0x44,0x5a,0xc8,0x27,0x34,0x3a,0x46,0xcb,0x93,0xc2, - 0x49,0x3e,0xe8,0x9f,0x67,0xba,0x9a,0x70,0x41,0xf9,0xa0,0x37,0xd4,0x49,0x48,0x3e, - 0xaf,0xca,0x55,0x50,0x0f,0x38,0x15,0xa9,0x4c,0xe7,0x82,0xcc,0x64,0x61,0xc1,0x6f, - 0x60,0x66,0xa1,0xfc,0x86,0x2c,0x5c,0x9d,0x9c,0x27,0xbd,0x4b,0x3e,0x64,0x14,0xd8, - 0x42,0xca,0x44,0x22,0x4d,0x60,0xbc,0x6e,0x57,0x81,0x75,0x63,0xa1,0xd0,0x60,0x85, - 0xa4,0xb9,0x70,0xa6,0xa1,0x2c,0xa4,0x26,0xb8,0x60,0x24,0xd6,0x8e,0xb0,0xdf,0xd0, - 0x8b,0x03,0x4a,0xf1,0x35,0x75,0xcc,0xc0,0x7c,0x04,0xd5,0xd7,0x79,0x0f,0xe6,0xdf, - 0x0b,0x4c,0xb5,0x4e,0xad,0x33,0xb2,0x93,0x9b,0xd9,0x52,0x4c,0x3f,0xd2,0xe4,0xb6, - 0xa3,0x43,0xfa,0xf1,0xed,0xf3,0xf7,0x2f,0xac,0x26,0xc9,0x84,0xce,0xc9,0x46,0x76, - 0x13,0x5b,0x93,0xf4,0x53,0x0e,0xa7,0xda,0xa8,0x26,0x89,0x76,0x97,0x43,0xf8,0x74, - 0x5f,0xb7,0xb3,0x45,0xde,0xd9,0x32,0xba,0xd9,0x4a,0x74,0x87,0x2b,0xd0,0x9d,0xf5, - 0xc4,0xc7,0x2a,0x67,0xea,0x8d,0x8d,0xe9,0x1e,0x0e,0xe2,0x20,0x99,0x93,0xaa,0xd4, - 0x98,0xea,0x4d,0x86,0xac,0x8f,0xb3,0xd9,0x59,0xd1,0xe3,0xe1,0x20,0x41,0x4b,0xd0, - 0x34,0x09,0xa0,0x8a,0x04,0x73,0xc7,0x3e,0x6f,0x7a,0xdb,0xed,0x84,0xfa,0x3e,0xb6, - 0x65,0x80,0xbf,0x18,0xd0,0x0c,0xb2,0xe3,0x20,0x41,0xa2,0x22,0x19,0xd7,0xe0,0xe8, - 0x9d,0xe0,0x4c,0x56,0x0a,0x4b,0x02,0x92,0x7a,0x03,0xda,0x48,0x33,0x16,0xc7,0x37, - 0x07,0xaf,0x06,0xbf,0xf4,0x8a,0xe8,0x9c,0x3a,0x97,0x5a,0xec,0xc0,0x36,0x8b,0x3f, - 0xec,0x8f,0xfa,0x45,0x8b,0xcf,0x7c,0xde,0x9e,0x09,0xc4,0xb3,0xb4,0x62,0x8f,0x03, - 0xf1,0xe9,0x47,0x85,0x23,0x8f,0xca,0x33,0x74,0xeb,0x78,0xae,0x17,0xf2,0x2f,0x29, - 0xe3,0x19,0xec,0xde,0xe4,0x5e,0x3e,0x8c,0x8a,0xe8,0x23,0x03,0xa5,0xfc,0x17,0xc1, - 0x4c,0x01,0xcc,0x2f,0x4f,0xb7,0xdb,0x71,0xbd,0x9f,0x45,0x2f,0xa6,0xc3,0x65,0x6d, - 0x50,0x07,0x87,0x94,0x42,0xc8,0xff,0x78,0x4a,0x2f,0x42,0x55,0x63,0xdb,0x0d,0xaa, - 0xec,0xd8,0x26,0x24,0xea,0x09,0x3b,0xa2,0x80,0x15,0xdf,0x46,0x9a,0x21,0xd9,0x81, - 0xdd,0x80,0x63,0xeb,0x57,0x65,0x4c,0x7a,0x55,0xb9,0xff,0xa1,0xb6,0x8a,0x3f,0x52, - 0x0f,0xc8,0x7a,0x63,0x76,0x1e,0x36,0x68,0x41,0x99,0x3d,0x23,0xcf,0x21,0x41,0xe5, - 0xdf,0xd6,0x16,0xe6,0x02,0x9e,0xbe,0xd1,0x65,0x64,0x6d,0x1e,0x14,0x98,0x6c,0x33, - 0x1c,0xcc,0xb1,0xd4,0xd0,0x0d,0xd8,0x37,0x29,0x7b,0x56,0x00,0x92,0xfe,0x06,0xbb, - 0xe1,0xb6,0x35,0x74,0xed,0x7f,0xbc,0x8f,0x7a,0x0b,0xeb,0x26,0xb5,0x61,0xbf,0xd2, - 0x0f,0x4b,0xc3,0xe9,0x43,0x88,0x70,0x6c,0x06,0xf4,0x3d,0x19,0xee,0xe4,0x37,0x64, - 0x31,0x72,0x53,0x8d,0x74,0x7f,0x6d,0x4c,0x74,0xf8,0x7b,0xcc,0x7f,0x57,0x47,0x9d, - 0x2c,0xfb,0xd2,0xf2,0xc0,0x8d,0x4d,0x39,0xb3,0x95,0x24,0xcd,0x7c,0x92,0x66,0x4c, - 0xd2,0x8c,0x48,0x9a,0xd5,0x92,0xc4,0xdf,0xe3,0xd9,0x97,0x93,0x34,0xb3,0x24,0x59, - 0x8b,0x90,0x83,0xd7,0x6f,0x0f,0x79,0x1a,0x32,0xb7,0x20,0x12,0x7d,0x30,0x92,0x81, - 0x08,0x19,0x94,0x7c,0x7a,0x59,0x90,0xe2,0x56,0x65,0xde,0x0b,0xda,0xd7,0x41,0xc8, - 0xd7,0x9d,0x51,0x8e,0x9c,0xe6,0x1b,0xde,0x58,0x29,0xf0,0xf8,0xf1,0xee,0xe3,0x6e, - 0xd0,0x86,0x38,0x5f,0x04,0x14,0xdd,0x36,0x70,0x0f,0xab,0x28,0x39,0x97,0x4d,0xaf, - 0x3e,0x2a,0x3a,0xbb,0xe5,0xd6,0x47,0xf9,0x30,0x23,0xfc,0x98,0x05,0xf8,0x37,0x88, - 0x54,0x72,0x08,0x4e,0x48,0x16,0xa0,0x4d,0xbc,0x4a,0xe2,0xb1,0x81,0xc6,0xee,0xc1, - 0x52,0xce,0xaf,0x3c,0x61,0x0c,0x69,0x40,0x27,0x41,0xd6,0x22,0x9b,0xb6,0x39,0xb6, - 0x20,0xb7,0x5b,0x73,0x31,0x56,0xa1,0x07,0x1c,0xcc,0x1b,0xfa,0x68,0xe9,0x21,0x6d, - 0x2e,0x2f,0x66,0xff,0xf9,0xc7,0x61,0xa0,0xaf,0x38,0x29,0x90,0xb5,0xb1,0x08,0x5e, - 0xf6,0x77,0x1e,0x3f,0xde,0xfe,0x81,0xbe,0x21,0x16,0x23,0x19,0x71,0x8f,0x3f,0x19, - 0x49,0x4c,0x50,0xe8,0xa2,0x1f,0x9a,0xb5,0x13,0xd8,0xb1,0x58,0xab,0x40,0xd9,0x41, - 0x3c,0x91,0x84,0x4f,0x61,0x93,0x80,0x8f,0x94,0xf6,0x0f,0xfe,0x4a,0xf2,0x14,0x6f, - 0xa0,0x8a,0x2d,0x9a,0x0f,0x1f,0xbb,0xe7,0x0f,0x87,0xff,0xfd,0xee,0xe5,0x41,0x1a, - 0x42,0x95,0x4b,0x75,0x9d,0xd2,0xbe,0x27,0x4b,0x66,0x37,0xb3,0x8f,0xb0,0x7e,0xa3, - 0x22,0x12,0x11,0xaf,0x93,0xf3,0x7c,0xfa,0x91,0x92,0xf9,0x17,0x7d,0x2e,0xe9,0x51, - 0x11,0x1f,0x91,0x0b,0x9b,0x29,0x9a,0x19,0x7a,0xa7,0x59,0x22,0xba,0x89,0x1e,0x81, - 0xd3,0x6e,0x64,0x46,0x4a,0xe4,0x84,0x96,0xb5,0x8f,0xc2,0xad,0xb0,0x32,0xc4,0x6d, - 0xe9,0xfb,0x6f,0x7f,0x7b,0xf7,0xfc,0xcd,0xab,0xb7,0x6f,0xd4,0x70,0xc8,0x3b,0x54, - 0xd1,0x33,0xdc,0xfa,0x93,0x94,0x55,0xa6,0x14,0x17,0x72,0x9a,0x78,0x7f,0x6b,0x88, - 0x7f,0xd1,0xf4,0xa1,0xc6,0x20,0x83,0x9f,0x3c,0xbc,0xe4,0xd5,0x67,0xaa,0xfa,0x7c, - 0x33,0x59,0x15,0x41,0xa1,0x17,0xd1,0xd0,0xd7,0x78,0x7b,0x73,0x26,0xa6,0x52,0x7a, - 0xd6,0x45,0xc3,0x8d,0x09,0x00,0x94,0xa3,0xd8,0x82,0xe6,0x12,0xb5,0xed,0xd0,0xfc, - 0x07,0x3e,0x93,0x02,0x34,0x00,0xb4,0xe4,0x1b,0x8c,0x38,0x03,0x1f,0x44,0x90,0x30, - 0xa7,0x10,0x9d,0x40,0x3e,0x38,0xb9,0xcf,0x26,0x50,0x57,0x2a,0x09,0x99,0x6c,0xee, - 0x2c,0xaa,0x8a,0x3d,0x84,0xa2,0x41,0x8d,0x02,0xf9,0x12,0x98,0x4f,0xc8,0x09,0xda, - 0xb1,0x17,0xb0,0x60,0x66,0xbc,0xe8,0x49,0xb1,0xba,0x32,0x84,0x2d,0xd4,0x60,0x8a, - 0x23,0x0d,0x20,0x02,0x44,0x50,0xaa,0x8c,0x2c,0xb1,0xa0,0x07,0xfd,0x15,0x1d,0x98, - 0x7f,0x71,0xbc,0x3f,0xb8,0xd1,0xb1,0xec,0x1e,0x40,0x2b,0x6a,0xcd,0x4c,0x1c,0x02, - 0x88,0xe0,0xc7,0x93,0x1e,0x32,0xe3,0xb9,0x63,0x94,0xc4,0x89,0x0c,0x2a,0x0c,0x11, - 0xa8,0x21,0x4d,0x01,0x6a,0x12,0x25,0x4a,0x6d,0x53,0xd0,0x3e,0x00,0xd7,0x97,0x84, - 0x3c,0x2c,0x30,0xda,0xa3,0x60,0x29,0x46,0xf7,0xd7,0x18,0xa0,0x75,0x18,0x4a,0xa5, - 0xcd,0x60,0xcc,0xec,0x9c,0x9c,0x63,0x43,0xe8,0xc1,0x8a,0xea,0x5a,0x2c,0x93,0xc9, - 0x47,0xcb,0x48,0xe3,0xd2,0xfa,0x47,0xd5,0xa6,0xdf,0x8c,0x98,0x8c,0xf7,0x97,0xb4, - 0x96,0xa9,0xfa,0x59,0x57,0xc8,0xc9,0x78,0x0d,0x15,0x3c,0x84,0xa1,0x59,0xc7,0xef, - 0x2a,0xb8,0xc0,0xc0,0x05,0x0a,0x68,0x1b,0x8d,0xc9,0xeb,0x5d,0x57,0x58,0x62,0x24, - 0xe3,0x42,0x3b,0x8a,0xbe,0x33,0x1e,0xfd,0xaa,0x3c,0xeb,0x04,0x9a,0xf0,0x14,0x4d, - 0xde,0x9c,0xe4,0x7c,0x0d,0xff,0x59,0xf0,0x14,0x7a,0xd5,0x67,0x61,0xe5,0x0c,0xcd, - 0xb2,0xb9,0xca,0x5f,0xcd,0xde,0x16,0x50,0xb6,0x1f,0xd5,0x6e,0x82,0xd3,0x33,0xa8, - 0x1f,0x61,0x89,0x07,0x5b,0x12,0x99,0x45,0x0d,0x21,0x80,0x34,0x7d,0x44,0xed,0x52, - 0x92,0x92,0x56,0xee,0x21,0xd9,0x28,0xcb,0xcf,0x71,0x96,0xa5,0x1a,0xb4,0xc9,0x78, - 0x4b,0xe5,0x59,0xd7,0x4c,0x11,0x43,0x94,0xb7,0xba,0x40,0xed,0x59,0x26,0xe2,0x79, - 0x30,0x16,0x2f,0xef,0x7a,0x4a,0xb2,0xd6,0xe0,0x6d,0x50,0xc0,0xeb,0xa8,0x73,0x6a, - 0x4f,0xa7,0xff,0x7a,0xf0,0x2e,0x7b,0x2e,0x9d,0x34,0x8c,0x4d,0x40,0x10,0xfd,0x84, - 0x31,0x5c,0x9e,0x1d,0x77,0x64,0xed,0xfc,0xbe,0xfd,0x7d,0x3b,0xb6,0x27,0xf1,0x8a, - 0x06,0x8f,0x75,0x58,0xac,0x61,0xa0,0x68,0xc3,0x30,0x0a,0x20,0x36,0xc8,0xd6,0x4b, - 0x94,0xa5,0xe0,0xcb,0xe1,0xfe,0x3b,0xcb,0x5b,0x5a,0x92,0xd5,0xc0,0xf3,0x2b,0x8d, - 0x3f,0xbf,0xdc,0xfe,0xd2,0xaf,0x76,0xbc,0xd6,0xd6,0xa7,0x5f,0xa3,0x68,0xbd,0xd3, - 0xd2,0xe7,0xfe,0x99,0xd4,0xe0,0x67,0x6d,0x36,0x6b,0x79,0x58,0x9d,0xcb,0x90,0x38, - 0xc9,0x7b,0xa5,0x1d,0xa2,0x78,0x9c,0xa9,0xaf,0x9d,0x67,0xbb,0xe8,0xe5,0x74,0x0f, - 0x67,0x13,0xa3,0x04,0xb8,0x5d,0x81,0x6a,0x8c,0x0d,0xe9,0xb0,0x5c,0x1b,0xe5,0xdc, - 0x18,0xe4,0xea,0xca,0x67,0xd7,0xdf,0x7a,0x04,0xd4,0xa1,0x8c,0x8e,0x54,0xab,0xf3, - 0xf6,0xf0,0xb9,0xa4,0x50,0x16,0x7a,0x6e,0x9a,0xcd,0x7f,0x25,0xe7,0x57,0x58,0xa3, - 0x7c,0xb5,0x35,0xc9,0xc6,0x71,0x9d,0x0c,0xf2,0xff,0xd9,0x62,0xfc,0x5f,0xd1,0x16, - 0xc3,0x35,0x6c,0x70,0x44,0xa1,0x69,0x3e,0xb8,0xc2,0xac,0xa7,0x02,0xa1,0x1a,0x51, - 0xac,0x34,0xe1,0x08,0xea,0xed,0x1c,0xd6,0x9b,0x76,0x04,0x6b,0x4c,0x3b,0xbe,0xdc, - 0x44,0x22,0xf8,0xd7,0x4d,0x24,0x82,0xaf,0x30,0x91,0x50,0x04,0x6b,0xce,0xe3,0xbf, - 0xce,0x52,0x42,0xab,0x7f,0xb7,0xa1,0xc4,0x57,0xa8,0xa2,0xbe,0x42,0xef,0xe4,0x18, - 0x68,0xec,0x5b,0xbb,0x3c,0x2a,0xcb,0xce,0xce,0x5f,0x7d,0x48,0x57,0x7f,0x00,0xe8, - 0x59,0x36,0x47,0xe6,0x41,0x27,0x45,0x31,0xd5,0x73,0x4e,0x12,0xdc,0xf1,0x93,0x4f, - 0x66,0x72,0xe8,0x64,0xc7,0xa7,0x26,0x05,0x51,0x5b,0x0d,0x7d,0x8c,0x6a,0x14,0xcb, - 0xaa,0x6e,0x8c,0x05,0x65,0x7b,0xf1,0x03,0x1d,0x61,0x7f,0xdf,0x5e,0xec,0x7c,0x67, - 0xa4,0x23,0x6b,0x89,0x29,0x43,0xc3,0x46,0xb5,0x77,0x4e,0x8d,0x7d,0xc3,0x54,0x0b, - 0xe5,0xd9,0x64,0xa2,0x14,0x53,0xe4,0x97,0x99,0x9b,0xfa,0xe4,0x58,0x0b,0xd3,0x25, - 0x63,0x52,0x97,0x3b,0x77,0x9f,0xdb,0x33,0x3c,0x1f,0xdd,0x43,0x18,0x5b,0x69,0xd4, - 0x71,0xff,0x63,0xf4,0xe0,0x8e,0x63,0xf4,0xbb,0x8f,0xa3,0x95,0x6b,0xc4,0x08,0x73, - 0x22,0x8e,0xd9,0x67,0xed,0xf9,0xbb,0xdb,0xcd,0xcc,0xb9,0xfb,0x82,0xad,0xac,0xff, - 0xbd,0xc7,0xd8,0xde,0x51,0x73,0x10,0xd1,0x63,0x13,0xfa,0x91,0xe9,0xb4,0xbe,0xc7, - 0xba,0xea,0x50,0x22,0xe9,0x55,0x51,0xae,0x9b,0x91,0xf5,0x0f,0x85,0x2b,0x65,0x13, - 0xbe,0x18,0xc7,0x5e,0x44,0x5e,0x03,0xb9,0x78,0x11,0xe1,0x48,0xc2,0x9a,0x23,0xbc, - 0x75,0x70,0x51,0xc8,0xaa,0x42,0xef,0x2a,0xfa,0xa8,0x63,0x83,0x5a,0xcd,0x29,0xeb, - 0xbc,0x66,0xa8,0xf7,0x60,0xeb,0xc9,0x80,0xbc,0x18,0x93,0xe7,0xb2,0x68,0x84,0x47, - 0x9c,0x0b,0x2d,0xf4,0x28,0x6a,0x61,0x46,0xe7,0x07,0x73,0x8a,0x5e,0x3a,0xbe,0x38, - 0x6a,0x1f,0xc7,0xd6,0x9b,0x3c,0x1b,0xdf,0xa5,0xcb,0x02,0x84,0x71,0x58,0xb2,0x14, - 0x4c,0x53,0xa9,0x5b,0xe3,0xa4,0x2d,0x12,0xd7,0x1b,0x91,0x99,0x16,0x16,0xe6,0x68, - 0x7c,0x61,0xfc,0x75,0xb0,0xa7,0x0e,0xe9,0x5c,0xfc,0x53,0x2c,0x8c,0xe2,0x01,0xa7, - 0x07,0x0b,0x3e,0xff,0x58,0xe8,0x01,0xd0,0x42,0x7c,0x79,0x88,0x17,0x0f,0x3a,0xb3, - 0x8b,0xfd,0x5a,0x95,0xd5,0x8d,0x3e,0x98,0xb3,0xb7,0x78,0x8f,0xf9,0x40,0xef,0xe5, - 0x81,0x58,0xbc,0x17,0x7f,0xe3,0xd4,0x7e,0x03,0x95,0x16,0x4f,0x53,0x9f,0x84,0x15, - 0xca,0x58,0x7c,0x30,0x6a,0x40,0xb4,0x57,0x3a,0x67,0x8d,0x6d,0xa7,0xb9,0x9d,0xcc, - 0x4e,0x86,0x1d,0xf2,0x60,0x05,0x31,0x49,0x7e,0x6f,0x90,0xda,0xcf,0x69,0x1e,0xe8, - 0x84,0x61,0x52,0x5c,0x9e,0x23,0x99,0x36,0x9b,0x48,0x46,0xc0,0x93,0x8e,0x5c,0xae, - 0xc5,0xbe,0x6c,0x6c,0x9e,0x69,0xc8,0xc9,0xd3,0xad,0xdb,0xc5,0x0e,0xc1,0x28,0xd5, - 0xd2,0xf2,0x88,0x62,0xa7,0x9a,0x47,0xa6,0x93,0x25,0xa5,0x27,0x97,0xc4,0xb6,0x44, - 0x62,0xdc,0x3b,0x1d,0x9b,0x6b,0xe8,0x1d,0xa3,0x06,0xb5,0x6a,0xe6,0x34,0x2d,0x51, - 0x69,0xdf,0xc2,0x47,0xaa,0x88,0xb4,0x7c,0xd9,0x49,0x53,0xbf,0x2b,0xea,0xdd,0xc3, - 0xa8,0x04,0xd9,0xab,0x51,0x73,0x75,0xca,0x9b,0x72,0xb1,0xed,0x2d,0x65,0x27,0xaf, - 0xef,0x20,0xc0,0x4b,0xed,0x5a,0xa4,0x9f,0x8e,0x76,0xe1,0x40,0x6a,0x1e,0x36,0xf0, - 0xd4,0x08,0x6f,0x43,0xbd,0xa8,0xf8,0xe9,0x68,0xe7,0x98,0xae,0xbe,0xee,0xc4,0x33, - 0x69,0x21,0xd9,0x00,0x01,0x8e,0x26,0xa7,0x4f,0x47,0xdb,0xc7,0xc7,0x71,0x15,0x6e, - 0xdb,0xc2,0x15,0x0a,0x47,0xf8,0x82,0x90,0x61,0x1b,0x28,0x0c,0x19,0x6e,0x6b,0x7c, - 0x62,0x11,0x3d,0x4e,0x19,0xee,0x95,0x6e,0x08,0xe4,0x7a,0xcd,0xbc,0xd6,0x6b,0x16, - 0xd0,0x3a,0x65,0xbb,0xf9,0x03,0x8b,0xc0,0xa4,0xe0,0xc0,0x7e,0x7b,0xb7,0x1b,0x78, - 0x4e,0xb3,0x6e,0x43,0x26,0xb0,0x74,0xdf,0x33,0x26,0xf7,0x3d,0xe3,0xaa,0xfb,0x9e, - 0x31,0xbb,0xef,0x51,0xad,0xf4,0x32,0x63,0xcf,0x78,0xe4,0xd9,0xc6,0xa2,0xc8,0x83, - 0xc4,0x03,0x6a,0x7f,0xd5,0xb3,0xea,0xb5,0x67,0xb7,0xba,0xe2,0xe9,0x67,0xdc,0x08, - 0x5b,0x61,0x03,0x19,0x12,0xe3,0xd1,0x07,0x49,0x01,0x92,0xc0,0x6a,0xaf,0x8a,0x7e, - 0x1e,0x40,0xd6,0xe7,0xd3,0x08,0x16,0xd2,0xe3,0xd2,0x59,0xd7,0x76,0x4c,0xed,0x96, - 0x15,0x6f,0xe8,0x5e,0xe4,0x9e,0xc1,0x4b,0xf2,0xe9,0x1e,0xd1,0x60,0x34,0x5d,0x66, - 0x94,0xd2,0x73,0x8b,0xbd,0xce,0xd1,0x04,0x53,0x71,0xe7,0x13,0x7d,0xb8,0x6e,0xd0, - 0xe0,0x36,0x41,0x48,0x85,0x0f,0x23,0x22,0x00,0x95,0x37,0x0a,0xfb,0xd8,0xce,0x99, - 0x92,0xe2,0x3a,0x79,0x70,0xbc,0xad,0x63,0x91,0xbc,0x8d,0x61,0xa5,0x42,0x07,0x43, - 0x54,0x65,0xa3,0xf4,0x15,0x73,0x31,0x34,0x93,0xc5,0xef,0x33,0x37,0x60,0x43,0xca, - 0x12,0x54,0x71,0x94,0xca,0x69,0x3b,0xc7,0xe0,0xdc,0x4b,0x2e,0xc0,0xa2,0x86,0xc0, - 0xe4,0x76,0x1c,0xc5,0xe8,0x75,0xd6,0xbd,0xa3,0x70,0x9b,0xd0,0xef,0xd0,0xff,0xbb, - 0xf4,0xff,0x23,0xfa,0xff,0x31,0xfd,0xff,0x24,0x4c,0x10,0x1a,0x00,0xbe,0xfa,0x11, - 0x5a,0x20,0xdc,0x6e,0xe3,0x0f,0x20,0xb7,0x01,0xba,0xbd,0x1b,0x1e,0x77,0xb8,0x44, - 0x3b,0xdb,0x97,0x63,0xd4,0x77,0x67,0x8f,0xaf,0xea,0x14,0x49,0x7c,0x46,0x09,0x8d, - 0x05,0xf9,0xb1,0x97,0x1e,0x45,0x2f,0x5a,0x5f,0x93,0x8e,0x71,0x6c,0x1f,0x55,0x3d, - 0xbe,0x08,0x63,0x53,0xaa,0xed,0xd7,0x7f,0x52,0x19,0x7f,0x3e,0x75,0x4f,0x7a,0xb5, - 0xb4,0x3f,0x51,0x9a,0xf1,0x63,0xe3,0x42,0x1c,0xfd,0x29,0x0e,0xa8,0x4e,0xc0,0x75, - 0x26,0x60,0x73,0xb3,0x3c,0xc5,0x39,0xc1,0x74,0xae,0x04,0x9d,0x1c,0x3d,0x3a,0xde, - 0xc3,0x9f,0x3a,0x22,0x5c,0xde,0xbb,0x7d,0x8d,0xbc,0x18,0xd1,0xb4,0x59,0x24,0x50, - 0xd1,0x09,0x15,0xd0,0x90,0xf1,0xfd,0x74,0xe8,0x85,0x9a,0xf4,0xa2,0xda,0xfe,0xde, - 0xec,0xe5,0xb8,0x9f,0x52,0x42,0xe9,0x3f,0x77,0xda,0xc0,0x9b,0x18,0xb8,0xff,0xc2, - 0x11,0xed,0x9e,0x55,0xbe,0x4b,0x4a,0x53,0xef,0x16,0xf7,0x6d,0x3c,0x1e,0x3a,0x01, - 0xef,0xcd,0x34,0x3a,0x2a,0x3c,0x83,0x5e,0xa1,0x8c,0xbe,0x1c,0x5d,0xbd,0xa1,0x7e, - 0x98,0x12,0x49,0xdd,0xbe,0x73,0xa1,0x1b,0xcf,0xdd,0x0d,0x60,0xc7,0x71,0xfb,0x98, - 0xbc,0x62,0x90,0xf8,0x12,0xf5,0x29,0x1f,0x3b,0x03,0x89,0x98,0x12,0xa4,0xf1,0xbd, - 0x5d,0xf5,0x40,0x46,0xa1,0xa6,0x63,0x7c,0x91,0x6b,0xb9,0x92,0x07,0xef,0xac,0xed, - 0xe6,0x57,0xe9,0xd7,0x5c,0xb7,0xd8,0xa9,0xdb,0x52,0x4d,0xca,0x4e,0xdc,0xf7,0xb9, - 0xf8,0x33,0x8d,0xa9,0x78,0x2e,0x95,0x54,0xa6,0x86,0xe7,0x7c,0xc3,0x86,0x2a,0xa6, - 0xb9,0xdc,0x3c,0xac,0x94,0xa6,0x5c,0x0e,0xa7,0x1d,0xb7,0xf6,0x21,0xa6,0x8d,0x83, - 0x19,0xec,0xc9,0x5b,0x68,0x13,0xb4,0x1f,0x92,0x7e,0xec,0x01,0x86,0x7a,0x70,0x99, - 0x75,0x30,0x66,0x57,0xc0,0x34,0x62,0x9d,0xf0,0xcc,0x16,0x96,0x5a,0xb6,0xa4,0x8b, - 0xee,0xb6,0xc0,0xb6,0x84,0x0e,0x11,0xf8,0xa4,0x25,0x6c,0xd0,0x2a,0x9d,0xcf,0xfe, - 0x0a,0xa8,0xb8,0xeb,0x81,0x39,0xa2,0x9e,0x09,0x6f,0x1d,0xe9,0xb9,0xaf,0x24,0x6e, - 0xd0,0xa4,0x74,0xb5,0xf7,0xa1,0xdf,0xf8,0xd0,0xd2,0x3f,0x15,0x1f,0x52,0x67,0xd7, - 0x0c,0xb5,0x87,0xac,0x7c,0x0d,0x4b,0xef,0x34,0x41,0xb9,0x84,0x8b,0x51,0xf6,0x7a, - 0x95,0x75,0x9f,0x88,0x8c,0x10,0xff,0x31,0x3d,0xf0,0x25,0xa4,0x70,0x99,0xfe,0x03, - 0x75,0x1a,0x84,0xb3,0x37,0x08,0xf1,0xb0,0xd1,0xc6,0x21,0xc0,0x14,0xab,0x8e,0x41, - 0x6b,0xae,0x4e,0x89,0x7f,0x50,0x51,0xba,0x87,0x8d,0x8d,0xf0,0x83,0xbd,0x7b,0xf6, - 0x94,0x0c,0x7c,0x9f,0x19,0xa7,0x45,0x1f,0x8c,0xba,0xe9,0x43,0xd8,0xa2,0xe7,0xa7, - 0xcd,0x80,0xcb,0xa6,0x8f,0xd2,0x80,0x85,0x1e,0x01,0x9c,0x5f,0x0e,0x70,0x9e,0x04, - 0x2f,0x55,0x45,0x4b,0xdc,0x9c,0x79,0xc4,0x1d,0xe2,0x26,0x2f,0xce,0x8c,0xcc,0x9d, - 0xb0,0xe2,0x72,0x34,0x22,0xc5,0x9e,0x1c,0xe7,0x99,0x93,0x0a,0x2e,0x92,0x84,0x1f, - 0x60,0xc5,0xea,0x85,0x2b,0xae,0x82,0xcd,0x69,0xc0,0x5f,0x08,0x8b,0x75,0x27,0x5f, - 0x70,0x6f,0x38,0x34,0x0a,0xdb,0xcd,0xcd,0x25,0x39,0x7a,0x6e,0xa4,0xeb,0x16,0xa4, - 0xb0,0x98,0x1e,0xe8,0x14,0x21,0x32,0xe7,0x57,0xc7,0x36,0x04,0xa3,0xf6,0x59,0xdb, - 0xde,0x38,0x75,0x08,0x13,0x01,0xac,0x26,0x13,0x43,0xc3,0x64,0x03,0xda,0xe0,0x60, - 0xcb,0x6c,0x4c,0xdd,0x7f,0xaa,0x78,0x76,0xd4,0xc0,0x1f,0xc6,0xe0,0x33,0x16,0x5a, - 0xcc,0xab,0xcf,0x02,0xff,0x1f,0xd4,0x6b,0x41,0x4f,0x77,0x30,0x02,0x5d,0x94,0xd0, - 0x4f,0xf9,0x46,0xad,0xcd,0x25,0x7e,0x70,0xea,0xe0,0x2b,0xfb,0xf4,0x40,0xf6,0x30, - 0x80,0x37,0x06,0xbb,0x85,0x85,0xd3,0x6d,0x99,0x0b,0xe7,0x6b,0x76,0x15,0x75,0xe4, - 0xb3,0x75,0xcf,0x28,0xb3,0x83,0x9a,0x7f,0x50,0x67,0x07,0xe6,0xb3,0xaf,0x59,0x25, - 0x6c,0x9d,0x0d,0x73,0x36,0x10,0x6c,0xd9,0x1b,0xf7,0x9a,0x97,0x6f,0x30,0x70,0xa8, - 0x68,0x92,0xd4,0x3f,0x8c,0x05,0x0b,0x01,0xda,0xf3,0x50,0x81,0xf3,0x8f,0x43,0x09, - 0x2f,0x06,0x5e,0xc5,0x63,0x35,0xd7,0xb2,0x6a,0xf0,0x6b,0xab,0xb9,0x6c,0xf7,0xfb, - 0x61,0x7c,0xae,0xd0,0x46,0xbf,0x6b,0xff,0x4d,0x33,0x39,0xb5,0xd1,0x43,0x7d,0xbb, - 0xf7,0x45,0xa9,0x1d,0x1e,0xf1,0x66,0x9c,0xd4,0x71,0x23,0xf7,0xf5,0xb4,0x4b,0x53, - 0x4a,0x88,0x3e,0xaf,0x1d,0x1e,0xfb,0xe8,0xcf,0x3a,0x20,0xa2,0xb0,0x61,0xf7,0x03, - 0x66,0x02,0x6f,0x84,0xf6,0xbc,0xf5,0xd3,0x18,0x6e,0x23,0x5b,0x3c,0x84,0xdf,0xf1, - 0x80,0x2f,0xa0,0x9a,0xa0,0x39,0x05,0x26,0xfa,0x18,0x9e,0xb0,0x44,0x46,0xd1,0x23, - 0x56,0x46,0x8a,0x6a,0x2e,0x6b,0xc9,0x41,0x61,0x40,0xea,0xf5,0xd9,0x20,0x33,0x86, - 0xa8,0xc6,0x11,0x3c,0xc8,0xab,0x9d,0x45,0xfd,0x61,0x78,0x70,0x79,0x8e,0x20,0x0d, - 0x76,0x13,0xfc,0xa0,0xcc,0x46,0xbb,0x1f,0xc7,0xf7,0x09,0x1f,0xa6,0x0d,0xc6,0x85, - 0xfa,0x49,0xf1,0xc6,0x33,0xa5,0x11,0x32,0x42,0x54,0x8f,0xc0,0x0b,0xc0,0xec,0x01, - 0xf9,0xab,0x43,0x8b,0x92,0xc9,0xb7,0xb0,0x3c,0x66,0x43,0x0a,0x30,0xe3,0x96,0xf6, - 0x1a,0x2e,0x0a,0xa3,0x8b,0xde,0xe7,0xe4,0x1f,0x4e,0x58,0x8e,0x7f,0x18,0x31,0x61, - 0xeb,0x43,0xd1,0xd8,0x5a,0x12,0x85,0x00,0xe3,0xc8,0x42,0x98,0x55,0x4c,0x0c,0x0e, - 0xf2,0xd0,0x48,0xe8,0x8c,0x1d,0x94,0x4d,0x8d,0x9f,0xb6,0x9d,0x58,0x3f,0xb7,0x6e, - 0xac,0x1f,0x97,0xaa,0xdf,0x58,0x96,0xa5,0x1d,0xaf,0xee,0xfa,0x52,0x7a,0x66,0xcf, - 0x62,0x74,0x1c,0x49,0xcb,0x09,0x88,0xe2,0x95,0x53,0xdc,0x35,0x1a,0xc4,0xf3,0xa1, - 0xd9,0x7e,0x52,0x77,0xe9,0xb4,0x6f,0x4d,0x04,0x14,0x96,0xe8,0x38,0x4e,0xbe,0x60, - 0x2d,0x24,0xd7,0x95,0xe6,0x22,0x08,0x81,0x1c,0x4e,0xd2,0xc2,0x55,0x56,0x00,0x11, - 0x1c,0x33,0x0f,0xc1,0x24,0x70,0x71,0xc3,0x76,0xbf,0x1a,0x57,0xe9,0x86,0xd8,0x59, - 0x9a,0x91,0xe0,0xe5,0x62,0x12,0x1b,0x9c,0x92,0x29,0xc3,0x09,0x14,0x21,0xed,0x98, - 0xf0,0xcb,0xfe,0x21,0x23,0x08,0xf5,0x06,0xcb,0xa5,0x19,0xe6,0x3e,0x7d,0xd4,0xc6, - 0x1c,0x6e,0x9a,0x69,0x96,0x50,0xc6,0x18,0xdf,0x6d,0x36,0xdd,0xbb,0x01,0x95,0xe4, - 0x71,0xb8,0x81,0x64,0xf5,0xae,0xfa,0xa4,0x1d,0x33,0x6b,0xb4,0xe5,0x88,0x43,0x55, - 0x50,0xe0,0xb5,0xc0,0x8f,0x04,0x18,0x7c,0x74,0x1b,0xc7,0xe5,0xa5,0xee,0x40,0x8a, - 0x72,0xff,0x41,0xf3,0x0c,0x35,0x4f,0xf4,0xe1,0xa0,0x11,0xe3,0xb7,0xf5,0x6d,0xb9, - 0x03,0x79,0x30,0x8a,0xab,0x82,0xa6,0xdd,0xee,0xea,0x96,0x06,0x7b,0x07,0x03,0x8a, - 0xf4,0x35,0xcd,0x8a,0xf9,0xae,0x4f,0x85,0x2a,0xb5,0x5a,0xa5,0xe6,0x88,0xf6,0xbd, - 0xca,0x87,0x04,0x86,0x33,0xfd,0x14,0x49,0x66,0x4f,0x4f,0x32,0x12,0xa7,0xb5,0x68, - 0x28,0xcd,0x5e,0x99,0xc6,0x08,0x13,0xd3,0x91,0xe8,0x33,0x42,0x10,0xcd,0x81,0xbb, - 0x61,0x00,0xb5,0x00,0xfa,0x46,0x36,0x6e,0x5d,0x4e,0x74,0x3e,0xc9,0x87,0x5b,0xed, - 0x41,0xf2,0xc9,0xed,0x45,0x10,0xcd,0xd0,0x79,0x50,0xa7,0xe5,0x6e,0x73,0x65,0x4c, - 0x00,0xdd,0x4c,0x4b,0x5d,0x85,0x90,0x98,0xad,0x26,0x93,0x77,0x95,0x68,0x4b,0xbc, - 0xa1,0xd3,0x7f,0xe6,0x5c,0x72,0x15,0xcb,0xce,0xd2,0x6d,0x56,0xca,0xc8,0x9c,0x43, - 0x36,0x9d,0x33,0x41,0xa5,0xbe,0xd4,0xb7,0x2f,0xb0,0x62,0x73,0x83,0x00,0x31,0x42, - 0xa0,0xb3,0xb3,0x94,0xbd,0xa2,0x8a,0x71,0xd8,0xf7,0x10,0x90,0x3b,0x47,0x54,0x76, - 0x94,0xfe,0xa6,0x49,0x3f,0xf1,0xc4,0x80,0x6d,0x25,0xbc,0x79,0xa1,0x20,0xcc,0x8c, - 0x83,0x31,0xe6,0x03,0x1f,0x4a,0xbc,0x38,0x13,0x27,0x8c,0x39,0x97,0xba,0x60,0xe7, - 0x64,0x5a,0xf8,0x25,0x75,0x5d,0x3e,0x58,0x8b,0x41,0xaa,0x5b,0xca,0xaa,0x66,0x64, - 0x2c,0x9f,0xa8,0xdc,0xe7,0xb9,0x6f,0x97,0x67,0xf4,0xd6,0x54,0xdd,0xfc,0xee,0x85, - 0xb4,0x68,0x5c,0x19,0xff,0x49,0xbc,0x20,0x5e,0x8e,0x2f,0x0b,0x48,0xa9,0x91,0x80, - 0xe9,0xfe,0x78,0x2f,0x54,0x11,0x16,0xc0,0x7a,0x01,0x04,0xf6,0x2f,0x24,0xb5,0x88, - 0x50,0x8b,0x22,0x7c,0x16,0xcb,0x06,0xda,0x63,0xb1,0x68,0x40,0xca,0x6d,0xb3,0xf6, - 0x12,0x94,0x58,0xd9,0x42,0x23,0xea,0x14,0xe1,0xb5,0xe6,0x63,0x10,0xe2,0x95,0xaa, - 0x8a,0xb9,0xd6,0xde,0xf6,0xe3,0xce,0x18,0x85,0x3b,0x75,0xf5,0x56,0xb5,0xa8,0x1c, - 0xe3,0xe5,0xc4,0xec,0x2e,0x88,0x2c,0x8b,0x11,0x16,0x5d,0x6d,0x46,0x2d,0xf4,0xbb, - 0xca,0x8a,0x23,0x83,0x8f,0xce,0x54,0x53,0x77,0xb1,0x92,0x91,0x2e,0xe0,0xa5,0x0b, - 0xca,0xea,0x0a,0xe8,0xb8,0xbf,0xbd,0x48,0x41,0x9e,0x40,0xd7,0x4c,0xbe,0x88,0x8a, - 0x66,0x67,0x06,0x38,0xc0,0xe7,0x59,0x58,0xc7,0xef,0x08,0x7d,0x22,0xa6,0x29,0x81, - 0x74,0xa5,0xfe,0x57,0xf9,0x86,0xc8,0x66,0x8d,0xd4,0xf1,0xad,0x5f,0x9c,0x9b,0x28, - 0xd8,0x03,0x0d,0x99,0x06,0xf7,0xfa,0x0f,0x1b,0x92,0x63,0x2f,0x7c,0x7a,0x49,0xbe, - 0xf6,0x51,0x1e,0x3c,0xed,0xd3,0x33,0x8f,0xb1,0xb8,0x81,0x32,0xc4,0xf7,0x3e,0x44, - 0xc5,0x8c,0x86,0xe6,0xde,0x43,0x76,0xd1,0x8f,0x72,0xf1,0x1a,0x8b,0xab,0x7e,0x8d, - 0x77,0x2d,0x0e,0xfa,0x65,0xe4,0x12,0x97,0xaa,0xf1,0xd1,0xba,0x78,0x5f,0xe5,0xa7, - 0x8d,0x3f,0xda,0xdd,0x68,0xdb,0x6f,0xbc,0x77,0x24,0x64,0xb0,0xf3,0xbf,0x6f,0xaa, - 0x7c,0x0f,0x5a,0xc5,0x79,0x7d,0x5c,0x98,0x92,0x85,0xa4,0xf4,0x1c,0x50,0x57,0x31, - 0x2d,0x88,0x60,0x1d,0xf5,0x21,0x81,0x26,0x63,0x69,0x43,0x28,0xd5,0x08,0x48,0x48, - 0xa1,0x4b,0xc6,0x13,0x0a,0x85,0x78,0x1d,0x2f,0xa5,0x44,0x73,0x36,0xe4,0xe8,0xd0, - 0xc8,0xeb,0x41,0x0c,0x0c,0x6f,0x65,0xba,0xf2,0x17,0x7f,0x54,0xb1,0x6f,0xcf,0x01, - 0xd0,0xa9,0xdc,0xa5,0xad,0xbb,0x61,0x48,0x53,0x12,0xa9,0xc3,0x47,0x7d,0xf2,0xe7, - 0xd6,0xee,0xb8,0xf0,0xcd,0xed,0xb8,0x13,0x19,0x98,0x46,0xbf,0xe1,0x21,0xfb,0x0f, - 0xf7,0x1d,0x58,0x95,0x67,0x3e,0x4d,0xcf,0xd9,0x73,0x6e,0xa4,0x0c,0xca,0x52,0x93, - 0x95,0x66,0x98,0x2e,0xc8,0xcc,0x9c,0xc8,0xc2,0x83,0xf1,0x34,0xad,0x8e,0x11,0x42, - 0x47,0x49,0x32,0x50,0x58,0x38,0xe8,0xd2,0xab,0x15,0x24,0x81,0x8b,0x34,0xe6,0x3c, - 0x52,0x74,0xcc,0x75,0xd5,0xfa,0x39,0xcf,0x9a,0x32,0x13,0x74,0x82,0x9e,0x4a,0xba, - 0xe2,0xa9,0x74,0xd6,0xfb,0xc4,0xe2,0x71,0x40,0x56,0x32,0xd0,0x9a,0x88,0xf3,0x2c, - 0x12,0xe9,0x71,0x2a,0xcd,0x65,0x15,0x6e,0x2d,0x20,0xba,0x90,0x6a,0x2b,0xaa,0x67, - 0xed,0xbc,0x2c,0x7a,0x25,0xdf,0x31,0x49,0x29,0x3b,0x79,0xa5,0xb4,0x9c,0x31,0xa9, - 0xee,0x90,0x45,0xbc,0xc4,0x9a,0xb9,0xa2,0x46,0x90,0x4b,0x86,0xa7,0xd3,0x92,0xa7, - 0x6d,0xa8,0xd3,0xca,0xf9,0x64,0xb5,0xa0,0x35,0xa6,0x2e,0x2f,0xaa,0x9d,0xf1,0x53, - 0xca,0x6f,0x68,0xa5,0x00,0x51,0x4f,0xc1,0xe3,0xf2,0x15,0x9f,0x70,0x7b,0xea,0xf9, - 0x2c,0x1a,0x63,0x2d,0xc5,0x47,0x9b,0x10,0x93,0xfe,0xb8,0xbb,0x81,0xe2,0x01,0xa7, - 0xd3,0x45,0x25,0xd2,0x95,0xc5,0xfc,0x8c,0xea,0x53,0x72,0xab,0xa6,0x5e,0xc0,0x80, - 0x69,0xcf,0x9d,0xbb,0x2c,0x8f,0xc4,0xab,0x9e,0x33,0x07,0xd6,0x85,0xb7,0x1e,0x4d, - 0xb0,0x8c,0xd0,0x4e,0xc6,0x0b,0x71,0x9d,0x5d,0x61,0xd6,0x01,0xec,0x0b,0x39,0x85, - 0x8d,0x62,0x90,0xe8,0xe3,0xbb,0x7f,0xb8,0xec,0xbc,0x2e,0x5c,0x36,0x66,0x07,0xe9, - 0x02,0x79,0x65,0xb4,0x69,0x15,0x1a,0x79,0x19,0xca,0x67,0x20,0x2c,0x72,0x67,0x1c, - 0x08,0x28,0x7c,0x1d,0x7a,0xae,0x5d,0x05,0x47,0x42,0x47,0xfa,0x50,0x0e,0x4b,0x9c, - 0x4d,0x30,0x5c,0xf9,0x65,0xaa,0x59,0x85,0xeb,0x5e,0x8e,0x67,0x4f,0xda,0x16,0x94, - 0x1c,0xa6,0x9f,0xcd,0xfc,0x81,0xe3,0x6d,0xa2,0x08,0x4e,0xe7,0x91,0x55,0x43,0x12, - 0x75,0xf4,0x8a,0xa9,0x06,0x98,0x37,0xc8,0x9f,0x4a,0x37,0x6f,0xf1,0x59,0x56,0x5a, - 0x0e,0xe3,0xae,0x96,0xed,0x61,0xb8,0x55,0xa2,0x1a,0x69,0xdf,0x43,0xa3,0x39,0xda, - 0xd5,0xf4,0x67,0x3e,0x02,0x2e,0x4d,0x6b,0x65,0x67,0x8d,0x92,0x84,0x5b,0xd9,0x27, - 0xd8,0x2f,0x1e,0x93,0x11,0x01,0xd1,0x59,0x43,0x65,0xa8,0x58,0xca,0xcb,0xd9,0x8e, - 0x5c,0xb1,0xce,0x91,0x4a,0x8d,0x79,0xa0,0xb7,0x85,0x39,0x88,0x71,0x34,0xa6,0xfe, - 0x7f,0x2b,0x97,0x3f,0xa8,0x25,0x11,0xbc,0xc0,0x61,0x5d,0x4d,0x1f,0x93,0x48,0x6b, - 0xb6,0x8f,0x39,0xb5,0xd0,0x21,0x81,0xde,0x72,0x07,0x22,0x58,0x09,0xe4,0x0e,0x9e, - 0xca,0x25,0x17,0x5b,0xad,0x84,0x6e,0xe7,0xdc,0x0b,0x1d,0xcf,0xb1,0x3e,0x5d,0x3f, - 0x0d,0x66,0xf7,0x23,0x86,0x84,0xae,0x9a,0x71,0x28,0x47,0x05,0x18,0x3b,0xf4,0x5d, - 0x0e,0xdb,0x20,0x57,0xd1,0xe4,0x1a,0xd6,0x0e,0xd2,0xae,0x9d,0x79,0xed,0xac,0xa0, - 0xb9,0x9e,0x23,0xcc,0xf0,0xef,0xd3,0x70,0xb1,0xb0,0xaf,0x2f,0x50,0xa6,0x29,0xa7, - 0x9f,0x7a,0xe9,0x7b,0xdb,0x1d,0x74,0xf7,0xba,0x72,0x80,0xb4,0xaa,0x89,0x88,0xed, - 0x62,0xda,0x45,0xa7,0x71,0x07,0x86,0x73,0x53,0x47,0xc9,0x79,0x09,0xed,0x11,0xca, - 0xbe,0x0f,0xfe,0xcd,0xcd,0x7b,0xae,0x05,0x9c,0xe9,0x64,0x34,0x00,0x92,0x9a,0x32, - 0x0b,0x3a,0xc7,0xc9,0x50,0xa8,0x4f,0x7f,0xbd,0x30,0x08,0x81,0x5b,0x63,0xc7,0x85, - 0x5d,0xdb,0xcf,0x5c,0xd4,0x82,0x7b,0xa8,0x8c,0x7d,0x1d,0x12,0xb9,0x54,0xa9,0xd3, - 0x59,0x3e,0xa4,0x96,0xa8,0x6f,0x28,0xab,0x74,0xbf,0xdd,0xb8,0x4f,0xff,0x60,0xa5, - 0x72,0x5d,0xef,0x38,0x3d,0x41,0xf7,0x20,0x74,0x53,0x56,0x88,0xbe,0xc0,0xa1,0xfe, - 0x42,0x34,0x4a,0x6e,0xaa,0x99,0x85,0x4e,0x1c,0xf1,0x01,0x07,0x19,0xe9,0xe9,0x49, - 0x8b,0xe6,0x65,0xc0,0x44,0x21,0x12,0xc2,0x18,0x7a,0x72,0x81,0xdf,0x3a,0xfa,0x90, - 0x7f,0x18,0x1f,0x9b,0xad,0x01,0xbe,0xc6,0x8a,0xa0,0xb6,0xe1,0x84,0x26,0x5c,0xc2, - 0x62,0x09,0x27,0x2f,0x32,0xce,0xa4,0x1f,0xe0,0x59,0x23,0xb5,0x5c,0xe5,0x32,0x38, - 0xb1,0x35,0xcb,0x07,0x23,0xb4,0x33,0xf2,0xda,0xf9,0x89,0x5e,0x70,0xde,0xc5,0x20, - 0x0d,0xf3,0xd6,0x75,0x5a,0x45,0xc2,0x68,0xb8,0xb9,0x5c,0x1d,0x1f,0xed,0x2f,0x11, - 0x8f,0x4b,0x55,0x72,0xcd,0xa6,0xc8,0x34,0xe0,0x28,0x2b,0xc6,0xe1,0xff,0xbb,0x54, - 0xec,0xb5,0x42,0x67,0xe0,0x54,0xf0,0xa6,0x38,0xe2,0x9e,0x57,0xca,0x56,0x72,0xfc, - 0x65,0xd8,0x9b,0x13,0xd1,0xd2,0xc6,0x1b,0x36,0x72,0xf8,0x4b,0x99,0xcb,0x26,0x69, - 0x53,0xdd,0xc5,0x23,0x49,0x95,0x63,0x68,0x86,0xc5,0x87,0x7c,0xf1,0x61,0xbc,0x55, - 0x23,0x51,0x5b,0xfd,0xd5,0x10,0xfa,0x2b,0xc3,0x4d,0x69,0xc2,0xe1,0x62,0x31,0x54, - 0x21,0xa4,0xcd,0x56,0x31,0x7f,0x09,0xb5,0x0d,0x03,0xff,0xdf,0xd6,0x96,0xdc,0x12, - 0x12,0xa3,0x22,0x70,0x85,0x9a,0xb7,0xd8,0x18,0xa6,0xc3,0x8a,0x28,0x15,0xed,0x75, - 0x8e,0x9e,0x7d,0x73,0xbc,0xd0,0xcb,0x1f,0x1f,0x8a,0x6f,0xe9,0xfd,0x2f,0xc7,0x71, - 0xa9,0x2c,0x03,0x9e,0xd9,0x64,0xc8,0xce,0x51,0x82,0x9e,0xf0,0xba,0x2f,0x96,0x7f, - 0xa7,0xf9,0x60,0x3a,0x63,0x69,0xc7,0x2a,0x1a,0x86,0xae,0xf1,0x07,0xa5,0x57,0xaf, - 0x80,0xbd,0x7f,0x75,0xf0,0x2b,0xec,0x68,0xb7,0xfe,0xce,0x77,0x79,0xbe,0xa1,0x22, - 0xf8,0xa1,0xa8,0x71,0x91,0x56,0x73,0xbf,0xc7,0x31,0xf1,0xac,0xdc,0xf5,0x01,0xc2, - 0xd2,0x05,0x1c,0xe1,0x94,0x8d,0xbc,0xeb,0xdd,0x52,0x75,0xc8,0x92,0x0c,0x1c,0x26, - 0xa3,0xcd,0xb5,0x02,0x20,0x52,0xdf,0x6e,0x0b,0xf5,0x05,0x17,0x13,0x34,0x27,0x16, - 0xbe,0xc3,0x38,0xc0,0x5b,0x47,0x7c,0x04,0xd6,0x37,0x8e,0xf8,0x0a,0xeb,0x89,0x2f, - 0x2b,0xd8,0x33,0xbd,0x9e,0x70,0x38,0x8e,0xf8,0x0a,0x83,0xc3,0x35,0x64,0x06,0x9f, - 0x90,0x52,0x2c,0x99,0x32,0xb3,0xe6,0x2c,0x90,0x78,0x3f,0x11,0x6c,0xd4,0x16,0x64, - 0x10,0x43,0x8d,0x47,0x19,0x4c,0xb4,0x1d,0x31,0xb0,0xc0,0x50,0x71,0x7d,0xaa,0xf7, - 0xf3,0xc9,0xb4,0x82,0xc2,0x8b,0x15,0xe4,0x60,0x98,0x2d,0x85,0x07,0xd8,0xaa,0x5a, - 0x6d,0x38,0x6e,0xfd,0x51,0x12,0x5b,0xf6,0x29,0x68,0x30,0xcd,0xe8,0xa3,0x34,0x5e, - 0xa6,0xae,0xf4,0x47,0x97,0x85,0x46,0xbc,0xb3,0x24,0xb0,0x1d,0xa6,0x53,0x70,0xee, - 0x99,0xcd,0x02,0x79,0x2f,0xb8,0xce,0xe1,0xb6,0x8a,0x47,0xae,0x6c,0x67,0xa4,0x6a, - 0xda,0x0a,0xea,0x44,0xa2,0x82,0x19,0x66,0xb5,0x4b,0x35,0x3a,0x53,0x23,0xdb,0x7f, - 0x05,0xab,0x6a,0x7c,0x7c,0xac,0xfe,0xcd,0x1b,0x4b,0x03,0x19,0x2b,0x7f,0xc0,0xda, - 0xcf,0x39,0xcc,0x00,0x2c,0x56,0x74,0x68,0xdf,0x5e,0xee,0xfd,0xa0,0xf8,0x54,0xc8, - 0x9c,0xa3,0x31,0xe6,0xb3,0x31,0x85,0x07,0x28,0x95,0x84,0xf8,0xb4,0x3c,0x95,0x9c, - 0x12,0xb4,0x8e,0x3a,0xff,0xab,0x8d,0x21,0x49,0x13,0x9f,0x2c,0x09,0x88,0x54,0xf8, - 0x00,0x98,0x8f,0x72,0xb6,0x37,0x99,0xdb,0x67,0x32,0x9f,0x29,0x47,0x38,0x12,0xb0, - 0xd4,0xd5,0x0e,0x74,0x4b,0xb5,0x33,0x57,0x2a,0xdd,0x70,0xf2,0x91,0x56,0x66,0xe2, - 0x67,0xc6,0x53,0x38,0x4f,0x6f,0xf8,0x18,0xe3,0xa3,0x40,0xe8,0xae,0xca,0x80,0xe8, - 0x2d,0x5a,0xb0,0x22,0x75,0x79,0x92,0x90,0x66,0x2d,0xf5,0xe6,0xf7,0xee,0x0a,0x9b, - 0x83,0x04,0x1a,0xa5,0x3b,0x2c,0x06,0x08,0xa4,0x62,0x33,0x10,0x22,0x33,0x02,0x45, - 0x6a,0xd0,0xfe,0x3b,0xb2,0x5f,0x54,0xf3,0x22,0xa2,0xe3,0x85,0x63,0x70,0x40,0xb4, - 0xee,0xf1,0x25,0x2c,0x34,0xbd,0x2e,0x56,0x7b,0x61,0x27,0x32,0x89,0x59,0x01,0xbd, - 0x9b,0xd6,0xc6,0x3b,0xab,0xa2,0xae,0x45,0xbd,0x2a,0xcb,0xf7,0x94,0xcc,0xaa,0xd1, - 0x82,0x06,0xbc,0xbf,0xd6,0x28,0xf8,0xd5,0xa5,0xd4,0xfc,0x4a,0xae,0x62,0xf6,0x79, - 0x98,0x41,0x84,0xd7,0x78,0x8b,0x51,0xd8,0x6c,0x8e,0xc3,0x24,0xba,0x6e,0x20,0x96, - 0x1a,0x8d,0xca,0x78,0x65,0x9f,0x52,0x7d,0xcf,0x9d,0x86,0x17,0xfd,0x2a,0x1f,0x86, - 0x63,0xc3,0xbd,0xf1,0xca,0x5c,0x05,0x0a,0x1d,0x3b,0xbc,0xe2,0xb0,0xcc,0x24,0xc5, - 0xf6,0x3e,0x47,0xd7,0x4d,0x53,0xa9,0x41,0x63,0x5b,0x2b,0x43,0x4f,0x1a,0x31,0x06, - 0x21,0x01,0xf9,0x13,0x71,0x2b,0xa0,0xa2,0xfa,0x0e,0x67,0x68,0x63,0xee,0x26,0x78, - 0x34,0x1c,0x52,0x99,0xb0,0xef,0xa0,0x21,0x50,0xc3,0xd7,0xbe,0xf4,0x74,0xed,0xa2, - 0x7a,0x60,0x73,0x47,0xf5,0x67,0xd5,0xea,0x5f,0x13,0x49,0x33,0xa7,0x6a,0xe1,0x5b, - 0x78,0x81,0xb3,0x37,0x24,0xc3,0x86,0xe9,0xe7,0x8d,0xd0,0x9c,0x3b,0xd2,0x7c,0xab, - 0x5e,0x92,0xfb,0x32,0x7f,0x67,0xbc,0x86,0x49,0x00,0x14,0x4c,0xdf,0x50,0xc7,0x87, - 0xcb,0xf4,0xce,0x54,0x33,0x8c,0xb1,0xa2,0x1d,0x40,0x77,0xef,0x77,0x50,0x9d,0xfb, - 0x54,0xe7,0x2e,0xd5,0x7f,0x3c,0x7f,0xff,0xe6,0xd5,0x9b,0x9f,0x3b,0x12,0xa1,0x23, - 0x6c,0x48,0x11,0xd2,0x06,0x5d,0x9e,0xe5,0xa1,0x9c,0xac,0xa3,0x2a,0x07,0x55,0xb5, - 0x56,0x18,0x9b,0x9b,0xd8,0x51,0xc3,0x78,0xda,0xc8,0x8c,0xb8,0x60,0xed,0xcc,0x62, - 0x66,0x8e,0xa1,0xa5,0x58,0x16,0x99,0x45,0xb9,0xd8,0xab,0x15,0x2a,0x41,0xdd,0xc6, - 0x7a,0x16,0x79,0x47,0x1d,0xa7,0x7e,0x1d,0xa7,0x2b,0xea,0xa8,0x1e,0xb2,0xdd,0x39, - 0x5d,0x1a,0xac,0xc3,0x12,0xa8,0x67,0xf2,0xd1,0xd4,0x37,0xb2,0xfd,0x90,0x03,0x65, - 0x0d,0x70,0x22,0x6b,0x2e,0x1d,0x48,0x5f,0x16,0xb8,0x93,0xa8,0xb6,0x23,0xcc,0x00, - 0xbd,0xc5,0x24,0x97,0x36,0x70,0xc1,0x26,0xab,0x63,0xe0,0xb4,0xbc,0x4c,0x7f,0x32, - 0x1b,0x17,0x77,0xd4,0x11,0x20,0xd5,0x6a,0xe2,0xdd,0x8c,0xc0,0xf3,0xc9,0xca,0xbc, - 0x72,0x67,0x87,0xb2,0x9f,0x4f,0xaa,0x99,0xcf,0x27,0x94,0x95,0x92,0xea,0xa6,0x31, - 0x9d,0xb8,0x56,0x4d,0x59,0x65,0xa4,0x8e,0x7b,0x94,0x3a,0x76,0x8b,0x08,0xf7,0x7b, - 0x74,0xce,0x3e,0xa4,0xb2,0x41,0xbd,0xc3,0x8b,0xf3,0x89,0x54,0xd1,0x1d,0xe5,0x48, - 0xf4,0x98,0x06,0xa0,0xaa,0x8c,0x0e,0x69,0x72,0xa8,0x12,0x3a,0xe3,0x55,0xf5,0xb8, - 0xa1,0xf3,0x2e,0xc6,0x16,0x5e,0xe7,0x29,0x96,0xad,0xc9,0x7c,0x1a,0x78,0xa3,0x00, - 0xfe,0x4d,0xc6,0xa5,0x96,0x2e,0x1d,0xbb,0xaf,0x77,0xea,0xec,0xba,0x82,0x80,0xd5, - 0x72,0xa9,0xab,0xe9,0x40,0x85,0xb4,0x39,0xc6,0x26,0x9a,0x4c,0x47,0x5f,0x56,0x36, - 0x0c,0xa0,0xe2,0xae,0x31,0xe5,0x01,0x08,0xca,0x18,0xaf,0x2b,0xc3,0xb4,0xc7,0x50, - 0xa6,0xa3,0xb1,0xd9,0x8b,0x5d,0xf7,0x24,0x20,0x1a,0xb0,0xd5,0x5b,0x8e,0x2d,0x9b, - 0xd7,0x11,0x87,0xe2,0xee,0x5d,0x56,0x71,0x2e,0x32,0xa8,0x78,0xa8,0x8d,0xac,0x73, - 0x0f,0xb5,0xc3,0x08,0xcc,0x89,0x1c,0x3c,0x02,0x16,0x34,0x35,0xea,0xdd,0xa4,0x11, - 0xfd,0xc1,0x29,0x16,0xd1,0xe8,0xca,0x25,0xaa,0x55,0x10,0xf1,0x47,0x8d,0x9a,0xd6, - 0xab,0xe2,0x13,0x4c,0xc9,0x56,0x1b,0xa6,0x9b,0x32,0x6f,0x7f,0x88,0x2d,0x1a,0x00, - 0x4b,0x5c,0x8e,0x72,0xb3,0xa2,0x97,0x33,0x5b,0x72,0x24,0x63,0x1a,0x64,0x43,0x12, - 0xd2,0x39,0xd8,0x77,0x1a,0x36,0x73,0xd5,0x2b,0xb8,0xfa,0x1f,0x85,0x61,0x8b,0x2a, - 0x9b,0x65,0x0f,0x19,0xc4,0xac,0xcb,0x85,0x2f,0x25,0xa5,0x23,0x80,0x1e,0xc7,0x76, - 0x6b,0x6d,0x05,0x34,0xf9,0x64,0xb3,0x99,0x4e,0xa1,0xc9,0x1e,0xfb,0x7e,0x24,0x6e, - 0x51,0x7f,0x23,0xf6,0x29,0xef,0x68,0x32,0xf0,0x9b,0x4b,0x23,0x10,0xea,0xa7,0x16, - 0x7f,0x3a,0x9f,0xf8,0x9f,0xc0,0x32,0x1c,0x04,0x19,0x35,0x07,0x6f,0x09,0x7e,0xcb, - 0xfa,0x83,0x5e,0x14,0xd2,0xb6,0x8b,0xef,0x2c,0x74,0xce,0xc0,0xbd,0x30,0x96,0x8f, - 0x59,0x11,0xdf,0xc7,0xb2,0xc6,0xf6,0xea,0x7a,0x1b,0x37,0x39,0xb8,0xe0,0x24,0x85, - 0xb4,0xf5,0xd7,0x4a,0x4a,0x54,0x29,0xb5,0x6a,0x53,0x01,0x34,0xfb,0xc7,0x80,0xcc, - 0x03,0x3e,0xbd,0xcf,0xfe,0xf1,0xaa,0xaf,0x89,0x62,0xef,0x94,0xba,0xea,0x8a,0xaa, - 0x9c,0xbb,0xbd,0x17,0xe6,0x66,0x40,0xb6,0xb7,0xbc,0x21,0x29,0xe3,0x95,0xc7,0xa3, - 0x13,0x45,0x8b,0xef,0xee,0xcc,0xb9,0xbc,0x0e,0xff,0x65,0x8c,0x1d,0xfc,0xa9,0x8b, - 0xab,0x85,0xce,0x46,0xc3,0x27,0xb2,0xa0,0x49,0x3b,0x61,0xc2,0xf0,0xd0,0x5e,0x15, - 0x1e,0x6b,0xa3,0x1a,0x1f,0x2b,0x2d,0xe3,0x63,0xcd,0x95,0x09,0x6c,0x77,0x13,0x77, - 0x05,0x91,0x9d,0x2c,0x95,0x57,0x9c,0x5b,0x3e,0x52,0xe6,0x47,0xed,0x47,0xa2,0xb4, - 0x19,0xf7,0x23,0x49,0x14,0x8f,0xd6,0xd6,0x9c,0xef,0xa2,0x87,0xfd,0x8e,0xde,0x44, - 0x0a,0x68,0x4a,0xe0,0x66,0xae,0x9f,0x51,0x56,0x17,0xf3,0x03,0xe9,0xe5,0x5a,0x5c, - 0x53,0x3a,0x13,0xe0,0xdf,0xa5,0x72,0x9f,0x03,0x5f,0x96,0xeb,0x44,0x51,0x09,0x9c, - 0x68,0x5a,0x02,0x65,0x72,0xac,0xc4,0x80,0x4d,0x55,0x87,0x9f,0xd7,0x15,0xd8,0x5e, - 0x2c,0xaa,0xef,0xdb,0xbb,0x7e,0x79,0xca,0x43,0x0e,0xec,0xa5,0x21,0x24,0x4f,0x6c, - 0x78,0xc8,0x0a,0xf2,0x7b,0x35,0x95,0x2e,0xf6,0x65,0x3f,0x4d,0xe7,0xe6,0x22,0x3d, - 0xee,0xc6,0x50,0xa5,0x3a,0xb0,0x2f,0xc9,0x8b,0x49,0x4e,0x0f,0xb8,0xb2,0x83,0xdf, - 0x29,0x61,0xa5,0x9a,0xc9,0x8d,0x18,0xec,0x0e,0xd9,0x58,0x3b,0xf9,0x73,0x72,0x22, - 0x0f,0x19,0xc2,0xbf,0x16,0x9d,0xb6,0x7b,0x59,0x46,0x07,0x02,0xb4,0x26,0xe8,0x49, - 0x3c,0x1f,0x59,0xfd,0xb9,0x1a,0x0b,0x73,0x21,0x44,0x97,0x4d,0x31,0x04,0xb9,0x36, - 0xc5,0x44,0x5a,0xda,0xae,0xbc,0x0b,0x91,0x94,0x54,0xc9,0x48,0x04,0xa9,0xdd,0xb1, - 0x63,0x8a,0xec,0x26,0x09,0xb5,0xc8,0xe9,0x76,0x46,0x77,0xac,0x2b,0x38,0x84,0x78, - 0x5d,0xd8,0x31,0xad,0xe0,0xd1,0xce,0xea,0xf5,0x9b,0xc1,0xaf,0xb0,0x3d,0x47,0x11, - 0x0e,0xf5,0x8b,0x85,0xfb,0xde,0x82,0xc9,0xf0,0x98,0xf7,0x15,0xb1,0x5b,0x4d,0xd7, - 0x0a,0x36,0x54,0x11,0x09,0x11,0xd5,0xe1,0xca,0x2b,0x75,0xa0,0xab,0xf2,0x45,0x03, - 0xcf,0x56,0x7b,0xf7,0x21,0xdf,0x3a,0xb7,0xd9,0xc1,0x53,0x87,0xc3,0xf0,0xb1,0x43, - 0x8e,0x43,0x52,0x7a,0xdc,0xdc,0xa4,0x3f,0x2d,0x56,0x73,0xe2,0x81,0x0d,0x40,0x8e, - 0x65,0x15,0xab,0xb9,0x6a,0x87,0xb0,0x3d,0xcc,0xf3,0x7a,0x2a,0x52,0xc1,0xbb,0xa7, - 0xf4,0x76,0xf4,0xc1,0x6c,0xd9,0xd9,0x1b,0xd3,0x93,0xfb,0x1b,0xc0,0xd7,0x37,0xa7, - 0x4e,0xcb,0xf5,0xcb,0x34,0xd2,0xd6,0xee,0x15,0xb0,0x73,0xa4,0x1e,0x41,0xc5,0xc3, - 0xcd,0x6b,0x4e,0xd5,0xcc,0xf8,0x89,0x40,0x74,0x4e,0x86,0x5d,0x82,0x59,0x0e,0xc8, - 0xe9,0xf4,0x6d,0x5c,0xb5,0x06,0xa7,0xae,0x87,0xcb,0xc0,0xe6,0xe4,0x3c,0xbb,0x39, - 0x65,0x21,0x23,0x6c,0xb8,0x79,0x1a,0x21,0x8d,0x70,0xda,0x7e,0x74,0xd7,0xcc,0x5d, - 0x66,0xd7,0xf3,0x60,0x69,0xd4,0xc4,0x4b,0x29,0xd5,0x55,0xc5,0x59,0x83,0xfc,0xa1, - 0x33,0x2f,0x17,0x02,0xbd,0x25,0x96,0x70,0x93,0x76,0xda,0x66,0x62,0x60,0x45,0x26, - 0xb5,0x0c,0x9d,0x04,0x64,0x2d,0xd2,0xeb,0x41,0x0a,0xb3,0x38,0xe0,0x4c,0xc4,0x5f, - 0x31,0xdd,0x6f,0xf3,0x15,0x3d,0x4a,0x09,0x5d,0x22,0x5d,0x7b,0x30,0xf3,0x2b,0xad, - 0xe9,0x6c,0xdd,0x0d,0x3c,0x63,0x6e,0x68,0x34,0x9c,0xb9,0xa2,0x8b,0x74,0x43,0x6f, - 0x6a,0xe9,0xf5,0x4d,0xc8,0xb7,0xfe,0xce,0xce,0x70,0x3e,0x14,0x1a,0x92,0xd6,0x94, - 0x15,0xef,0x19,0x2f,0x39,0xdf,0x9a,0x7f,0x61,0x47,0xbf,0x00,0x85,0x3f,0xbb,0x38, - 0x0b,0xac,0xb6,0x64,0x98,0x94,0x53,0xab,0xf9,0x65,0x36,0x1a,0x82,0x13,0x83,0x4f, - 0xf1,0xd6,0xac,0xbd,0x68,0xe0,0xe5,0xd6,0x4c,0xd3,0xa5,0x96,0xe6,0x59,0x7f,0xc5, - 0x4a,0x5c,0x8f,0xe5,0x81,0xc5,0x52,0xe9,0xfa,0xba,0x14,0x3d,0xc3,0xca,0xb4,0xb9, - 0xa9,0xaf,0x4f,0x1f,0x7b,0xeb,0xd4,0xe3,0xf6,0xae,0xdf,0xab,0x9d,0x85,0x4a,0x3b, - 0xb8,0xc6,0x3c,0x46,0xb7,0x5d,0x5e,0xfa,0xe2,0xb9,0xd3,0x62,0x14,0x25,0xb1,0x6e, - 0x26,0x77,0xa6,0x68,0x39,0x70,0xf6,0xd7,0x16,0xe7,0xf4,0xb0,0x86,0x29,0xf5,0x5d, - 0x12,0xdf,0xef,0x5e,0x96,0xea,0x07,0xd9,0x62,0x61,0x93,0xcc,0xe2,0xe8,0xac,0x09, - 0x6b,0x3a,0xf4,0x52,0x46,0x13,0xdf,0x9b,0x7a,0x8e,0xd7,0x7f,0xf6,0x14,0x4b,0xd8, - 0x90,0x49,0x86,0x1c,0xd0,0xc1,0x5a,0x7f,0x32,0xc6,0xc6,0x51,0x9b,0xaf,0x11,0x6e, - 0xb2,0xa2,0x9c,0xa0,0xfc,0xc5,0x31,0x99,0x1b,0x6f,0x17,0x1d,0x6a,0xc0,0x36,0x9c, - 0x28,0x2e,0x05,0x88,0xac,0x21,0x47,0x82,0x7b,0xdf,0xd5,0x6b,0xe6,0x2e,0x1f,0x1d, - 0x21,0xc4,0x5f,0x67,0x25,0xce,0x32,0x62,0x75,0xc7,0xde,0x4c,0x78,0x00,0x9f,0x77, - 0x5a,0x5f,0x75,0x76,0x94,0xdd,0x4c,0x71,0xd9,0xd2,0x84,0x4d,0x36,0x5e,0x81,0x6c, - 0x3f,0x72,0x57,0xe6,0x5c,0xaf,0x17,0xe3,0xe2,0xce,0xb2,0x78,0x90,0x9b,0x07,0xa6, - 0x41,0x61,0x37,0x37,0x9d,0x8e,0x16,0xdb,0xb7,0xfa,0x49,0xc3,0x64,0xc6,0xd6,0x2f, - 0x9e,0x7b,0x3d,0x24,0x75,0x6d,0x02,0x2c,0x4b,0x92,0xb6,0xe5,0x49,0xed,0xac,0x27, - 0x58,0xc5,0xd8,0x05,0x62,0xa6,0xdb,0xa7,0x1d,0x91,0x91,0x97,0xda,0x9c,0xa7,0xb9, - 0x34,0x35,0xf3,0x07,0x12,0xfa,0xd4,0x15,0xa4,0x0d,0x9f,0xa3,0x0b,0x44,0x47,0x35, - 0x33,0xe4,0x31,0xc2,0xe5,0xd6,0xce,0x59,0xc0,0xdc,0x68,0x94,0x90,0x4f,0x35,0xb3, - 0xdd,0xcb,0x79,0x33,0xbb,0x52,0x74,0xd7,0x30,0xd5,0x80,0xd2,0x81,0x92,0x6e,0x59, - 0xd9,0xac,0x70,0xf8,0xd9,0x6e,0x9b,0xfe,0xad,0x5c,0x1e,0xf5,0xda,0x85,0xf8,0x54, - 0xbf,0x1c,0x4a,0x14,0xe6,0x93,0x32,0x16,0x7c,0xd6,0xd7,0x30,0xe6,0x2a,0x0b,0x5b, - 0xff,0x21,0x1c,0x9c,0xa1,0x07,0xb7,0x1c,0xda,0x65,0x7c,0xde,0xea,0x74,0x71,0xef, - 0xe6,0x74,0x2a,0xbd,0x47,0x5e,0x5e,0x3b,0x98,0xc2,0x6a,0xe7,0xdc,0x7f,0xc7,0xb0, - 0xf2,0x67,0xcf,0x6d,0x77,0xe3,0xd0,0xde,0xf5,0xde,0x1f,0x2d,0x16,0x8d,0x86,0x3f, - 0x16,0x9f,0xed,0xb4,0xd7,0xce,0xdb,0xba,0x8d,0x5d,0x1a,0x74,0xff,0x13,0x0c,0xfc, - 0xae,0x6d,0x77,0x20,0xb2,0x2f,0xaf,0xb5,0x62,0x38,0xcf,0xc4,0x01,0xa8,0xb3,0x0e, - 0xd6,0x0a,0x3a,0x4a,0x83,0x46,0xc7,0xf5,0xd6,0xde,0x51,0x46,0xc1,0x34,0xfb,0x1d, - 0xb8,0x03,0x3f,0x0c,0x13,0xc4,0x0e,0xe8,0x21,0xae,0x5f,0x07,0xd3,0x6d,0x02,0xe3, - 0xd8,0x8c,0xb6,0x2c,0xf3,0xd0,0x48,0x9f,0x4d,0xdc,0x82,0x0b,0x3b,0x21,0xe9,0x93, - 0xd4,0xe3,0xfe,0xd6,0x9f,0x05,0xdc,0x42,0x24,0xa4,0x32,0xed,0x7f,0xee,0xfc,0xe7, - 0xc1,0xdb,0x37,0x2d,0xf1,0xd7,0x4d,0x51,0x4d,0xa3,0x72,0x69,0x77,0xe9,0xd2,0x45, - 0xde,0x59,0xd9,0x1a,0xdb,0xe5,0x62,0x5f,0x75,0x72,0x76,0x1b,0xd7,0x87,0xdc,0xf5, - 0xcf,0xff,0x9d,0xfd,0x20,0xb9,0xc9,0x44,0x13,0x7a,0xc3,0x8d,0x3f,0x3a,0x3a,0x44, - 0xb4,0xad,0xee,0xae,0x97,0x02,0x3e,0xbb,0xdb,0x95,0x8a,0x0c,0xed,0x7e,0x58,0x2b, - 0x4e,0xfb,0x3b,0x4d,0x04,0x77,0xd4,0xcd,0x26,0x15,0x5e,0x24,0x83,0xfe,0x30,0x2b, - 0x1c,0x17,0xc0,0x94,0x6b,0x4b,0xbc,0xb6,0xef,0x71,0xc6,0xfa,0x85,0x8d,0x3f,0x61, - 0x59,0x03,0x46,0x02,0xc1,0xcf,0x3d,0x56,0x32,0x99,0x4d,0x41,0x00,0x87,0xe3,0x46, - 0xe9,0x21,0xe6,0xc8,0xf5,0xbb,0xf9,0xd7,0x13,0x38,0x94,0xcc,0x11,0xec,0x63,0x72, - 0x26,0x67,0x67,0xba,0xb1,0x97,0x7d,0x3c,0x0e,0xd9,0xf9,0xd2,0xa3,0xce,0x34,0x7a, - 0xac,0x0a,0x0c,0xce,0xee,0xdb,0x96,0x9f,0x6a,0xf9,0x42,0x15,0x1e,0x49,0x86,0x8a, - 0xe7,0xf5,0x3e,0x92,0xef,0xcd,0x4b,0x5c,0xed,0x48,0x78,0xd2,0xd1,0x22,0xdd,0xca, - 0xd8,0x53,0x81,0x31,0x8e,0xca,0xd5,0xf9,0x60,0xbf,0xea,0xb4,0xd8,0xdd,0x40,0x10, - 0xc1,0xd2,0x1e,0xe4,0xcf,0xf9,0xe8,0xb8,0xc6,0x6a,0xe4,0x06,0xc7,0x72,0x9e,0xc8, - 0xcc,0xeb,0x0b,0x28,0x6c,0x0c,0x8e,0x65,0xd5,0x95,0x6d,0xf0,0xa7,0x34,0xba,0xa1, - 0x58,0xd3,0x0f,0xc4,0x5b,0xf4,0x1e,0x9e,0x3b,0x0f,0x60,0x55,0xfb,0x2d,0x55,0x41, - 0xc5,0xeb,0x1b,0xde,0x66,0x7e,0xae,0xe4,0xe3,0xf7,0xd4,0xf9,0x50,0x31,0x24,0x79, - 0xf6,0xa1,0xd8,0xb3,0xb7,0xab,0x18,0x24,0x56,0x72,0x26,0x9f,0xf6,0x78,0xab,0xdb, - 0x91,0x89,0x8c,0x3f,0xea,0xe0,0x01,0x79,0xa9,0x5f,0x3d,0x3d,0xab,0x74,0x7b,0x0a, - 0x16,0x51,0xd3,0x52,0x8e,0x6a,0x2d,0xae,0x19,0x3d,0xa5,0xb6,0x4d,0xba,0x65,0x23, - 0xac,0x53,0xba,0x75,0x37,0xbe,0xb8,0xa1,0x55,0x43,0x73,0x9b,0xec,0x3c,0x6e,0x3b, - 0xe2,0xac,0xaf,0x20,0xf3,0x87,0xbe,0x5d,0xfc,0x19,0x61,0xfe,0xef,0xd7,0xc7,0xa9, - 0xde,0xea,0x4e,0xfd,0x9c,0x76,0xc6,0x09,0x3b,0x30,0xcb,0x72,0x56,0xd2,0xf5,0x02, - 0x69,0x12,0xdc,0x35,0x76,0xc6,0x9b,0x3f,0x96,0xd0,0xef,0x9f,0xee,0xb4,0xbf,0x62, - 0xd4,0x34,0xb6,0xcd,0x1c,0x74,0x8b,0xb5,0xc7,0x22,0xaf,0x9d,0x02,0x88,0x5a,0x7b, - 0x79,0x54,0x44,0x4f,0xf7,0x3c,0x00,0x5b,0x70,0x6d,0xfd,0x7b,0xce,0x0c,0xfe,0xd6, - 0xc3,0x6b,0x2a,0x3d,0xf1,0x9d,0x5c,0x12,0x8a,0xbe,0x08,0x08,0x6b,0x6c,0x2e,0xc0, - 0x14,0xc7,0x42,0x44,0x4f,0x28,0x63,0x73,0xcc,0x29,0x1b,0x09,0x01,0x8b,0x88,0x6b, - 0x0b,0x85,0x8d,0xab,0xc0,0x5a,0x1c,0x03,0xeb,0x01,0xb4,0x49,0x8c,0x51,0x27,0x71, - 0x55,0x76,0x30,0x39,0x9b,0xa9,0xe4,0x8b,0x69,0x54,0xce,0x45,0x3f,0xe2,0x56,0x3a, - 0x2c,0xe2,0x3c,0x31,0x42,0x8c,0xe8,0x02,0x01,0x12,0x0e,0xd9,0x0b,0xd0,0x60,0x9d, - 0xdd,0x0a,0x06,0x3f,0x21,0xa2,0x2f,0x07,0xaa,0x06,0x3f,0x2b,0xf7,0xd8,0x55,0x60, - 0x73,0xfa,0xbf,0x5b,0x3e,0x15,0x0b,0x2f,0x3d,0xef,0xf9,0x25,0xb2,0x7d,0x6c,0x50, - 0xa8,0x1d,0x16,0x0e,0xaa,0x82,0x43,0xc7,0x26,0x09,0xf2,0x20,0x1a,0xaa,0x0c,0x47, - 0x1f,0x94,0x5e,0x03,0x7b,0x43,0xa8,0x67,0x13,0xf0,0xc2,0x29,0x75,0x7d,0x23,0xd4, - 0x99,0x6e,0x59,0x06,0xaf,0x22,0x90,0xf3,0x18,0x87,0x9d,0xad,0xe0,0xbd,0x12,0x23, - 0xe9,0xa0,0xef,0x04,0x5f,0xc1,0x1a,0xc4,0x9e,0x22,0xaa,0x44,0xdb,0x1a,0xbe,0xab, - 0xe6,0x13,0x6d,0xbe,0x0a,0xd7,0x55,0xf3,0x34,0x5b,0xfe,0xbf,0x8f,0x41,0x7e,0x7f, - 0x16,0xf3,0x65,0x75,0x16,0x74,0x95,0x1a,0xb1,0xee,0x6a,0x50,0x5c,0xf6,0x86,0xb8, - 0x65,0x03,0x93,0xb2,0xc4,0xaa,0x47,0xd5,0xd2,0x9d,0x76,0x6b,0x9c,0xd4,0x24,0x0c, - 0x6b,0x6f,0x23,0x0b,0xdc,0x55,0x93,0xa4,0xb2,0xb5,0x70,0xd6,0x6d,0x8e,0x31,0x42, - 0xb9,0x60,0x99,0x05,0x1a,0xe4,0xa0,0xfe,0xdf,0xd6,0x16,0xb3,0x59,0xbd,0x24,0x70, - 0x2e,0xb2,0xa1,0xcb,0xe0,0x64,0x59,0x32,0xcb,0xd5,0xcf,0x2b,0x67,0x5f,0x0f,0xcf, - 0x85,0xe9,0xcc,0xf8,0xaf,0x52,0xb9,0x08,0x1f,0x32,0xb8,0x77,0x43,0x3d,0x47,0x3d, - 0x3e,0x3e,0x3a,0x47,0x4c,0x83,0x4b,0xf6,0xcf,0xb9,0xcf,0x4a,0x5f,0x6a,0x6f,0xe2, - 0x14,0xb9,0xa2,0x98,0x11,0x67,0x9b,0xb3,0x3b,0x00,0x1a,0x4f,0x04,0x6d,0x71,0xc2, - 0xbc,0x83,0x8b,0xb6,0x93,0x5e,0x2e,0x77,0x21,0x8a,0x93,0x5a,0x46,0xa0,0xd9,0x89, - 0x11,0x4c,0x48,0x23,0x25,0xa0,0x65,0x22,0x67,0x24,0xe1,0xad,0x2e,0x99,0xbe,0x36, - 0xaf,0xae,0x4c,0x36,0x12,0x06,0x25,0x4f,0x0f,0xb1,0xa2,0x52,0x8e,0xb2,0x90,0x23, - 0x57,0x44,0x20,0xc2,0x9f,0x26,0x32,0x70,0x71,0xd2,0xaa,0x0c,0xf9,0x14,0x1c,0x8a, - 0xbd,0x56,0x40,0x6e,0xc4,0xe3,0x8b,0xc8,0x25,0x60,0xc2,0x60,0x24,0xde,0x4d,0x6f, - 0x60,0xbc,0x52,0x6b,0x33,0x84,0xdb,0x23,0x1c,0x18,0xb0,0x52,0xac,0xcb,0xf4,0x6f, - 0xdb,0xad,0x27,0x3b,0x82,0x24,0x5e,0xa1,0x85,0xbf,0xf3,0x24,0x58,0x26,0x97,0xba, - 0x2e,0x8b,0x69,0xa6,0x36,0xbd,0x66,0xc3,0x42,0xa3,0x6a,0xf0,0xcf,0x2c,0x4c,0x64, - 0x2c,0xc4,0xdd,0x7b,0x67,0x14,0x5a,0x34,0xa3,0x3b,0xb0,0x32,0x1c,0x50,0x52,0xe3, - 0x60,0x68,0x95,0x95,0x32,0xbe,0x45,0x56,0x46,0x4c,0x30,0x06,0x30,0x0f,0xac,0x1b, - 0x12,0x7b,0xad,0x04,0x9d,0x03,0x9b,0x4b,0x7d,0x94,0xd9,0xbf,0xe2,0x71,0xa5,0xdc, - 0x92,0x29,0xc3,0x22,0x88,0x23,0xf6,0x5c,0xdc,0x2a,0x69,0x06,0x05,0xbf,0x5f,0x5f, - 0x4c,0xb0,0x42,0xf6,0x4e,0xba,0x01,0x30,0x22,0x0a,0x00,0x24,0xe8,0xc1,0x6c,0x43, - 0x67,0x05,0x2e,0xfd,0x6b,0x0f,0x60,0xe7,0xc6,0x62,0xe1,0x80,0xc9,0xe2,0xbd,0x9b, - 0x4c,0x42,0x98,0xdf,0x50,0xc6,0xd3,0x2d,0xb1,0x17,0x7e,0x46,0x4f,0xd8,0xa7,0xe1, - 0xf7,0x62,0x36,0x1a,0x3e,0xdb,0xf8,0xff,0x03,0xeb,0x95,0xe6,0x74,0x60,0xcd,0x01, - 0x00, + 0xf3,0x8c,0x82,0x95,0xff,0x68,0xef,0xdf,0xfb,0xdb,0xb6,0x91,0xfd,0x71,0xfc,0x7f, + 0x3f,0x0a,0x86,0xdb,0xe3,0x90,0x15,0x25,0xcb,0x76,0x92,0xb6,0x52,0x18,0xbf,0x5c, + 0x37,0x6d,0x73,0x9a,0xdb,0x89,0xdd,0xed,0x9e,0x8f,0xe3,0xcd,0x47,0xb2,0x64,0x5b, + 0xb5,0x6e,0x2b,0xca,0x97,0xac,0xe4,0xdf,0x63,0xff,0xbd,0x67,0x30,0x1c,0x02,0x04, + 0x25,0x3b,0x9b,0xb3,0xdf,0x7b,0xfb,0x8a,0x45,0x82,0x83,0xc1,0x60,0x00,0x0c,0x80, + 0xc1,0x60,0x46,0x46,0x09,0x06,0x6a,0x79,0x40,0x20,0x7c,0x5e,0x1d,0x38,0x92,0x40, + 0xbc,0x90,0xc1,0xbb,0x56,0xdc,0xf8,0x92,0xfd,0xff,0xba,0x0b,0x1f,0x38,0x4b,0x5d, + 0x7f,0xe3,0xc3,0xc5,0xc2,0x27,0xc6,0xa2,0x2b,0x38,0x7c,0xfb,0xe6,0xfd,0x5a,0xb3, + 0xe8,0xa3,0xf7,0xe2,0x68,0xe5,0xa1,0x6b,0x95,0xf1,0x7c,0x5a,0xbd,0x34,0x71,0x6d, + 0x72,0xa7,0x93,0xc9,0x90,0x60,0xb1,0xfa,0x3c,0xaf,0xe2,0xac,0xb8,0x64,0x82,0xec, + 0x21,0x07,0x60,0x32,0x5b,0x03,0x02,0xe2,0x70,0xbd,0x65,0xe6,0xba,0x63,0xf2,0x7f, + 0x02,0x15,0x04,0xd2,0xbb,0xc3,0x57,0x7f,0x7b,0xc8,0xea,0x78,0x2e,0x59,0x1e,0x52, + 0x9f,0x37,0x87,0x47,0xdf,0xbd,0xf9,0xe9,0x28,0x79,0xb3,0xdb,0xd8,0x69,0x34,0x93, + 0x37,0x88,0xd5,0xb1,0xdd,0x58,0x65,0xd7,0x55,0xb1,0x19,0x26,0x5f,0x89,0x4a,0xeb, + 0xef,0x47,0x07,0xb4,0xbb,0xc0,0x76,0xe1,0x21,0x7d,0x58,0xe9,0x6c,0x98,0x3c,0xb9, + 0x99,0x8f,0x76,0xde,0xed,0x27,0x4a,0xc7,0x7d,0x82,0x9e,0xfa,0x43,0x80,0xb5,0xfa, + 0x78,0xae,0xd3,0x11,0x1f,0xe4,0xe7,0xe6,0xb1,0xbd,0xaf,0x92,0xdd,0xd9,0x78,0x34, + 0x5d,0x2f,0xb1,0xdd,0x46,0x63,0x72,0xd8,0x42,0xf4,0x0a,0x4e,0xf0,0xef,0x5d,0x2e, + 0x4b,0x09,0x0d,0xcd,0x50,0xdd,0x70,0xf7,0x6d,0x44,0xd9,0x7f,0xc7,0x03,0x37,0xa2, + 0xc6,0x55,0x86,0x6e,0x44,0x57,0xad,0x45,0xd9,0xc8,0x98,0xd6,0x97,0x0c,0x3f,0x63, + 0x9e,0xca,0x7d,0x1f,0xc9,0x6c,0x5f,0x6e,0x67,0x61,0xcd,0x57,0x74,0x6e,0xa0,0x08, + 0xe6,0x6d,0x34,0xcf,0xa8,0xd6,0xed,0x69,0x0c,0x79,0x8c,0x04,0xb5,0x66,0xb0,0x2e, + 0x05,0x35,0x82,0x9f,0x07,0x80,0xc5,0x3e,0x8c,0x53,0x5f,0xbd,0x37,0x6b,0x5a,0xb6, + 0xa3,0x14,0x9f,0x19,0x93,0x19,0x67,0x12,0x37,0x42,0xe2,0xb0,0xed,0xff,0x1a,0xfe, + 0x7a,0x50,0xaf,0x7f,0x9f,0xc3,0x1e,0x20,0xff,0x3f,0xdf,0x63,0x0f,0x88,0xf8,0xbf, + 0x92,0xcb,0x1e,0x90,0xf3,0x7f,0xbe,0xcf,0x1e,0x10,0xf1,0xff,0x0a,0xa7,0x3d,0xff, + 0x4f,0x70,0xcb,0xa3,0x96,0x2e,0xdb,0xf5,0xed,0xdd,0xe0,0x86,0x4d,0xfc,0xc5,0x55, + 0x4e,0xe1,0x3c,0x87,0x3d,0x88,0xad,0x77,0xd1,0x63,0x19,0x79,0x43,0xa7,0xd8,0x1f, + 0xe6,0x2e,0xc5,0xb0,0x6f,0x20,0xfc,0xbd,0xbc,0x91,0xc4,0x81,0x0f,0xc9,0x33,0xa9, + 0x47,0x9b,0x1f,0x1e,0x7e,0x67,0xc3,0xd7,0x7b,0x37,0x77,0x9e,0x14,0x43,0x2a,0xb7, + 0x6a,0xf0,0x8f,0x7e,0xdd,0x11,0x43,0x70,0x04,0x16,0x56,0xa8,0x73,0x45,0x95,0x7b, + 0x35,0xaa,0x5e,0xcb,0x8b,0x17,0xd3,0x17,0x6f,0x79,0xfd,0x31,0x04,0xa6,0x6c,0xce, + 0x97,0x2e,0x61,0x4c,0x1e,0x57,0x67,0xe1,0xb6,0x28,0x3c,0x4f,0x44,0x62,0x17,0x1b, + 0x3f,0xfc,0x04,0xd8,0x55,0x98,0xe2,0xd4,0x06,0xc5,0x91,0x65,0x40,0xb5,0x19,0xdb, + 0x97,0x5f,0xea,0xed,0x4d,0x3e,0x30,0xd3,0xf9,0x1a,0x2e,0x3f,0x71,0xbb,0x7e,0xf1, + 0x2d,0x61,0xf1,0x17,0x89,0xbe,0xc2,0x72,0xd9,0x2e,0xe0,0x35,0x27,0x47,0xb1,0xf8, + 0x9e,0xc4,0xb3,0x85,0xfd,0x9e,0x49,0x9c,0xf5,0x2b,0x0f,0x9c,0xc5,0xc5,0x66,0x87, + 0xa5,0x01,0x67,0xe7,0xcc,0x75,0xcc,0xc0,0x16,0xb5,0x93,0xce,0x5c,0x62,0xc2,0x94, + 0xfd,0xe8,0x97,0xb4,0x83,0x68,0x6b,0x2f,0x26,0x16,0x56,0x82,0x2b,0xef,0x44,0x70, + 0x18,0x3d,0xe6,0x83,0x3c,0x3e,0xac,0x49,0x71,0x1d,0x81,0x84,0x4c,0x67,0x1a,0x44, + 0xbf,0xfd,0x18,0x33,0xda,0xe7,0x26,0x10,0x1c,0xa3,0x42,0x61,0xb3,0xcb,0x3a,0x7d, + 0x2f,0xdc,0xfc,0xf2,0x31,0xc7,0x96,0x01,0xca,0xaf,0x45,0x0e,0xb2,0x3e,0x9f,0x02, + 0xa8,0x29,0x79,0x25,0x9e,0x31,0xc1,0x55,0x23,0x5a,0x7b,0x66,0xc9,0x9b,0x02,0x69, + 0x8c,0x7a,0x59,0x81,0x9f,0x55,0xee,0x66,0x08,0x56,0xb6,0x33,0x0f,0x76,0x5f,0x43, + 0x43,0x8b,0x87,0x6b,0xf0,0xb9,0x3f,0x6f,0xdc,0xd7,0x35,0xd0,0xbf,0xee,0xeb,0x18, + 0x5a,0xb4,0x1d,0x15,0xb3,0x04,0x47,0xce,0xa7,0xa9,0x8e,0xf2,0xe4,0x7f,0x44,0xac, + 0x91,0xb0,0xb4,0x4a,0xce,0xa6,0xbe,0x17,0x5f,0x77,0xbe,0xb4,0xe9,0x52,0xe4,0x75, + 0x76,0x38,0xf4,0xb0,0x45,0xc7,0x86,0x0e,0x20,0x9a,0x8e,0xff,0xe0,0xdb,0xd1,0x34, + 0x84,0x36,0x87,0x38,0xd0,0x69,0x07,0x8c,0xc9,0x1f,0xa4,0x36,0x11,0x5f,0xba,0xb8, + 0xc1,0xcf,0xaf,0xfd,0xe1,0x94,0x0a,0xb9,0xc0,0xaf,0x20,0xff,0xc2,0x1a,0x16,0xc7, + 0x28,0x5f,0x5a,0xcd,0xc1,0x59,0xf4,0x08,0x8f,0x8d,0xee,0x55,0xf6,0x39,0xc6,0xc3, + 0x87,0xab,0x71,0x74,0xfc,0xb8,0xc0,0xf7,0xf8,0x04,0x84,0x15,0xaf,0xff,0xe3,0x75, + 0xe7,0xbb,0x9e,0x54,0x79,0xde,0x9d,0xae,0x5d,0x96,0xe4,0x61,0x4f,0xa4,0xde,0xf2, + 0x56,0xb9,0x4b,0xb4,0x82,0xa0,0xe0,0xbb,0xfd,0x41,0x02,0x9c,0x04,0xca,0x40,0x4d, + 0x5a,0x63,0x00,0xac,0xc1,0x29,0xca,0x3d,0x52,0xa2,0x46,0x18,0x7f,0xcd,0xda,0x35, + 0xfd,0x05,0xbb,0x96,0x33,0x18,0xfb,0x0b,0xc3,0xca,0xa5,0x79,0xd5,0x0a,0x7e,0x23, + 0x9b,0xc2,0xfd,0x35,0xef,0x0c,0x75,0x31,0xc8,0xd7,0xe3,0xb1,0x72,0xa2,0xe5,0x05, + 0x76,0x0d,0x93,0xd2,0xce,0x9a,0x88,0x08,0x3a,0xf9,0x3d,0x41,0x7f,0xa2,0x62,0xa2, + 0x28,0xd7,0x97,0x37,0xe3,0x86,0xdd,0x8c,0x87,0xec,0xf5,0x98,0xda,0x71,0x76,0xe5, + 0xad,0xca,0xab,0x1a,0x53,0x1c,0xbd,0x0b,0x43,0x21,0xd9,0xe1,0xf1,0xfd,0xc5,0x51, + 0xa7,0xfb,0x7c,0x8b,0x1e,0xf4,0x36,0xb5,0xf0,0xd4,0x82,0xd9,0xbc,0xa2,0x91,0xc8, + 0x60,0x92,0xd0,0x2b,0x12,0xd0,0xac,0x19,0xdd,0x13,0x96,0x6c,0x36,0xee,0x97,0xd9, + 0xa9,0xc0,0xa0,0x37,0x8f,0x06,0x59,0xe6,0xa0,0x36,0x2e,0xba,0x47,0xa8,0xd9,0x00, + 0xe5,0x72,0x00,0x39,0x3e,0x5f,0x40,0x6d,0x68,0x55,0x65,0xee,0xae,0x09,0x35,0x5e, + 0xb5,0x7c,0xaf,0xcc,0x5b,0xe2,0xa5,0xdb,0xaa,0xb0,0xc4,0x1a,0xa6,0xbe,0xa0,0x2f, + 0xdc,0x1e,0x9a,0x50,0xc7,0x4a,0x88,0x15,0x07,0xf7,0xc9,0x3c,0x6f,0xf7,0x60,0x0d, + 0x29,0x6a,0xa5,0xd9,0x1c,0xba,0x51,0x5e,0x59,0xf0,0xcb,0xfa,0x45,0xc5,0xa8,0xa0, + 0xc8,0x59,0x42,0xf0,0xc6,0xc2,0x71,0x0c,0x21,0x0b,0xc7,0xb5,0x63,0x54,0xe3,0x51, + 0xea,0x00,0x73,0xb7,0x83,0xb3,0x09,0xcd,0x0b,0x7c,0xf6,0x88,0xa2,0x6c,0xff,0xe7, + 0xe4,0x02,0xa8,0xfb,0xd9,0x71,0x5f,0x9c,0x09,0x84,0x31,0x58,0x44,0x67,0x9d,0x5d, + 0x95,0xa7,0x1b,0x89,0xd2,0x19,0xbe,0x30,0xd9,0x35,0x27,0xf3,0xd0,0x5d,0x2c,0x3d, + 0x88,0x8f,0x5f,0x23,0xcd,0x58,0x2f,0xc1,0xfb,0x54,0x22,0x94,0xd9,0x9f,0xd9,0x7b, + 0xd4,0x7f,0x57,0xb9,0xec,0xa0,0x9b,0xcb,0x45,0x99,0x07,0xf4,0xa2,0x45,0x96,0xa7, + 0x6f,0x8d,0x11,0x9a,0xf3,0x1e,0x67,0x28,0xa4,0x4e,0x1c,0xc2,0x25,0xb7,0x24,0xd1, + 0x44,0x90,0xb3,0x9a,0xf3,0xad,0xf4,0xdf,0xa1,0xb3,0x3b,0xeb,0x29,0x4a,0xbd,0x76, + 0x30,0x56,0x7e,0xdf,0x77,0x5e,0xcf,0xd1,0x2e,0xb9,0xab,0xf0,0x63,0xb5,0x44,0x97, + 0x20,0x93,0x06,0xac,0x7f,0xcb,0xd1,0xc0,0xa4,0x2f,0xf8,0xfb,0xaf,0x27,0xb4,0xff, + 0x2a,0x87,0xbd,0x95,0xb0,0x03,0x02,0xec,0xbb,0xec,0xf3,0x03,0x5d,0x82,0x9b,0xc6, + 0xf4,0xba,0xef,0xfb,0x26,0xe7,0x38,0x05,0x93,0x61,0xc5,0x22,0xeb,0xa9,0x17,0x29, + 0xef,0x87,0xb6,0x13,0x3e,0x65,0xa7,0x1c,0x2f,0xe3,0xec,0x3c,0x26,0xe2,0x86,0x03, + 0x08,0xc0,0x29,0x3b,0xbc,0x12,0xad,0x2d,0x59,0x23,0xd0,0xfb,0x01,0x6d,0x3d,0x86, + 0x94,0x12,0xe7,0x7e,0x12,0x31,0x5b,0xd0,0x19,0x31,0x9f,0x3a,0x0f,0x32,0x31,0xf9, + 0x6c,0x3c,0xef,0xce,0x44,0xe8,0x55,0xad,0xfe,0x2a,0xd7,0x7e,0x70,0xa4,0xdd,0xc9, + 0x2e,0xfb,0xbd,0x24,0x38,0x55,0x1f,0x8e,0xe4,0xcb,0xe1,0x0f,0xf1,0x58,0xfd,0x8a, + 0x38,0x81,0x61,0xc5,0xf4,0x6c,0xd1,0xd7,0xc3,0x39,0xf6,0xf4,0x7a,0xf1,0x88,0xd2, + 0x8b,0x2d,0x3a,0xea,0xc0,0x15,0x61,0x87,0xee,0x87,0x9d,0x33,0x74,0x29,0xd2,0x98, + 0x1d,0x5c,0xcc,0x26,0xec,0xfe,0x9f,0xa9,0x15,0x2b,0xfe,0x46,0x01,0xfe,0xcb,0x04, + 0xc2,0x16,0xb8,0x2b,0xa8,0xfe,0x6e,0x7a,0x6b,0x35,0xfa,0xd5,0x6c,0x88,0x75,0xd2, + 0x7c,0x3e,0x6d,0x6d,0x6d,0xe1,0xea,0x40,0x03,0x86,0x80,0x8d,0x27,0x8d,0x6d,0x22, + 0x42,0xb0,0x6d,0x4d,0x86,0xbe,0x12,0xb1,0xea,0x5c,0x64,0xfb,0x09,0x30,0x97,0x2a, + 0x03,0x2a,0x6c,0x0a,0x1f,0x67,0x54,0x5f,0x5e,0xf4,0xb1,0x60,0x62,0x1e,0xa8,0xfe, + 0xe3,0xbf,0x6d,0x9f,0xf4,0xe6,0xba,0xfe,0x20,0x83,0x53,0x4c,0x36,0xfe,0x19,0xc8, + 0x75,0x69,0x4b,0x2f,0xd9,0x0f,0x0c,0x26,0xd5,0x60,0x4a,0x53,0x4a,0x9f,0x4a,0x44, + 0x1f,0x30,0x20,0x6f,0x5d,0x70,0x5a,0x25,0xbe,0xc3,0xb1,0xa5,0x9f,0xf5,0xc1,0x4c, + 0x8a,0x59,0xaa,0xe6,0x40,0x0f,0x77,0xac,0xd3,0x5c,0xe9,0x58,0xa7,0x87,0x78,0x06, + 0xec,0x6b,0xfc,0xbc,0x3f,0x7f,0x39,0xec,0xd3,0xe3,0x8f,0x9f,0x5f,0xf5,0xa2,0xc7, + 0x32,0xba,0x1e,0xc7,0x0d,0xe6,0xe0,0x6b,0x88,0x8b,0x06,0x79,0x1d,0xc0,0x54,0xf0, + 0x98,0x56,0xc5,0x8f,0x1f,0xe8,0x89,0x07,0x8d,0x4a,0xde,0x8b,0xd4,0x03,0x8f,0x50, + 0x7e,0xdf,0xe0,0x66,0x6d,0x84,0x0e,0x6f,0x02,0xf5,0x44,0x8b,0x16,0x69,0x86,0xfb, + 0xee,0x13,0x8d,0x2c,0xcb,0xcf,0x2a,0x79,0xfc,0x01,0xcf,0x9e,0x86,0x02,0x0e,0x7d, + 0x6c,0x97,0x26,0xbe,0xaa,0x64,0x2b,0x6e,0x05,0x1a,0x91,0x81,0x3e,0xb5,0x61,0x47, + 0xd9,0xb9,0x12,0xe0,0xbb,0x02,0x75,0x85,0x50,0x28,0x55,0x9f,0xfa,0x0b,0x77,0xc1, + 0x36,0x98,0xae,0xee,0x9c,0x6f,0x7d,0x77,0x55,0x2d,0x0c,0x71,0xb4,0xa7,0x8b,0x81, + 0xd6,0xa6,0x97,0xa1,0xb6,0xb1,0xdf,0x20,0x20,0xc5,0x0b,0x49,0x4d,0xa4,0x75,0x94, + 0xbc,0x6a,0x12,0xda,0x16,0x8a,0x67,0x3e,0x0a,0xa7,0x22,0xa7,0x13,0xb8,0x0a,0x08, + 0x2b,0x9b,0x1a,0x5d,0x78,0x30,0xc5,0x49,0x6b,0x48,0x4e,0xf8,0xc5,0xdc,0xae,0xbd, + 0x01,0xae,0x05,0x87,0x2f,0xdf,0x1e,0xbd,0x7a,0xfb,0xf2,0x75,0x1a,0x7e,0x2b,0xff, + 0x99,0x0f,0x80,0x4a,0x17,0x64,0xc2,0xd7,0x0a,0xc3,0x84,0x1d,0x60,0xf4,0x5a,0xdc, + 0xdb,0x12,0xd8,0xd1,0x91,0xff,0xb2,0xe2,0xed,0x60,0x38,0x90,0x17,0x52,0x35,0xbd, + 0xcf,0x2e,0x9f,0x3d,0x91,0xf7,0x5c,0x7d,0x7b,0x68,0x9c,0xdf,0x29,0x8a,0x31,0xdc, + 0xd9,0x66,0xef,0xe5,0xa3,0xa4,0xb1,0x75,0x70,0xee,0xcc,0x47,0xd2,0xb2,0xdc,0xdf, + 0xa6,0xf5,0x6e,0x95,0x8d,0xe5,0x79,0xd6,0x6a,0x26,0xa7,0x67,0xe7,0xad,0x31,0x4c, + 0x24,0x12,0x32,0x05,0x6b,0x2d,0xee,0x92,0x1e,0xee,0x2b,0x7e,0xa6,0x07,0xe3,0x95, + 0x38,0x6b,0x1d,0x9f,0x24,0x63,0xde,0x93,0x03,0x9a,0x37,0xf3,0x74,0x9c,0x36,0xc3, + 0x0b,0xad,0x56,0x5b,0x0b,0x52,0x33,0x10,0x0c,0xab,0x09,0xf0,0x70,0x97,0xd0,0x34, + 0x7d,0x84,0x96,0xe8,0xcf,0x51,0x7d,0x7e,0x93,0x1c,0xfc,0xfc,0x72,0x3a,0x39,0xbd, + 0xc0,0xb3,0x09,0x5e,0x90,0xbf,0x89,0x27,0x2f,0x7c,0x27,0xd9,0xab,0x75,0x35,0x40, + 0xaf,0x61,0xb5,0x73,0xd0,0x99,0x62,0xd0,0xf6,0x99,0x56,0xc3,0x2a,0xe1,0x00,0xdd, + 0xbe,0xe0,0x6d,0x58,0x9e,0xe9,0x0e,0x51,0xa9,0xae,0xc6,0xe6,0x58,0xe5,0x9b,0x28, + 0x8b,0x17,0x32,0xdc,0x55,0x62,0x60,0x35,0x3c,0xfb,0x6c,0xd4,0x8e,0x93,0x19,0x00, + 0xee,0x2c,0x78,0x3b,0xc3,0xfe,0x6c,0x86,0x5b,0xb2,0x10,0x91,0xf3,0x09,0x2d,0x70, + 0x1a,0xd9,0x90,0xc4,0x3e,0xa9,0x3b,0xa3,0x6a,0x5c,0x58,0xb7,0x22,0xbb,0x8d,0x8f, + 0x57,0x04,0xd1,0x28,0x5e,0x50,0xa7,0x98,0xa7,0xdf,0x44,0xe1,0x5f,0x38,0x29,0x8c, + 0xdb,0xf3,0x06,0x89,0x3e,0x9a,0xa2,0x81,0x27,0x1d,0xe1,0xbd,0x90,0x57,0x18,0x2d, + 0x11,0x6f,0xe1,0x01,0xc7,0x3b,0x4b,0xb9,0xe8,0x1b,0xcd,0x1b,0x9f,0x2e,0x90,0x15, + 0x7f,0x53,0xb4,0x4d,0x9e,0x9a,0x17,0x17,0xc5,0x8b,0xb9,0x2f,0xf5,0x04,0xd1,0x5d, + 0xb2,0x83,0x5b,0xbd,0x36,0x71,0x58,0xdf,0x59,0xb5,0x25,0xdb,0xce,0xf1,0x39,0x12, + 0x90,0x8f,0x37,0x61,0xd1,0xd6,0xf1,0xe6,0xf3,0x17,0xe1,0xc9,0xd6,0x79,0xa2,0x05, + 0x9c,0xe6,0xe0,0x8b,0x70,0x33,0x6c,0x85,0x7c,0x90,0x1c,0x26,0xe1,0x73,0x7a,0x1e, + 0xce,0xe9,0xf1,0x05,0x3d,0x9e,0xd3,0xe3,0xe3,0xf0,0x31,0x1e,0xff,0x71,0x35,0xc1, + 0xcb,0xdd,0xf1,0xe9,0xc9,0x9d,0xcb,0x18,0x4f,0xbf,0x8f,0x05,0x65,0xbc,0xe0,0xd1, + 0xc3,0x3b,0xd0,0xb4,0x5a,0xc2,0x33,0x1c,0x25,0xed,0xcf,0x41,0x30,0x16,0x8a,0xa8, + 0xa0,0x73,0xa4,0x10,0xc6,0x08,0x97,0x45,0x7a,0x01,0xc6,0x12,0x1b,0x72,0x65,0x54, + 0x82,0x11,0x29,0x27,0x37,0x78,0xc5,0x9a,0x5a,0x67,0x24,0xc8,0x53,0x7c,0x20,0xc0, + 0x3d,0xb3,0xf9,0x6d,0xd9,0x20,0x28,0xda,0x6e,0x35,0x81,0xfb,0x15,0x42,0x11,0x70, + 0x87,0x78,0x11,0x98,0xcc,0x27,0x4f,0x8e,0x41,0xc2,0x44,0x70,0xd3,0x0a,0xb5,0x25, + 0xdb,0xe0,0xb8,0x32,0x97,0xee,0x2e,0xc2,0x24,0xf2,0x0b,0x8a,0x6b,0xa1,0xd9,0x6d, + 0x28,0x79,0x71,0x5e,0x05,0x0e,0xf5,0x13,0xe1,0xd5,0xe2,0x37,0x10,0xcc,0xe6,0x7f, + 0xed,0xcf,0x22,0x61,0xf1,0xd9,0x4d,0x9a,0x01,0xf2,0x66,0xb9,0xc4,0x10,0x1d,0xa5, + 0x5b,0x7f,0x8f,0xae,0xf7,0x3e,0xf6,0x6a,0x1f,0x1b,0xf9,0x9f,0x68,0xaf,0xc5,0xbf, + 0xf1,0x5e,0xbc,0xd5,0xe8,0xdf,0xf6,0x4f,0xa3,0xb3,0x9b,0x58,0xd8,0x98,0x8e,0xf6, + 0x46,0xc7,0xdb,0x27,0xad,0x88,0xf3,0x5f,0x8d,0x2f,0xc7,0xe4,0x50,0x9e,0xf4,0x79, + 0xb4,0x2f,0x32,0xec,0xdf,0xaa,0x63,0x11,0x12,0xd5,0x97,0xdf,0x20,0x3b,0x79,0x38, + 0xa4,0xec,0x71,0x56,0x4b,0x43,0x4a,0x0f,0xdb,0x81,0xf5,0xdf,0xd6,0x56,0xf0,0xee, + 0x68,0xff,0xd3,0xc1,0xaf,0xfb,0x6f,0x21,0x4b,0x3f,0x1d,0xed,0xff,0x92,0x22,0x5e, + 0x78,0x87,0x00,0x37,0xf8,0xde,0x04,0xa3,0xa3,0xa4,0x2a,0x7c,0xfc,0x01,0x08,0x05, + 0x53,0x27,0xe0,0xbc,0x6c,0xf7,0x27,0x87,0x06,0x09,0x10,0xf0,0x29,0xc4,0x86,0x74, + 0x75,0xd4,0x1c,0x2e,0x0e,0x87,0xbd,0xbd,0x0c,0x4c,0x8c,0xc2,0x5a,0xfe,0x5e,0x0b, + 0xe3,0xb0,0x95,0x39,0x7c,0x83,0x0e,0x23,0x22,0x4f,0xad,0x09,0x54,0xef,0x19,0x78, + 0x47,0x3f,0x29,0xfd,0x59,0x2e,0x17,0x77,0xa6,0x9f,0xd1,0x1b,0xa4,0x02,0x14,0x1b, + 0xb1,0x3e,0xb2,0xda,0xbf,0xce,0x1e,0xc0,0x40,0x1a,0xc8,0x1a,0xbc,0x3b,0x0c,0xf8, + 0x43,0x46,0x1a,0x0e,0xcc,0x51,0xbf,0x1e,0xc1,0xbc,0x62,0xff,0xfd,0xab,0xe0,0x97, + 0x97,0x70,0x03,0xda,0xc1,0x4d,0x27,0xf6,0x84,0x95,0x11,0x0b,0x33,0xc2,0xcb,0xb8, + 0xe4,0x7a,0xfe,0xe6,0xa6,0xac,0x90,0xf7,0xbb,0x68,0xc6,0x03,0xd3,0xd3,0x61,0x71, + 0x2d,0x8d,0x09,0xdf,0x38,0x29,0x1d,0xf8,0x96,0xbe,0xa2,0x0b,0x30,0x12,0x72,0xcf, + 0xdd,0x19,0xa6,0x80,0x92,0xc7,0xf6,0x46,0xb5,0xf0,0x20,0x88,0x0e,0xe1,0x88,0x20, + 0x2d,0xec,0xf2,0xb9,0x2f,0xe5,0xab,0xa6,0x3e,0x8e,0x6d,0x2c,0x9e,0x34,0xc8,0xbd, + 0x53,0x81,0x85,0x68,0x02,0xf5,0x33,0xb1,0x44,0xc4,0x18,0x7b,0xd2,0xdc,0x8e,0x17, + 0xd4,0x81,0x5f,0x53,0x64,0x28,0x10,0x35,0xbf,0xa0,0xfb,0x69,0x44,0xf0,0xcb,0xd9, + 0x0c,0x12,0x38,0xa4,0x19,0x32,0x8c,0xb5,0x84,0x59,0xe3,0xcf,0x8c,0xe8,0x01,0x27, + 0xa9,0x28,0x45,0x9d,0x63,0x9e,0x5c,0xc6,0x1e,0x8a,0xab,0x31,0x59,0xae,0xb3,0xbd, + 0x0d,0x89,0xaf,0xcf,0x7c,0xf2,0xad,0xa7,0xe6,0xd4,0x27,0x05,0x39,0xb5,0xda,0x5d, + 0x99,0xe8,0x3f,0x0d,0xea,0x47,0x84,0x7b,0x73,0x33,0xa7,0xfd,0x51,0x9a,0x22,0xc0, + 0xaa,0xf0,0xb8,0x9f,0x16,0xa5,0xfd,0xd9,0xe8,0xd3,0xef,0x72,0x19,0x85,0xdc,0x8c, + 0x61,0x2d,0xcf,0x02,0xd9,0xd3,0xcf,0x6b,0x9e,0xa7,0x21,0x05,0x87,0x55,0x58,0x6a, + 0xfc,0x69,0x7e,0xf1,0x0e,0x8d,0x17,0xde,0xf0,0x57,0x78,0xd1,0xb7,0xf8,0xfb,0x27, + 0x9e,0x89,0xdf,0xee,0xf8,0x9d,0x4e,0xb2,0xb9,0x61,0x3a,0x85,0xf5,0x53,0xa1,0xad, + 0xdd,0x73,0x31,0xea,0x63,0xc3,0xd3,0x6b,0x85,0xb0,0x70,0x39,0x0a,0x13,0x13,0x6f, + 0x2d,0x6b,0x2d,0x42,0x11,0x55,0xf5,0xa3,0xcf,0x53,0x92,0x1d,0xe4,0xa2,0x49,0x9c, + 0x34,0x6f,0x11,0x97,0xc3,0x3b,0x46,0xd8,0xfa,0xcf,0xc3,0x77,0x6f,0x1b,0x19,0x4f, + 0x01,0x88,0xde,0x1f,0x71,0x21,0x8e,0xc0,0x1e,0x5d,0x7e,0xe8,0xff,0x03,0xd2,0x57, + 0xd8,0xd1,0x61,0x76,0xfc,0x0e,0xb5,0xdd,0xf7,0x3c,0x4d,0x46,0xdf,0x9b,0x61,0x2f, + 0xfd,0xf4,0x74,0xf6,0x79,0x3a,0x9f,0x6c,0x6e,0x9a,0x5f,0x12,0xd7,0x1f,0xd8,0x57, + 0xde,0x5f,0xf9,0x2e,0x51,0x5c,0x9d,0x1c,0x75,0x80,0x83,0x07,0xfc,0x19,0x98,0xcc, + 0x13,0x41,0xda,0x6c,0x0f,0x9e,0x7f,0xdf,0x1e,0xd4,0x6a,0x71,0xe7,0x78,0x70,0x92, + 0xbe,0x41,0x5d,0x1b,0x7c,0x64,0x11,0xf1,0xe3,0x8c,0xb3,0x47,0xf1,0xb7,0xb8,0xc6, + 0x81,0xcc,0x2b,0x26,0xee,0x51,0x67,0x6a,0xa6,0xed,0x4e,0x31,0x93,0x75,0x51,0x11, + 0x06,0xc7,0xe3,0xf3,0xed,0x67,0x7b,0x61,0x13,0xdc,0x81,0x54,0x85,0x4b,0x8c,0x89, + 0x4c,0x85,0xdb,0x40,0x49,0x7d,0x85,0xa2,0x7a,0x44,0xf8,0x56,0x12,0x0c,0xe8,0x65, + 0x3f,0xf7,0x3b,0xc0,0x00,0xca,0x81,0x0c,0x4b,0x87,0xc7,0xc7,0xf9,0x41,0xe3,0x09, + 0xb6,0x1f,0xa8,0xc4,0xcb,0x8e,0xdd,0x7f,0xfb,0x43,0x80,0xf5,0x87,0xd6,0x0c,0x6d, + 0x66,0xc1,0xc8,0x2c,0xab,0x93,0x47,0x11,0x92,0x90,0x39,0xdb,0x7c,0xcb,0x87,0xb9, + 0x11,0x60,0x09,0x61,0xd6,0xe7,0xe4,0x38,0x66,0x72,0x48,0x06,0xcb,0xe5,0xad,0x03, + 0x2c,0x99,0x78,0x4d,0xe1,0x5d,0x0e,0x33,0x8d,0xa1,0x40,0xb1,0x3e,0x3d,0xa0,0xf0, + 0x08,0x77,0x83,0x96,0xe0,0x27,0x97,0x87,0x5a,0x85,0x0d,0xd7,0x1d,0xdc,0x8a,0x9a, + 0xad,0xab,0x18,0x52,0xbc,0xd5,0x6c,0x4c,0x55,0x61,0xa6,0x79,0xd6,0x09,0xc2,0xbd, + 0xca,0x32,0xb0,0x43,0x79,0x6d,0xcc,0x14,0x80,0x54,0x97,0xcc,0x7b,0x58,0x35,0x3f, + 0xdb,0x55,0x8c,0xfe,0xa9,0xfe,0xda,0x06,0xb1,0xa7,0x74,0x1b,0xeb,0xc6,0x5e,0x10, + 0xfe,0x0f,0x5b,0x03,0x84,0x1b,0xad,0x87,0xe2,0x6c,0x84,0xa6,0xb9,0xa9,0x81,0x5d, + 0xaf,0xfa,0xf1,0x5a,0x4e,0x3b,0x7b,0x01,0xd3,0x11,0x28,0xd9,0xec,0x35,0xf2,0x19, + 0x63,0x38,0x80,0xb6,0x3a,0x05,0xaf,0xfe,0x42,0x6e,0x61,0xc5,0xb9,0xca,0xb1,0xed, + 0x74,0x15,0x1c,0x6b,0x23,0xab,0x81,0x8c,0xcd,0x4f,0xbe,0xa4,0x14,0xaa,0xcc,0x71, + 0x5a,0xec,0x2e,0x5c,0x85,0x14,0x1e,0x2d,0xc8,0x8f,0x44,0xd9,0xf3,0x38,0x4b,0xb1, + 0x11,0x12,0xd6,0x51,0x40,0xdf,0x73,0x12,0x04,0x36,0x96,0x5f,0x8f,0x08,0x86,0xad, + 0xa6,0x42,0xd9,0xb7,0xbb,0x1e,0x80,0x83,0xe8,0xad,0x85,0x28,0x9f,0x65,0xae,0x05, + 0x76,0xa2,0xdd,0xc5,0x4e,0xff,0x0a,0xbf,0x24,0xf6,0x5d,0x26,0xb1,0x36,0xaf,0x8c, + 0x23,0x67,0x63,0x18,0x86,0x6c,0x85,0xfb,0x66,0x24,0x72,0xde,0xd7,0xfb,0x6f,0x1b, + 0xa1,0x16,0xae,0xc1,0x7e,0xca,0x85,0x73,0xe8,0x1f,0x14,0x28,0xc1,0x6d,0xa8,0xf8, + 0xcc,0x8e,0x04,0x64,0xe1,0xd0,0x18,0x0b,0x1e,0x12,0xe3,0x02,0x5b,0x21,0x1d,0x87, + 0xd9,0x80,0x1d,0xa0,0x7e,0xb3,0x5f,0x8f,0xde,0x60,0x57,0x2c,0xf1,0x12,0x56,0x3b, + 0xcf,0xf6,0x90,0x90,0xca,0x05,0x38,0x72,0x35,0x8f,0x35,0xf7,0x8b,0x3f,0xf2,0x3b, + 0x47,0x0a,0xd3,0xd6,0x9d,0x84,0x2f,0xcd,0x83,0xe1,0x16,0xfe,0x6e,0xc9,0x05,0x88, + 0xf2,0x0c,0x9f,0x01,0x28,0x9b,0xb3,0x47,0xa9,0x34,0xe3,0x9f,0x36,0x5e,0xcd,0xd6, + 0x1c,0x09,0xf4,0xd0,0x2e,0xba,0x6a,0xfa,0xe8,0x11,0x80,0xf0,0xd0,0xd6,0x81,0xc3, + 0x49,0x20,0xaa,0x4d,0x68,0xb2,0x39,0xb9,0x03,0x38,0x22,0x93,0x17,0x8c,0x31,0xfe, + 0x34,0x97,0x97,0x4f,0xe6,0x1b,0x32,0x6a,0x12,0x0c,0x39,0x52,0x0b,0x00,0x12,0xec, + 0x93,0x9c,0x68,0x2d,0x97,0x4f,0x9f,0x6c,0x4b,0x37,0x76,0x0f,0x42,0xd7,0x8d,0x71, + 0x8f,0x00,0xf4,0x3a,0x5b,0x6c,0x31,0x3d,0xf4,0xf6,0x69,0x4a,0xaf,0xfc,0xd1,0x13, + 0xbf,0x04,0xa4,0xa9,0x9f,0xb2,0x3c,0x99,0xe8,0x76,0x14,0x0c,0x0c,0xc7,0x29,0x9f, + 0x72,0x68,0x46,0xe8,0x48,0x19,0x06,0xe2,0x94,0x4f,0x13,0x49,0x62,0x20,0xce,0x77, + 0x48,0x6a,0x43,0x0b,0x4d,0x46,0xef,0x6d,0x99,0x6d,0xd2,0x8c,0x7e,0x3a,0xdd,0x01, + 0x74,0xf8,0x83,0x3e,0x56,0xd5,0x4d,0xce,0x68,0x14,0x0e,0x69,0xd1,0x22,0x7b,0x3c, + 0xdd,0xa3,0xb6,0x51,0xd6,0x60,0x3f,0x3b,0xfd,0x4f,0x04,0x82,0x0c,0x28,0x98,0x9c, + 0x3c,0x8e,0x34,0xa1,0x99,0x78,0x49,0xe5,0x3c,0xcd,0xb8,0xd5,0x64,0xc1,0x98,0x35, + 0xb8,0x35,0x46,0xbd,0xec,0x45,0x33,0x86,0x97,0xe9,0x4f,0x6f,0xf6,0xff,0x96,0x16, + 0x89,0x4c,0x0b,0x6d,0x95,0x64,0xa7,0xd4,0xce,0x77,0x0a,0x48,0xe1,0xdf,0x4f,0x90, + 0x57,0xfd,0xfc,0x0b,0x9f,0x0e,0x65,0xf4,0xa3,0x49,0x7c,0xf5,0x01,0x69,0xfc,0xcb, + 0x89,0xb4,0xf4,0xfe,0x91,0xde,0x0e,0x80,0x3f,0x92,0x2f,0x5c,0x98,0xc8,0x0e,0x09, + 0x2a,0xec,0x8c,0x39,0x60,0x40,0x22,0x61,0x15,0xff,0xce,0xf9,0xc0,0xe1,0x10,0xc3, + 0x2e,0xac,0x50,0x80,0x9d,0xcd,0xb7,0x58,0x98,0x16,0xfb,0x3e,0x49,0x90,0x12,0x8d, + 0x14,0xee,0xa6,0x8c,0x44,0x62,0x0c,0x23,0xce,0xbb,0xa7,0x3d,0x50,0xb9,0x26,0xdc, + 0x9a,0xf4,0x78,0xdb,0x6c,0x6c,0x12,0xe2,0x45,0xb7,0x24,0x5e,0x5e,0x1e,0xfd,0xfe, + 0x3e,0x54,0x34,0x2a,0x1b,0x05,0xfc,0x8e,0x16,0x77,0xe5,0x3c,0x90,0x5c,0xe1,0x9d, + 0x54,0x46,0xec,0x51,0x57,0x0b,0xd7,0xd2,0xaa,0x4b,0x57,0x7c,0x56,0x47,0x29,0x44, + 0x81,0x28,0xb0,0x42,0x6f,0x23,0xa1,0x4a,0x8c,0x42,0xc5,0x75,0x77,0x17,0xb7,0xec, + 0xd7,0x8a,0x4d,0xc2,0xd4,0x88,0x10,0x01,0x4a,0xa7,0xf2,0x84,0xee,0x74,0x7c,0x62, + 0xd8,0x33,0xf7,0xf8,0x63,0x9b,0x61,0xdc,0xe9,0x66,0xf6,0x91,0x8a,0x1e,0x7b,0x63, + 0x24,0x00,0x0b,0x75,0x19,0x8f,0x84,0x3b,0x8f,0xf6,0xbe,0xd9,0xaa,0xf4,0x1b,0x72, + 0xb3,0x12,0x9b,0x14,0xd9,0x3f,0x2d,0x56,0x75,0x88,0xd0,0xb2,0x33,0x3e,0xeb,0x0c, + 0x28,0x28,0x4b,0x9d,0x63,0x77,0x7e,0x26,0x8f,0x41,0x6d,0x6b,0x2f,0xc8,0x9e,0xad, + 0x77,0x9a,0xac,0x26,0x2a,0x6d,0x40,0x88,0xce,0xe8,0x3a,0x5e,0x1c,0x87,0x7f,0xc9, + 0x03,0x36,0x27,0xf4,0x68,0x14,0x77,0xfc,0xcc,0xae,0xe8,0x4f,0xfc,0x65,0xd6,0xa0, + 0x07,0xda,0xe8,0x6f,0x75,0xab,0xa2,0xa0,0x6f,0x80,0x79,0x4d,0xd7,0x53,0x4d,0x10, + 0x6d,0x4b,0x2a,0xe0,0xb0,0x80,0x30,0x2b,0x91,0xb6,0xd1,0x01,0xc0,0xfd,0x79,0x67, + 0x36,0xa2,0xcb,0xc8,0x9f,0x79,0x66,0xc3,0xf7,0x80,0xe7,0x13,0x3a,0xa3,0xe0,0xc9, + 0x8e,0xc3,0x36,0x0f,0x32,0x7e,0xe4,0x80,0xc0,0x34,0x2f,0x6e,0x5c,0x4d,0x69,0x38, + 0xd3,0x69,0xf1,0x8f,0x64,0xd5,0xe1,0xd4,0x5e,0x5b,0x89,0x5b,0x2c,0x2a,0xb8,0x10, + 0x9b,0xce,0x6b,0x45,0x7b,0x8e,0xa9,0x76,0x2f,0xe9,0xbc,0x93,0xa8,0xec,0x8f,0x31, + 0xfa,0xf2,0xb8,0xca,0x49,0xd1,0x8e,0xd7,0xb4,0xf6,0xbc,0xf6,0x4e,0x46,0x65,0x60, + 0xce,0xc7,0x69,0x81,0x15,0x6f,0xa8,0x1b,0xa9,0x88,0xf2,0x20,0xf7,0x29,0xe9,0x8f, + 0xda,0x05,0x04,0xf6,0xa3,0xe5,0x46,0x87,0x84,0xe0,0xad,0xba,0x0c,0x06,0x43,0xec, + 0xd7,0xec,0x13,0x37,0xaa,0x36,0x8a,0x8b,0x7c,0x52,0x68,0x29,0x31,0xb4,0xe6,0x06, + 0x31,0x6c,0xca,0x78,0x87,0xd6,0xdd,0xf0,0x35,0x04,0xee,0x46,0xdf,0xdb,0x8d,0xeb, + 0xf8,0xcc,0x5a,0xf9,0x26,0x3a,0xf9,0xb3,0xf5,0xe7,0x5d,0x15,0xb6,0x5b,0xb0,0xd1, + 0xe1,0x0c,0xab,0xd4,0x78,0x3c,0xde,0x36,0x48,0xfd,0x80,0xee,0x1c,0x2f,0x74,0xc0, + 0x29,0xe3,0x7c,0x5a,0x89,0x65,0xf6,0xd8,0xe3,0xd1,0xba,0x8e,0xc5,0xb7,0x0d,0x55, + 0x04,0x84,0x0c,0x23,0xa3,0x8b,0xd7,0xed,0xbe,0xcc,0xa9,0xa0,0xb2,0x1a,0xbb,0x3f, + 0x6a,0xb9,0x94,0x30,0x57,0x0b,0x68,0xaf,0x2c,0xac,0x24,0x17,0xac,0x1f,0x90,0x96, + 0xe6,0x34,0x34,0xb5,0x27,0xc1,0x94,0x0f,0x4a,0x80,0xd5,0xaf,0xab,0x48,0x76,0x34, + 0x00,0x38,0x29,0xc0,0x3e,0x3d,0xba,0x8c,0x17,0x34,0xc6,0xb0,0xa7,0xc6,0x9e,0xe7, + 0x7f,0x43,0x78,0xfc,0x6f,0xde,0xec,0xcc,0x65,0xbd,0x2a,0x2e,0xba,0x99,0xa3,0x81, + 0xe9,0x27,0x89,0x51,0xc6,0xa0,0x6c,0xa0,0x30,0xdb,0x8f,0xd4,0xbc,0x24,0xa3,0x64, + 0x96,0x9e,0x9a,0x95,0x43,0xf2,0x0f,0x3c,0xd1,0x9a,0x0b,0x9a,0x35,0x9e,0xa6,0xf9, + 0x2c,0xe1,0x06,0x89,0xb4,0x94,0xe1,0x06,0x8d,0x46,0xe9,0x65,0x63,0xc4,0x44,0x6e, + 0xfd,0x9d,0x40,0xa3,0xe3,0xed,0xfa,0x0f,0x27,0xf1,0xc7,0x46,0xf4,0xf1,0xa6,0x16, + 0x7f,0xb3,0x15,0xc7,0x46,0xd3,0x9e,0xa5,0xd1,0x3f,0x1a,0x84,0x84,0x85,0x73,0x7c, + 0x5c,0x23,0x75,0x65,0x7d,0xfb,0x84,0x95,0x76,0x04,0x70,0x9d,0x66,0xc7,0xa3,0xe3, + 0x9d,0x93,0x13,0x39,0x0b,0x44,0x42,0x4a,0x27,0x0b,0x7b,0x61,0xd8,0x92,0xdd,0xff, + 0x35,0xea,0x6e,0xae,0xbe,0x52,0x95,0x37,0xe8,0xca,0xb7,0x09,0x01,0xd1,0xd2,0xde, + 0x4b,0xaf,0x6d,0xfe,0x60,0x85,0x69,0x70,0x41,0xf4,0xc3,0x27,0xfa,0x60,0x56,0x00, + 0x9a,0x43,0x63,0x18,0x54,0x66,0x40,0x7a,0x25,0xbc,0x38,0xeb,0xaf,0xcc,0x23,0xdf, + 0xf6,0xe8,0x8a,0x61,0x8b,0xad,0xae,0x24,0x3b,0x2c,0x8e,0x35,0x83,0x54,0x70,0xd6, + 0x40,0x62,0xdc,0x36,0x9f,0x01,0xef,0x7d,0x46,0x62,0x2c,0xd9,0xe7,0xb7,0xfe,0xe7, + 0xf9,0xad,0x64,0xee,0x9c,0xf9,0x1f,0x3b,0x67,0x92,0x55,0xbd,0x46,0x7a,0x20,0xf2, + 0x41,0x90,0xcc,0x57,0x81,0xc9,0x07,0x41,0x47,0x5e,0x11,0xad,0x9a,0xe3,0xcd,0xae, + 0x2b,0x43,0x38,0xee,0x08,0x15,0x54,0x12,0x7c,0xce,0xa8,0x13,0x40,0x3f,0x0b,0x12, + 0x3f,0xad,0xcf,0xc6,0x6e,0xc7,0x34,0x03,0x5e,0x0e,0x78,0x90,0x5c,0xf5,0xa3,0x99, + 0x10,0x6c,0x7b,0xe7,0xb3,0x50,0x5b,0xa9,0x3e,0x6e,0xdb,0xd3,0xb1,0xe6,0x89,0xcc, + 0x90,0x69,0xc8,0x47,0xea,0xca,0x31,0x43,0xa0,0x93,0x88,0xe5,0x8d,0x9b,0x5d,0x94, + 0xb7,0x5e,0xbb,0x57,0x22,0x12,0xd8,0xe5,0x72,0xfb,0xa9,0x10,0xee,0x7b,0xe2,0x5d, + 0x4b,0x09,0xa0,0x3e,0xad,0xa5,0x06,0x00,0x0f,0xa7,0x48,0x10,0xfa,0x54,0x89,0x17, + 0x2b,0xbb,0x5d,0x39,0xc1,0x67,0xa2,0x7a,0xa6,0xf1,0xbb,0x14,0x7f,0xa2,0x7d,0x98, + 0x20,0xf5,0xdc,0xf0,0xac,0xc9,0xf2,0xc9,0x40,0x68,0x4e,0xdf,0xff,0xcd,0x9a,0xbc, + 0x39,0x8c,0xe4,0xb6,0x3d,0xc9,0x58,0x35,0xa2,0xd4,0x4f,0x26,0x55,0xe0,0xca,0xce, + 0xa7,0xbc,0x22,0x0c,0xc0,0xa7,0x1c,0xc0,0xa5,0x6e,0x7d,0x6e,0x25,0x70,0x05,0x0e, + 0x3d,0x5f,0x92,0x6c,0x2a,0x91,0xf4,0xfa,0x96,0x22,0xbc,0xe1,0x57,0x33,0x0a,0x55, + 0x99,0xa7,0x1f,0xf1,0x26,0xdf,0xdc,0x4b,0x15,0x16,0x84,0xa6,0x49,0x11,0xce,0x25, + 0x16,0x8f,0xf0,0x9b,0x86,0xf9,0xfe,0x49,0xbe,0xa3,0x9b,0x08,0xd1,0x8e,0x67,0x17, + 0xcd,0xf6,0x8f,0x3c,0xc5,0xef,0x2c,0xb6,0x33,0x14,0x05,0x97,0x04,0xa6,0xd9,0x72, + 0x21,0xa2,0xdf,0xf9,0xd5,0x46,0x20,0xba,0x07,0x05,0x90,0x04,0x4f,0x42,0xd9,0x1e, + 0x0f,0x2c,0x68,0x49,0xf1,0xa9,0x53,0x37,0x03,0x0a,0x4b,0x6f,0xd5,0x68,0x45,0x52, + 0x33,0x14,0x5e,0xac,0x2f,0x33,0xeb,0x0b,0x5e,0xaa,0x8b,0x59,0xd9,0x4b,0x50,0x5b, + 0xb7,0x63,0x94,0x6f,0xe3,0x2b,0x6e,0x4d,0x73,0x2b,0xee,0x67,0x59,0x53,0x96,0xc2, + 0x78,0xdd,0x51,0x2f,0x1a,0x6b,0x79,0xf4,0xa6,0x1f,0xd5,0x63,0x8a,0x7e,0x36,0xef, + 0x52,0xbe,0xba,0x1a,0xb1,0xbe,0xf3,0xbb,0x20,0xd0,0x6b,0xbf,0xc5,0xe7,0x3c,0x89, + 0x31,0x94,0xef,0xdb,0x7a,0x94,0x2b,0xf8,0x27,0x03,0x20,0x64,0xf3,0xe5,0x54,0x0b, + 0x29,0xbd,0x7a,0xdc,0x71,0x2f,0xb0,0x96,0xa0,0x3f,0xe9,0x07,0x39,0x2b,0x92,0xa1, + 0x68,0x9f,0xe7,0x0f,0x69,0x7d,0xd6,0x1f,0xca,0x0e,0x71,0xa8,0x87,0xdc,0x7a,0x1b, + 0x37,0x16,0x94,0xf8,0xc6,0x69,0xa5,0xa1,0xa0,0x5f,0xcd,0x82,0xd8,0x41,0x8e,0xba, + 0xbc,0x24,0xe4,0xc9,0xf5,0x1a,0xf4,0x05,0xde,0x34,0xba,0xc6,0x27,0x42,0x2e,0x67, + 0x3a,0x8a,0x35,0xbd,0x76,0xf0,0x4a,0x9c,0xa4,0x03,0x35,0xf4,0x78,0xd9,0xc3,0x3a, + 0x32,0x3a,0x35,0xe6,0x1e,0x72,0x2e,0x27,0x6f,0x8e,0x06,0x19,0xcd,0x9a,0xa5,0xef, + 0xba,0xe4,0xa2,0xc5,0x3a,0xea,0x81,0x16,0x00,0x3e,0x13,0xde,0xcf,0x28,0xf8,0x1d, + 0xb1,0x0a,0xb9,0x09,0xd0,0x1c,0xff,0x08,0x1a,0x43,0x47,0x96,0x58,0x12,0x2c,0xde, + 0xd8,0xdc,0x74,0xbf,0x1e,0x5b,0x5f,0x4f,0xb0,0xc9,0xce,0x8c,0x7c,0x70,0x92,0x91, + 0xe9,0xd1,0x5a,0xec,0x2c,0x01,0x19,0xb9,0x66,0xd7,0xd4,0x13,0xf0,0x27,0xb7,0x1f, + 0x42,0x35,0xfd,0xd2,0x15,0x0e,0xcd,0xac,0x9f,0x2b,0x2d,0x5f,0x64,0x5b,0x23,0x1a, + 0xf7,0xfb,0x40,0x53,0x06,0xf6,0x2b,0xec,0x92,0x16,0x86,0x72,0x54,0x20,0x50,0xbd, + 0x43,0x54,0x39,0x7d,0x18,0x2f,0xf7,0xd6,0xb0,0xb2,0x55,0xc5,0x48,0x6e,0x27,0xa7, + 0xa0,0x6a,0x86,0x7f,0x15,0x1f,0x15,0xea,0x7e,0x6e,0xca,0x1e,0xf2,0x8e,0x3b,0x6e, + 0x89,0xb4,0x15,0x7d,0x81,0x95,0x43,0xf7,0x35,0x0f,0xfe,0x97,0x1e,0x8b,0x2d,0x53, + 0x56,0xe2,0xa1,0x7f,0x40,0xc5,0x1b,0x0f,0xb3,0x5d,0x29,0x55,0xeb,0xf2,0xc4,0xd8, + 0x69,0xa5,0xd7,0x05,0x39,0x48,0x74,0x0e,0xd4,0x56,0x1f,0x79,0xa1,0x46,0xd6,0xd1, + 0xe2,0x25,0x18,0x88,0x82,0xac,0x01,0xde,0xae,0x3c,0xcb,0xe3,0x02,0x43,0x53,0xae, + 0xe8,0x87,0x80,0xc8,0xbc,0x02,0x8c,0x1f,0x40,0x03,0xc6,0x37,0xb3,0xad,0xd7,0xe7, + 0x78,0x72,0xd6,0x17,0xde,0xbd,0x56,0x32,0xe0,0xd4,0x44,0x43,0xaa,0x66,0x81,0x73, + 0xb4,0x7a,0x36,0x5a,0x59,0x2d,0xb7,0x56,0x80,0xe4,0x7a,0xa9,0xd8,0x29,0x97,0x05, + 0x82,0xee,0x62,0xa9,0x85,0x12,0xc2,0xab,0x7a,0x94,0xe8,0x13,0x29,0xdf,0xd6,0x34, + 0x12,0xae,0x01,0x10,0x9d,0x1a,0x20,0xe6,0x71,0xed,0xb2,0xf6,0x58,0xce,0xb0,0x88, + 0x40,0x65,0xb0,0x83,0x10,0x64,0x58,0xc7,0xba,0x22,0x0d,0x7b,0x6c,0xb7,0x97,0x32, + 0xc0,0xc1,0x04,0xee,0x7f,0xa3,0x38,0xe1,0x97,0x9f,0xb8,0xd1,0x1f,0x9d,0x52,0xda, + 0xcb,0x7f,0x44,0x0e,0x78,0x22,0xfd,0x40,0x08,0x95,0xbe,0x20,0xe4,0xac,0xe4,0xda, + 0x9a,0xa6,0xb6,0x8a,0x8c,0x85,0x4f,0x92,0x62,0x37,0xb9,0x29,0x2e,0x75,0x48,0xf1, + 0x7b,0x80,0x02,0xba,0x42,0x8a,0x37,0x50,0x3e,0xbf,0xf5,0xd3,0x43,0xd9,0x0d,0xd0, + 0x87,0x30,0x1c,0x60,0x05,0xbf,0x61,0x6e,0x0a,0xa2,0x2f,0x3e,0x20,0x91,0xaf,0x3c, + 0x50,0xb2,0x3d,0x33,0xb9,0xdb,0x39,0xb5,0x10,0xa1,0xe4,0x4f,0xb2,0x90,0x94,0x09, + 0x49,0xa6,0x4f,0xa2,0x8a,0xbd,0x83,0xa7,0x72,0x7e,0x2f,0xc0,0x9c,0x16,0xd3,0xc1, + 0x44,0xee,0x45,0xba,0x04,0x90,0x27,0x13,0x0c,0xb3,0x99,0x73,0xbc,0x48,0xb7,0x37, + 0x37,0xf9,0xe9,0x79,0xba,0xdd,0xcc,0x8b,0xe2,0x04,0xe8,0xf1,0xf9,0xb7,0x16,0x45, + 0x8a,0x32,0x4d,0xb7,0x9f,0x2d,0x97,0xd6,0xeb,0xee,0x4e,0xbc,0x17,0x06,0x79,0x02, + 0xb2,0xe4,0x8f,0x2d,0xb6,0x65,0xf0,0xb7,0xe3,0xa0,0x64,0x86,0x3d,0x0a,0x74,0x26, + 0xcf,0x9e,0x3e,0xdb,0x79,0x8a,0x13,0x03,0x64,0x72,0xbf,0xb3,0x8b,0x65,0x03,0xd2, + 0xc4,0x7f,0xae,0x8a,0x98,0x9c,0xab,0x31,0x37,0x73,0xbb,0x24,0xe1,0x52,0xb9,0x9d, + 0x24,0x99,0x5a,0x2a,0xe1,0x6a,0x94,0x01,0x38,0x91,0x1b,0x92,0x79,0x2e,0xf0,0xcb, + 0xe5,0x23,0xfe,0xa0,0xab,0x00,0x49,0xd7,0x25,0xc7,0xa3,0x52,0xeb,0x98,0x16,0x19, + 0xaf,0x6a,0x8d,0x36,0x3f,0x89,0x74,0x18,0x33,0xb7,0xc7,0xc4,0xe9,0x3d,0xa9,0xf2, + 0x38,0x6e,0x89,0x8b,0x72,0xb4,0x6d,0x89,0xc2,0x9c,0x95,0x44,0xa4,0x60,0x70,0x19, + 0x55,0x6a,0x16,0x2f,0x15,0xad,0xb3,0x57,0x4a,0x6c,0x35,0x63,0xaf,0x9c,0xd9,0x6d, + 0x55,0x09,0x7e,0x53,0x79,0x19,0xb9,0xa1,0xec,0xbc,0x6b,0x9b,0xd1,0x1d,0x0c,0x3c, + 0xfb,0xb9,0x4d,0x6b,0x7f,0x1e,0xe1,0x52,0xf0,0x83,0x1b,0x38,0x6f,0x9c,0xf5,0x0d, + 0x2d,0x54,0x9a,0x06,0x33,0x3c,0x4f,0x4d,0x86,0x54,0xdd,0xc4,0x17,0x83,0xe7,0xde, + 0xb6,0x30,0x67,0x63,0x96,0xdb,0xf3,0x75,0xa7,0xa9,0x06,0x22,0x96,0x3c,0xbe,0x9b, + 0xf8,0x35,0x79,0x25,0x2b,0x93,0x6d,0xfb,0xfe,0xe2,0x6e,0x2b,0x4c,0x20,0x4e,0xf1, + 0x17,0x03,0x0c,0x93,0x92,0x35,0x4d,0xcc,0x23,0x6e,0x7d,0x4b,0xc2,0x7e,0xa4,0x2c, + 0x03,0x84,0x5e,0x3e,0x0a,0x6a,0x86,0xeb,0xc6,0xfc,0x1d,0x53,0x2a,0x17,0xd2,0xb8, + 0x1c,0xcf,0x89,0x3e,0x0f,0x3b,0x03,0x21,0x5d,0xc7,0x6a,0x1a,0xb3,0xe6,0xa0,0x0e, + 0xb0,0xb9,0xc9,0xc9,0xf6,0x62,0xc8,0xc6,0xe1,0x4c,0x3e,0x48,0xf9,0x97,0xa6,0x9f, + 0x9e,0x3d,0xf3,0x70,0xaf,0xa3,0x3f,0x3c,0xfb,0x44,0x76,0x69,0x09,0x93,0x92,0x18, + 0xa2,0xad,0x86,0xac,0xb2,0x80,0xc8,0x85,0x09,0x99,0xf6,0xc0,0x43,0x5b,0xcb,0x8f, + 0x5d,0x21,0xfe,0xd8,0xed,0xc0,0x15,0xc3,0xcf,0x6c,0xb7,0xa3,0x2d,0x18,0x1e,0x5c, + 0x61,0xb2,0x1b,0xe5,0x59,0xb6,0x32,0xcb,0x6f,0x7d,0x16,0x60,0xc1,0x17,0xf0,0xf1, + 0x09,0x79,0x8e,0x1c,0xe1,0x18,0x0a,0x6a,0x82,0xfe,0xf0,0x33,0xf9,0xc2,0x40,0x0e, + 0xf2,0xa1,0x8d,0x0f,0x1c,0x33,0x56,0x5c,0x57,0x30,0xf2,0xf0,0x35,0x35,0xa6,0x04, + 0x41,0xc0,0xd1,0x14,0x21,0xef,0x0c,0x4f,0xaf,0x86,0xec,0x55,0x17,0xbc,0x73,0x23, + 0x84,0x4b,0xc0,0x44,0x0d,0xa1,0xc8,0x27,0x5b,0x6c,0x52,0xd1,0x6b,0xb8,0xbb,0x42, + 0x6b,0x11,0x21,0xa3,0x76,0x9a,0x42,0x0b,0x4e,0x86,0x5d,0xba,0x38,0x58,0x65,0xd3, + 0x35,0x3d,0xb6,0x56,0x54,0x80,0x4b,0x73,0x79,0x79,0x57,0x4c,0x20,0xd3,0x06,0xc5, + 0x39,0xac,0x85,0x09,0x3a,0x5b,0xa3,0x7b,0x23,0x0f,0xd9,0x99,0x3c,0x9c,0xce,0xbc, + 0x39,0xc2,0xec,0xf5,0x22,0x7e,0x94,0x8d,0x9d,0x88,0x13,0xba,0x0c,0x90,0xd6,0xc8, + 0x1e,0xd7,0xba,0x1d,0xc0,0xcd,0x6f,0x03,0x5b,0xcf,0x0d,0x7a,0x66,0xa8,0x94,0x33, + 0x2b,0x55,0xc5,0x29,0xb0,0xc1,0xe4,0x19,0x84,0x9c,0xca,0x3a,0x98,0x72,0xa1,0x17, + 0xbb,0x45,0xc6,0x82,0x45,0xf6,0x01,0x46,0x3d,0x99,0x9e,0xb6,0xa5,0xaf,0x13,0xff, + 0xf2,0x55,0x8d,0x3c,0xeb,0x65,0x0b,0xd9,0x3b,0x48,0x12,0x1b,0x93,0x28,0x96,0xfb, + 0xf6,0x1b,0xae,0xb9,0xd4,0x82,0x2d,0x0c,0x0e,0xe9,0x14,0x03,0x1d,0xba,0x70,0xf4, + 0x16,0xb7,0x9d,0x0f,0x1a,0xf2,0x9f,0x0e,0x22,0xb5,0x51,0x2f,0x57,0xb6,0x29,0x73, + 0xfa,0x32,0xb5,0x37,0x00,0xc9,0x75,0xaa,0x87,0x3b,0x44,0x27,0x57,0xd2,0x2c,0xe5, + 0xdd,0x5d,0x81,0x7f,0xf6,0x2a,0x63,0x55,0x64,0x20,0x6c,0x92,0x08,0x31,0x5f,0xe9, + 0xa4,0xf3,0xa8,0xc6,0x19,0xbe,0xd0,0x07,0xb4,0x0f,0xbe,0x6d,0x6e,0xe2,0x8f,0x7b, + 0x65,0x02,0x30,0x14,0x5e,0x34,0xe4,0x35,0x1b,0x18,0x7f,0x7a,0x91,0x63,0x96,0x55, + 0x9a,0x54,0x49,0xd6,0xfe,0xab,0x8d,0x0f,0xf5,0x0c,0x4f,0x33,0x69,0xe7,0x5e,0x9f, + 0x47,0xe7,0x46,0x39,0x87,0x2a,0x75,0xf9,0xf5,0xd5,0xce,0xed,0xf3,0xbc,0x48,0x88, + 0x6b,0x26,0x9c,0xd3,0x86,0x40,0xcb,0x12,0xdd,0xcb,0x1c,0x18,0x1b,0x9a,0xe3,0x52, + 0x30,0xba,0x93,0x64,0x2d,0xa4,0x1f,0x89,0x6e,0x9d,0xd0,0x95,0x39,0xe0,0x51,0xa4, + 0xd4,0x6c,0x6e,0xea,0x63,0x43,0x30,0x70,0xdd,0xf5,0xc8,0x52,0x73,0x51,0xa5,0xb3, + 0xcf,0xe3,0x53,0x89,0xf3,0x28,0xc6,0x03,0x6c,0x8e,0xa1,0x4b,0xc0,0x53,0xdd,0x85, + 0xe8,0xae,0xc4,0xdb,0xd2,0xb4,0x3b,0x67,0xbf,0x42,0x42,0x53,0xbe,0xc2,0xe0,0x77, + 0x1b,0x06,0xbf,0xa9,0x5a,0x00,0xb1,0xe5,0xef,0x42,0x56,0x1f,0xd4,0xe3,0x7f,0xa6, + 0x29,0x39,0x8b,0xbe,0x71,0x47,0x44,0x32,0x88,0xdb,0x95,0x40,0x32,0x3a,0x04,0xe6, + 0x8e,0xc9,0x7e,0x4f,0x6a,0x56,0xc0,0x0c,0x21,0x81,0x99,0xe8,0x6a,0x15,0x94,0x23, + 0x72,0xda,0x65,0xdb,0x00,0x15,0x34,0xb2,0xb3,0x77,0x97,0x4b,0x95,0xdc,0x59,0x6c, + 0x1c,0x87,0xc2,0xe0,0x30,0xb1,0x8f,0x45,0xaa,0x6c,0x26,0xa6,0xa8,0xce,0xe0,0x56, + 0x46,0x2b,0x9d,0xab,0x38,0xd3,0xf5,0xe3,0x9a,0xf9,0x5e,0x7b,0xdc,0xc0,0x37,0x77, + 0xe5,0x53,0x0d,0x26,0x27,0x29,0x0c,0xa9,0x2d,0x1a,0x89,0xb9,0x0a,0x2f,0x5a,0x96, + 0x4b,0x7d,0x1b,0xeb,0x4b,0xd1,0xfb,0x7c,0x93,0xf4,0x62,0x32,0x86,0x00,0x49,0x72, + 0xc5,0xc2,0x75,0x6a,0x2b,0x24,0xe2,0x85,0xaf,0x06,0x30,0x56,0x40,0x8e,0xc6,0x80, + 0xb7,0x84,0xc0,0xb0,0x6e,0x35,0x70,0x19,0x0c,0xc6,0x8a,0xc6,0xac,0x09,0x48,0x73, + 0x41,0xa7,0x8f,0xb1,0x76,0x24,0x4d,0xb5,0x8f,0xd0,0x50,0x1b,0x4e,0xf3,0x0e,0xb4, + 0xe2,0xca,0x76,0xf2,0xdb,0xda,0xae,0xb5,0x14,0xa5,0xb7,0x02,0xb8,0x27,0x72,0x04, + 0x3e,0x16,0x61,0x8f,0x1c,0x25,0x25,0xa0,0x53,0xf8,0xd0,0xc9,0xfa,0x3f,0x93,0x0b, + 0xa1,0xc8,0x6e,0x1b,0x90,0xad,0xad,0x46,0x2a,0x52,0x67,0x95,0x32,0xc8,0xe0,0xc8, + 0x0f,0x97,0xda,0x23,0x1c,0xa3,0x6e,0x6e,0x76,0xce,0x5e,0xa4,0xcd,0xbd,0xf0,0xff, + 0x87,0xe5,0x9c,0x58,0xbd,0xe3,0xae,0x62,0x2f,0xa2,0x10,0x37,0x5b,0x80,0xa8,0x6d, + 0xc7,0xf1,0x16,0x36,0x88,0xb5,0xf0,0x3f,0x82,0x1e,0x82,0x72,0x05,0x1c,0x94,0x2b, + 0x6c,0x19,0xed,0xb0,0xda,0xce,0xf8,0x36,0x29,0x74,0x5b,0xc8,0x33,0x49,0x91,0xad, + 0x35,0x2c,0x53,0xe6,0x7c,0x85,0xaf,0xed,0x6b,0x8b,0x2c,0x4b,0x6d,0x28,0x40,0x01, + 0x49,0x96,0xa3,0x34,0x9d,0xd9,0xd7,0xb9,0xe2,0x07,0x4d,0x77,0x3e,0x62,0xd5,0x22, + 0x9e,0x12,0xf0,0xab,0x31,0xcc,0x54,0xc1,0x88,0x9e,0x8d,0x9a,0x72,0x0d,0x7a,0x89, + 0xaa,0xbb,0xe3,0x32,0x2a,0x51,0x2a,0xf8,0x1b,0x7c,0xd1,0xe8,0xb9,0xd0,0xb6,0x86, + 0x49,0x86,0x8d,0xfd,0xb5,0xf6,0xb8,0x5a,0x90,0x4e,0x58,0xe3,0x34,0xc1,0xda,0x41, + 0x55,0x0d,0x13,0x8b,0x26,0x1a,0x2c,0x3a,0x42,0x9c,0xe2,0x0a,0x20,0x3c,0x79,0x34, + 0xa9,0xf6,0xaa,0xac,0xf7,0x52,0xba,0x14,0xe2,0x41,0x94,0x4d,0x64,0x92,0xd3,0x95, + 0x9b,0x5f,0xa2,0x4c,0x75,0xaa,0x6b,0x74,0x64,0xf4,0xfa,0xb9,0x54,0x8a,0x9b,0xac, + 0x1e,0xb6,0x96,0x82,0x52,0xa6,0x04,0x97,0x33,0x21,0x27,0x02,0x4e,0x2f,0x97,0xe5, + 0x06,0xc1,0x58,0x14,0xf0,0xd5,0x29,0x0d,0xff,0x6e,0x4c,0xcd,0x02,0x63,0x76,0xc7, + 0xae,0x31,0xc9,0xc5,0x04,0x62,0x95,0x8c,0x21,0xc0,0x79,0xf1,0x04,0xfd,0x70,0x43, + 0xa2,0xbc,0x35,0x8c,0x33,0xc3,0x5c,0x82,0xa6,0xf5,0xed,0xf6,0x87,0xfd,0x9f,0x5e, + 0xbd,0xfb,0xf4,0xfe,0xc3,0x4b,0x98,0x29,0x1e,0x56,0x88,0xdc,0x64,0xc0,0x8c,0xcb, + 0x95,0x6b,0xa6,0x1c,0xc3,0x87,0x69,0x0c,0x02,0xe3,0x51,0x3a,0xe0,0xb9,0x4f,0x58, + 0x3a,0x7a,0x91,0xaa,0xb2,0x60,0x14,0xb7,0xa2,0xbc,0x2e,0x8e,0xa0,0xda,0x0b,0x89, + 0xfe,0xb0,0x25,0x99,0x44,0xc9,0x64,0x29,0xd6,0x89,0x3b,0xde,0x35,0x57,0x5b,0x29, + 0xb9,0xb9,0x59,0x2c,0xa9,0xec,0xe7,0x42,0x51,0x86,0x3d,0x44,0xec,0xab,0x75,0x7d, + 0x65,0xb8,0xfd,0xf5,0x24,0xd5,0x6e,0xb8,0x7e,0x88,0x33,0x9a,0xf5,0xea,0xf2,0x47, + 0xab,0x84,0x00,0x91,0x2b,0x85,0x10,0xce,0xd0,0x54,0x7e,0x45,0x7f,0xf7,0x14,0xb4, + 0xee,0x77,0xdd,0x7c,0x80,0x39,0xd5,0xfd,0xd7,0x39,0x2b,0x92,0xce,0xe6,0xbc,0xd1, + 0x5a,0x5d,0x2b,0x53,0xb5,0xd8,0xb3,0x79,0xe2,0xd3,0xa9,0x92,0xc5,0x29,0x87,0x93, + 0xec,0x17,0x2d,0x45,0x55,0x8e,0x25,0x04,0xa5,0x62,0xee,0x5c,0xa3,0xae,0xd2,0xe4, + 0xb3,0x10,0x25,0x96,0xad,0x21,0xd5,0xce,0x25,0x9d,0x5c,0xe6,0x9a,0xe9,0xf4,0xaf, + 0x83,0x6c,0x40,0x1a,0x92,0x47,0x18,0x43,0x62,0x8f,0x69,0x2f,0x44,0x25,0x84,0x53, + 0x56,0xba,0xfb,0x20,0xde,0x7c,0xfc,0x25,0xab,0x5c,0x1d,0x4e,0xc6,0x88,0x38,0xb4, + 0x59,0xa0,0xb7,0xf2,0xd5,0xc7,0xa5,0xfd,0xf5,0xb8,0x16,0x8d,0x49,0xe7,0xb5,0x17, + 0x8a,0xc3,0x9d,0xb0,0x95,0x3f,0x65,0xa5,0x1b,0x54,0x96,0xaf,0x9f,0x85,0xb5,0x2d, + 0x2c,0x6f,0xd4,0x64,0x2b,0x4d,0x43,0x53,0x9f,0xcd,0xb5,0xea,0xd0,0x38,0x08,0xea, + 0xf7,0x68,0x1d,0x6e,0xc6,0xd4,0xe1,0xeb,0x77,0x47,0x64,0xc3,0xfd,0xfa,0xe5,0xdb, + 0x74,0x31,0x47,0x20,0x87,0x71,0xeb,0xc9,0x77,0x09,0xee,0xed,0xcf,0xc8,0xfc,0xaa, + 0xb5,0xbb,0xad,0xb7,0xea,0x71,0x5d,0x28,0x31,0x4e,0xe8,0xe8,0x89,0x43,0x01,0xb4, + 0x7e,0x78,0x8a,0xcb,0xfa,0xbd,0x01,0xf9,0x4a,0x42,0xe2,0x9d,0x61,0xeb,0xfb,0xdf, + 0x8e,0x3e,0x1d,0xfd,0xf7,0xfb,0x97,0x87,0xe9,0xf1,0x71,0x33,0x09,0x3f,0xbc,0xfc, + 0x2f,0xac,0xc4,0x8f,0xb7,0xe9,0xe9,0xf0,0xfd,0xbb,0xb7,0x87,0x2f,0xe9,0x75,0x27, + 0x09,0x8f,0xfe,0x86,0x92,0x0f,0x7f,0xa1,0xb7,0xdd,0x24,0xdc,0x3f,0xf8,0x8d,0x9e, + 0x9e,0xe0,0xe9,0xa7,0xbf,0xbe,0xfc,0x70,0x84,0x97,0x8d,0xe3,0xa7,0x49,0xf8,0xcb, + 0x87,0xf7,0x9f,0x00,0x49,0xdf,0x9e,0x99,0xb7,0x9f,0x10,0xce,0x84,0x5e,0xbf,0x03, + 0xe8,0xdb,0x77,0x6f,0x3f,0x49,0x01,0xdf,0x27,0xe1,0xfb,0xfd,0xa3,0x5f,0xe9,0xf1, + 0x07,0x20,0xff,0xb0,0x7f,0xf0,0x92,0x71,0x6c,0x83,0x86,0x37,0xbf,0xbf,0x3e,0x7a, + 0xf5,0x7e,0x9f,0xb0,0x82,0x12,0x90,0x72,0xf0,0xee,0xed,0xd1,0x87,0x77,0xaf,0xf9, + 0x15,0xa4,0xcc,0xfa,0x5c,0xb3,0x1e,0xbf,0xef,0x96,0xde,0x9f,0x38,0xef,0x40,0x08, + 0xaa,0x3e,0xec,0xff,0xf1,0xe9,0xe0,0xf7,0xc3,0xa3,0x77,0x6f,0xc2,0x93,0x93,0xa2, + 0xda,0x6f,0xf7,0xdf,0xbc,0xfc,0x29,0xef,0x79,0xf0,0xe3,0x81,0x7e,0x19,0x91,0x95, + 0x1c,0xda,0x51,0xb9,0x52,0x21,0x47,0xb9,0xa9,0xa6,0xc7,0xdb,0x74,0x6c,0x5a,0x94, + 0x15,0x2b,0xc6,0x63,0xfa,0x86,0x2e,0xc6,0xe1,0xc5,0x0e,0x30,0x2c,0xa2,0xf8,0x24, + 0x9d,0x1e,0x37,0x4f,0x9c,0x71,0x70,0xc6,0x0b,0x74,0xc4,0xa0,0xb8,0x8c,0xa8,0x83, + 0xc9,0x40,0x98,0xcb,0x6e,0x8d,0xd3,0x0a,0x9b,0x3d,0x86,0x68,0xe0,0xcb,0x48,0x16, + 0x81,0x73,0x96,0x37,0xcb,0x25,0xff,0xe2,0xbc,0x52,0x8f,0xbe,0x9b,0xb7,0x3f,0xe3, + 0x3f,0x85,0x31,0xde,0x39,0xf5,0xa3,0x68,0x20,0x51,0x68,0xda,0x4c,0x26,0x97,0x72, + 0x6e,0x87,0xbd,0x3c,0xfa,0x1d,0x3a,0x5c,0x52,0x35,0xff,0x61,0x81,0xa7,0xd4,0x21, + 0x0b,0xbd,0x0a,0x25,0xc9,0x98,0xa6,0x1d,0xbe,0x0d,0xfd,0xf7,0xe3,0x26,0x2c,0x15, + 0x6b,0xdf,0xc8,0xe5,0x65,0x00,0xc6,0xf1,0xd8,0xac,0x0d,0x5f,0x8d,0xf9,0x3d,0xc1, + 0x12,0x4e,0x25,0x1b,0x25,0xb8,0x1c,0xa2,0x49,0x45,0x39,0x88,0xac,0x05,0x37,0x3d, + 0x50,0x73,0x9c,0x3a,0x7e,0xde,0x5c,0x2e,0xc7,0x2f,0x60,0x39,0xb5,0x00,0x55,0x66, + 0xc9,0x65,0xaa,0x79,0xb7,0x41,0x15,0x5c,0xa6,0xd1,0xf6,0xf3,0xe7,0x63,0x59,0xd7, + 0x0b,0x03,0x26,0x97,0x7b,0xf4,0xad,0x95,0x73,0xe9,0xae,0xdc,0x1e,0x47,0x60,0x74, + 0x44,0x20,0x2c,0x05,0xf9,0x09,0x5c,0x34,0xe0,0xc2,0x45,0x66,0x77,0xdb,0xfe,0x2a, + 0x1f,0x0c,0xaf,0xe5,0xf4,0x1e,0x17,0xfc,0xc9,0x6c,0xde,0xbd,0xe9,0xb9,0xfd,0x8c, + 0x37,0x7c,0x92,0x75,0x93,0x08,0x1c,0xc4,0x31,0x60,0x1b,0xd3,0xab,0xec,0x22,0x1a, + 0x28,0xa1,0x94,0x5f,0xee,0x65,0x26,0x25,0xb1,0x92,0xe5,0x1b,0xc0,0x5f,0xe7,0xa3, + 0x61,0x34,0x48,0xce,0x12,0x32,0x0c,0x48,0xf8,0x26,0x7d,0x42,0x1a,0x41,0xbd,0xf8, + 0xf9,0xd8,0xf1,0x12,0x1b,0x64,0x67,0xf5,0xc7,0xb5,0xb3,0xda,0x63,0x75,0x0f,0xfb, + 0xb8,0xc6,0xbf,0xb5,0xc7,0x95,0xce,0xc7,0x1f,0xd7,0xe8,0x17,0xe0,0x8e,0x0f,0xfc, + 0xc7,0xb5,0x01,0x76,0x5b,0x8c,0xe7,0xc1,0x7e,0xac,0x7d,0x8f,0x7a,0x28,0x3a,0x22, + 0x52,0xf7,0x1c,0x12,0x29,0x85,0x3e,0xd1,0x2f,0x88,0x62,0xef,0x24,0x8f,0x5b,0x8f, + 0x1f,0xc7,0xfa,0xe2,0x5e,0x19,0xb6,0xf6,0xb9,0x86,0x17,0xd2,0x4b,0x61,0xaa,0xd1, + 0xcf,0x52,0x1d,0xc1,0x74,0x3d,0xd6,0x19,0xbd,0xca,0x1e,0xae,0xb5,0xba,0x98,0xbe, + 0x5c,0xef,0xe3,0x7d,0x0a,0xe7,0x2d,0x5c,0xfb,0x50,0x54,0xe1,0x78,0xa3,0x41,0x4d, + 0x0c,0x0d,0x8c,0x9b,0xba,0x3c,0x21,0xa0,0x87,0x6d,0x3c,0xa8,0xe3,0x25,0x61,0xb8, + 0x7b,0xdd,0x76,0x65,0x33,0x99,0xae,0xa8,0xed,0xc4,0x1b,0x7a,0x43,0x55,0xa6,0xa8, + 0x36,0x80,0xbd,0x2a,0x6c,0xac,0xdf,0x58,0x82,0x8d,0xb3,0x48,0x51,0x52,0xe1,0x73, + 0xe2,0x36,0x73,0x4b,0x39,0xec,0xc1,0x74,0x40,0xc6,0x3a,0x57,0x97,0xc3,0xf1,0xa5, + 0x32,0x08,0x0b,0x00,0xe1,0x51,0x0b,0x63,0x84,0x63,0x80,0xa8,0xaf,0x33,0xc6,0xfc, + 0x2f,0x20,0x2a,0xbc,0x0b,0xbb,0xa8,0x6c,0xa7,0x43,0xc8,0x70,0x35,0x72,0x1d,0x9a, + 0x31,0x90,0xdf,0xb9,0xfe,0xb8,0x18,0x9c,0x52,0x18,0xa0,0xcf,0x34,0x21,0x33,0x1d, + 0x46,0x9f,0x6d,0x22,0x27,0x15,0x1e,0xa6,0x24,0x4a,0x52,0x23,0xb0,0xe2,0xf5,0xc1, + 0x19,0x59,0x1e,0x41,0xc8,0xe8,0xba,0x3b,0x37,0x92,0x2f,0x6b,0x4b,0x94,0x23,0x4e, + 0x57,0xdb,0x2e,0xc6,0x3c,0xa6,0x39,0x5c,0x84,0x0b,0x39,0x8f,0xe6,0x35,0x25,0x04, + 0xbc,0xb8,0x8d,0x06,0xf7,0x73,0x24,0x79,0xa0,0x26,0xf5,0xf4,0xec,0x77,0x79,0x5f, + 0xbd,0xe3,0xee,0xed,0xbe,0x49,0x43,0x69,0xee,0xea,0x9d,0x53,0xbe,0x5d,0x18,0xa4, + 0x17,0xba,0x62,0x5b,0x61,0x71,0xbe,0x15,0x1f,0x6f,0xcb,0x54,0x49,0xf7,0x41,0x91, + 0xa1,0xd0,0x7a,0x92,0x08,0x12,0x75,0x00,0x7d,0x13,0xf1,0x67,0xcd,0x2d,0xd6,0xdc, + 0x76,0xa1,0xfb,0x02,0x02,0xf5,0xfd,0xc9,0x08,0xe9,0x3a,0xba,0xaa,0x09,0x3f,0xed, + 0xd2,0x32,0xbd,0xab,0x47,0xa1,0x85,0xfc,0xd4,0x29,0x06,0x5f,0xb9,0x24,0x9a,0x67, + 0xe2,0x18,0x53,0x73,0xb3,0x30,0x3b,0x40,0xf7,0x48,0xfd,0xe2,0x51,0x13,0xd3,0x73, + 0xcc,0x94,0x8a,0xa7,0x18,0xff,0x9c,0xe5,0x9e,0x23,0xff,0xf7,0x48,0xf2,0x9b,0x4e, + 0x13,0xb6,0x54,0xf8,0xef,0x85,0xd2,0x6e,0xda,0x89,0xc2,0x56,0x79,0x2e,0x11,0x32, + 0x28,0x10,0xb9,0xc3,0xc8,0x33,0x29,0x9a,0x3e,0xc4,0xf4,0x67,0xf5,0x3e,0xd3,0x6a, + 0x30,0x67,0xff,0xc5,0x95,0x5c,0x25,0x16,0x0f,0x78,0x61,0xda,0xc3,0x2c,0xc1,0xed, + 0xb4,0xb0,0x66,0xff,0xaf,0x6f,0x0f,0x22,0xbc,0x68,0x92,0x58,0xe6,0xdc,0x95,0x4d, + 0x52,0xb4,0x86,0x48,0xa7,0x10,0xe8,0xb5,0xbb,0x42,0x45,0x5f,0x66,0x9a,0x63,0xec, + 0x23,0xd6,0x0f,0x2b,0xbb,0xf5,0x45,0x7e,0x98,0x47,0x85,0x38,0x9a,0x3b,0xbc,0xfb, + 0xc3,0xc6,0x65,0x99,0x75,0xde,0x90,0xe9,0x11,0xc2,0xc5,0x24,0x83,0x43,0x23,0x4e, + 0xe0,0x9e,0x4e,0xef,0x4e,0x4f,0xbf,0xc0,0x9c,0xc3,0x7b,0xbe,0xf5,0xca,0x5d,0x86, + 0x65,0xb7,0x2a,0x8f,0x2b,0x1d,0xa7,0xd7,0x03,0xfa,0x0d,0xea,0xea,0xfd,0xfc,0x71, + 0xdb,0xba,0x86,0x57,0xb9,0xfc,0x24,0x6c,0xb5,0x32,0x3a,0x30,0x88,0x1c,0x1e,0x4d, + 0xf9,0x86,0x46,0x4c,0xb3,0x52,0x29,0xa1,0x28,0x80,0x78,0x54,0x8d,0xe3,0x94,0x0f, + 0xfe,0xc2,0x17,0xe6,0xb7,0xd1,0x68,0xd8,0x54,0x51,0x85,0x91,0xc5,0x96,0xaa,0x54, + 0x4f,0x91,0xda,0xf4,0x28,0x7d,0xc6,0x9f,0x6b,0xb2,0x79,0xc8,0x21,0x58,0x00,0x13, + 0x30,0x08,0x84,0xb9,0x27,0xa8,0xbd,0x88,0x10,0xcc,0x02,0x5d,0x9c,0x54,0x04,0xa7, + 0x62,0x54,0xc2,0x2a,0xaa,0x2f,0x57,0x0a,0xb8,0x0d,0x68,0x51,0x40,0x79,0xcd,0x14, + 0xf2,0xd6,0x29,0x4c,0xd4,0xf8,0x1b,0x8f,0xfb,0xa7,0xa7,0xe4,0x28,0x30,0xff,0x12, + 0xc6,0x15,0xd9,0xf2,0x8d,0x16,0xbe,0x93,0x94,0xc0,0xcf,0xef,0x9a,0x52,0x9d,0x43, + 0x0b,0x70,0x1e,0xdf,0xeb,0x63,0x75,0x2e,0xb3,0x71,0x2b,0x4a,0x39,0xe4,0x77,0xee, + 0x92,0x2b,0x0b,0x9a,0xcc,0xf0,0x4d,0xc2,0x24,0x50,0x11,0xe6,0xbd,0x19,0x80,0x66, + 0xbe,0x07,0xa8,0xe1,0x99,0x08,0x92,0x3c,0x53,0x76,0x4c,0xe8,0xb8,0xcc,0xe0,0xfe, + 0xfd,0xc3,0xeb,0x4a,0xbc,0xbc,0x73,0x2c,0x28,0x39,0xa2,0xd7,0x60,0xde,0x1f,0x4d, + 0xe9,0xe0,0x96,0xca,0x29,0xfc,0x19,0x67,0xad,0x60,0x41,0x26,0xe3,0x77,0xc1,0xc2, + 0x38,0x68,0xc4,0x03,0xa4,0x25,0xfd,0x30,0x57,0xef,0x2a,0x0b,0x90,0x1d,0xa9,0xc5, + 0xd3,0xff,0xfc,0xe3,0x28,0xb0,0x52,0xf3,0x4b,0xd8,0x41,0xdd,0x0a,0x77,0x41,0x2d, + 0xb1,0x45,0x1c,0x0d,0xf8,0x72,0x28,0x10,0x57,0x2c,0x07,0x37,0x9c,0x85,0x23,0x71, + 0xcf,0xba,0xbc,0x4f,0xbd,0xd9,0x91,0x02,0xfe,0x01,0x0b,0xe5,0x48,0x68,0x55,0xe9, + 0x8f,0x7f,0x9d,0x16,0x91,0xea,0x0a,0x51,0x11,0x59,0x3a,0x1e,0x44,0x86,0x56,0xcf, + 0x96,0xa6,0xeb,0xbe,0x1c,0xca,0xec,0xe4,0xe1,0xa9,0xee,0xea,0x8c,0x8f,0xf3,0x53, + 0xd7,0x4b,0x73,0x24,0xb6,0x91,0x09,0x1a,0x9b,0x37,0x8f,0xed,0xf5,0xa2,0x84,0x77, + 0xb2,0x0d,0xc6,0x92,0xa6,0x2c,0x27,0x28,0xe3,0x34,0x97,0xd4,0x7c,0xa1,0x3d,0x35, + 0x9f,0x55,0x38,0xec,0xe5,0x0f,0xad,0x08,0xc0,0x7b,0xf8,0xd7,0x60,0xb8,0x96,0xec, + 0x35,0x0b,0x5f,0x64,0x6f,0x3a,0xd3,0x5c,0x4b,0xc1,0x10,0x84,0x44,0xc6,0x97,0xaa, + 0x2c,0xf4,0x03,0xa5,0x50,0x83,0x62,0x53,0xab,0x69,0x52,0x50,0xb2,0x91,0x8f,0x9d, + 0xf5,0xe0,0x39,0x54,0x15,0x0a,0xd1,0x85,0xf8,0xa8,0x69,0x38,0xf8,0xc9,0xdc,0xed, + 0xfd,0xe4,0xbc,0x5b,0xfa,0x5f,0xcc,0xec,0xd5,0xa2,0x3a,0x3d,0xca,0xb7,0xdd,0x77, + 0xae,0x35,0xa8,0xb0,0xa4,0x62,0x02,0x3b,0x93,0x69,0xe2,0xa6,0x7a,0x95,0x82,0x2d, + 0x41,0x58,0x3b,0xe3,0x2e,0x74,0x13,0xdf,0xac,0x3e,0x79,0x95,0x02,0x8e,0xcf,0xc4, + 0x04,0x70,0xfd,0xf1,0x88,0xe8,0xaf,0xee,0x39,0x1f,0x49,0x46,0x9e,0xfa,0x74,0x73, + 0x33,0x1a,0xa5,0x48,0x58,0xbf,0x82,0x94,0x6e,0x67,0x2e,0x2d,0x6e,0x1c,0xdb,0xe7, + 0x99,0x89,0x75,0x6e,0xe9,0x9f,0x0d,0xf2,0x94,0x5b,0x75,0x26,0xca,0x1f,0x12,0xbe, + 0xeb,0x18,0xaf,0x52,0xf3,0x4f,0x89,0x95,0x3a,0x3a,0xf1,0xc1,0x5b,0xb5,0x52,0x6d, + 0x78,0x1c,0x56,0x2d,0x94,0x1c,0x4c,0x09,0x83,0xb5,0x45,0x81,0xb9,0x86,0x93,0x7c, + 0xf7,0xba,0x8a,0x91,0xdd,0x82,0x8f,0x39,0x21,0x7b,0x5e,0x0a,0x1d,0x3f,0xe8,0xb6, + 0x07,0x27,0x10,0x2d,0x1e,0xb7,0x2c,0x73,0xba,0xae,0xb0,0x20,0xb7,0xb4,0x69,0x57, + 0x29,0xa4,0x0c,0xaa,0xba,0x69,0xd1,0x09,0x70,0xca,0x20,0xd8,0x83,0x26,0x58,0xa9, + 0x9a,0x17,0x30,0x2b,0x57,0x11,0x59,0x62,0xab,0x7b,0xff,0x6a,0xfe,0xab,0xd7,0x87, + 0xd6,0x72,0x1d,0xa5,0x13,0x0b,0xd7,0x2c,0x4d,0x4b,0x37,0x7f,0xc9,0x66,0xe2,0xe7, + 0x09,0x79,0x88,0x82,0x96,0x2a,0x19,0x65,0xa4,0xfc,0xae,0x36,0xc0,0x10,0xca,0xf1, + 0xc1,0xe1,0x15,0x26,0xa4,0x74,0xbd,0x31,0x06,0x20,0x62,0xfc,0x53,0x73,0x0c,0xe1, + 0x8e,0xba,0x65,0x14,0x85,0xa0,0x78,0x66,0x8c,0x42,0xda,0x5b,0x52,0xf7,0x39,0x35, + 0xe3,0xef,0x2d,0x09,0xc5,0x90,0xd0,0xd1,0xb1,0x25,0xf4,0x4a,0xe1,0xe4,0x12,0x8d, + 0xc0,0xf7,0x9c,0xdb,0xa7,0xce,0x26,0x02,0xe4,0xb7,0x37,0x2a,0x88,0x31,0xce,0x0f, + 0xe3,0x06,0x05,0x3c,0x1b,0xf7,0x0e,0x2e,0xb0,0x08,0x8d,0x4e,0xdd,0x95,0x29,0xe9, + 0xa0,0x0d,0xa7,0xb2,0x08,0x18,0x67,0x9d,0x84,0x38,0xcb,0x94,0xa2,0xed,0xa1,0xd8, + 0x60,0x65,0x7c,0xb5,0xee,0x3c,0x83,0x60,0xb3,0xd4,0xcc,0x09,0x32,0x4a,0x37,0x4a, + 0xb7,0x74,0x74,0x8a,0xbe,0xae,0x13,0xef,0x69,0xce,0xe3,0xce,0x89,0x2a,0x0e,0xf7, + 0x9a,0xad,0xed,0xb8,0xb5,0x23,0xfd,0xaf,0xeb,0x67,0xec,0xda,0x19,0xbb,0x7e,0x46, + 0xb5,0xa2,0x42,0x97,0xe9,0x2e,0x97,0x9d,0x06,0xc7,0x53,0xea,0xe3,0xd4,0x09,0xbd, + 0xb3,0x8f,0xec,0xa8,0x6e,0xb5,0x11,0xb4,0xa9,0x1f,0x1d,0x9f,0xdb,0x67,0xeb,0xd2, + 0x4c,0x74,0x55,0x3f,0x25,0x90,0x96,0x01,0x33,0xae,0x0a,0x0d,0x8b,0x36,0x37,0xf9, + 0xa7,0x61,0x8c,0xcf,0x60,0x09,0x1b,0x39,0x91,0xd8,0xc6,0xc2,0xb9,0xe2,0xc3,0xf4, + 0xc6,0x4b,0x77,0x2f,0xe6,0x95,0xbf,0xba,0x77,0x9b,0xdd,0x8f,0xfe,0x45,0x66,0x1b, + 0x20,0x26,0xc2,0x85,0x32,0x51,0xbe,0x82,0x6e,0xbb,0xfd,0x04,0x50,0x4e,0x3e,0x68, + 0x83,0x89,0x33,0x68,0x2b,0x57,0xbc,0x90,0xc3,0x81,0xb7,0xb2,0xeb,0x9c,0x4f,0x8c, + 0xa7,0xa1,0x58,0xb5,0x9f,0xc4,0x20,0xe3,0x91,0x4f,0x9d,0xda,0xb5,0x05,0x03,0x25, + 0xf2,0x5f,0xeb,0x88,0x83,0xbd,0x2f,0x94,0x3c,0x2f,0x6c,0xe8,0x7d,0x7b,0x35,0x30, + 0x4b,0x08,0x85,0x7f,0xe3,0x7e,0x0a,0x57,0x8c,0xf0,0xa4,0x7f,0x35,0xa4,0xed,0x5e, + 0xd2,0xc4,0xff,0x84,0x20,0xe1,0x42,0x12,0xa9,0x0c,0xee,0x21,0xdc,0xe7,0xe6,0x23, + 0x75,0xdd,0x7c,0x78,0x84,0xe9,0xa9,0x3a,0x6f,0x3a,0xe3,0xd3,0x2e,0x2b,0xea,0x13, + 0x4e,0xd3,0x9a,0x33,0x46,0xdb,0x31,0x23,0x34,0xc4,0xf6,0xfb,0xf6,0x2e,0x4a,0x5d, + 0x8f,0x9e,0x51,0x50,0x4b,0x00,0xf2,0x41,0xd6,0x66,0xfe,0xd1,0xa2,0xc9,0xae,0x12, + 0x4c,0x88,0x4c,0xb4,0xaa,0xb8,0x41,0x3c,0xeb,0x9b,0xc8,0xdb,0x85,0xd5,0x49,0x65, + 0xb5,0x78,0x7e,0x33,0xcd,0x1d,0xd9,0xd9,0x39,0xde,0x43,0x81,0xa3,0x66,0x28,0xde, + 0x0b,0x5b,0x10,0x45,0xfc,0x48,0xd6,0xb0,0x40,0x9b,0x0b,0x44,0x9f,0x31,0x3f,0x08, + 0xe5,0xd2,0x25,0x52,0xd3,0x29,0x1e,0xd6,0x9a,0xca,0xed,0xf5,0x9c,0xbc,0xb7,0x4a, + 0xe1,0xfe,0x98,0xbd,0x74,0xc9,0xf1,0x59,0x40,0x5a,0xb7,0x3e,0x7a,0xb4,0x18,0x97, + 0xaa,0x13,0x17,0xe3,0xdb,0x75,0xf8,0x39,0x74,0x6a,0xe4,0x53,0xca,0x25,0xb8,0xa4, + 0x7a,0xca,0x11,0x0d,0x9a,0x61,0x44,0xa1,0x19,0x52,0x32,0x15,0xa5,0x9e,0x9c,0x10, + 0xb9,0xe3,0x4b,0x0a,0xfd,0xe2,0xcb,0x0a,0xff,0xbb,0x2f,0x2d,0xfc,0xcf,0xbe,0xbc, + 0x10,0x10,0x91,0x77,0x28,0x18,0xae,0x39,0xd3,0x4e,0x0f,0xd6,0xb3,0xef,0xf9,0x19, + 0x5d,0xcb,0xa1,0xde,0x2c,0x6c,0x0c,0x1c,0x6a,0x57,0xed,0x77,0x4e,0x0c,0xa1,0x79, + 0xce,0xe6,0x45,0x0b,0x4d,0x7b,0xdc,0x1a,0x92,0xd3,0x61,0xb1,0x3d,0xf9,0xb8,0x6c, + 0x74,0x99,0x8f,0x39,0x2f,0x4b,0x06,0xbd,0x61,0x3f,0x4b,0x3a,0x34,0xdd,0x4b,0x1b, + 0x18,0x97,0x30,0x73,0x36,0x11,0x27,0x90,0x14,0x7f,0xd8,0x01,0x16,0x83,0xa6,0xfc, + 0x97,0x5e,0x05,0xad,0x38,0xef,0x41,0xd3,0x7c,0x51,0xbf,0xe2,0x12,0x9d,0x7e,0xc5, + 0x29,0x7b,0x3c,0x48,0x7a,0x09,0xd5,0x3f,0x90,0x13,0xf7,0x0e,0x17,0x72,0xd3,0xc9, + 0x82,0x21,0xa4,0x1b,0x77,0x2f,0xa3,0x06,0x9e,0x90,0x6f,0x5f,0x78,0x7b,0x09,0x5b, + 0x9c,0xab,0x70,0x22,0xc4,0xeb,0x17,0x3b,0x8c,0xa9,0xd8,0x38,0xcf,0xc8,0x34,0x72, + 0xa3,0x6c,0x83,0xbb,0x35,0x63,0x96,0xec,0x99,0x31,0x85,0xa1,0x38,0x3e,0x85,0x15, + 0xd6,0xef,0x1f,0x5e,0xd1,0x6c,0x37,0x19,0xd3,0x2a,0xc2,0x0c,0xb3,0x64,0x21,0xe6, + 0x6a,0x2d,0x88,0xa8,0xe6,0xdd,0x4a,0x17,0xb3,0x0c,0xfd,0x48,0x07,0xa7,0x61,0x8f, + 0x0e,0x3f,0xf5,0x42,0xcb,0xc2,0x93,0x96,0x10,0x6c,0xc7,0xb6,0xa8,0xf2,0x7d,0xeb, + 0x8f,0x6c,0x66,0x3f,0x8f,0x6e,0xaf,0xb9,0xee,0x12,0x90,0x55,0x51,0x0e,0x6f,0x6c, + 0x7a,0xbc,0xc7,0x63,0x02,0x19,0xc5,0xf3,0x27,0xeb,0x4b,0xf4,0x3b,0x49,0x6d,0xdb, + 0xef,0x26,0x52,0xee,0x77,0x76,0xb9,0x76,0x75,0xb9,0x3f,0xae,0xef,0x17,0x3c,0x4e, + 0x28,0x4f,0x96,0x36,0xf9,0x66,0x97,0xc4,0xf0,0xcb,0x3f,0x33,0x3f,0x41,0x8d,0xf8, + 0x4c,0xa9,0x70,0xe3,0x34,0xcf,0x95,0x75,0x97,0xf0,0x17,0xfd,0xee,0xb7,0xad,0x01, + 0x2f,0x71,0x90,0xde,0x60,0x97,0xbb,0x72,0x5b,0x07,0x27,0x9b,0x5c,0x4a,0xad,0x66, + 0xde,0x4f,0x61,0xf6,0x4b,0x5e,0x75,0xb5,0x1e,0xd8,0x1e,0x0d,0x78,0x32,0xe7,0x71, + 0xac,0xb5,0x03,0x44,0xbe,0x8e,0x31,0x9f,0x69,0xb1,0xa4,0x9f,0xf3,0xb4,0x58,0xed, + 0x09,0x5d,0x58,0x2e,0xcb,0x3c,0xa7,0xa9,0x0c,0x63,0x69,0x86,0x2d,0x23,0x07,0x3c, + 0x72,0x63,0x8b,0x09,0x7a,0x41,0x53,0xb6,0x77,0x2b,0x7c,0xc5,0x3f,0x36,0x46,0x15, + 0x81,0xa5,0x74,0x35,0x65,0x8a,0x0e,0x43,0xcc,0x18,0xdd,0xd5,0x39,0xad,0x7d,0xdf, + 0xfd,0x16,0xb6,0xf2,0x82,0x0b,0xff,0xea,0x7f,0x87,0x44,0x89,0x26,0xb3,0x78,0xef, + 0xb8,0x95,0x9c,0xec,0x7d,0xcc,0xbe,0xdd,0x1a,0x90,0xf6,0x4a,0xc4,0x72,0xe1,0xd8, + 0xf5,0xa6,0x33,0x1b,0xaf,0xb3,0x28,0xb6,0x2a,0xc2,0x34,0xc8,0xf6,0x22,0x9a,0x39, + 0x9d,0x94,0x5b,0x45,0x4c,0x27,0x4c,0x0b,0x85,0x81,0x18,0x12,0x47,0x59,0xac,0xf3, + 0x65,0x50,0x47,0x2a,0xc6,0x38,0x6f,0x2a,0x43,0xeb,0x48,0x7a,0xa6,0x2b,0xac,0x0d, + 0xdb,0xf8,0x9d,0x59,0xa6,0x42,0x7a,0xdf,0xc4,0x79,0xc8,0xa7,0x0c,0xbb,0xd1,0x3d, + 0x41,0x6f,0xb7,0x7e,0x09,0xcd,0xa1,0x11,0xf5,0x6b,0xd1,0xe8,0x84,0xe0,0xa1,0xa2, + 0x7d,0xbe,0x04,0xa8,0x9c,0x19,0x47,0x88,0x83,0x29,0x5d,0xdb,0x38,0xca,0x83,0x28, + 0xd3,0x11,0x63,0xbf,0xe7,0xde,0xa8,0x20,0xbb,0x25,0x8a,0x5d,0x2a,0xf1,0x97,0x59, + 0x94,0x49,0xd4,0x8a,0x20,0xa3,0x30,0x2b,0xd7,0xc6,0xfa,0x25,0xb8,0xc1,0x46,0x84, + 0xe3,0x9c,0x18,0x76,0x64,0x0d,0xb8,0xb5,0x14,0x11,0x68,0x7c,0x71,0x4e,0xc9,0x22, + 0x2d,0x98,0xd0,0x6e,0x6c,0x0a,0x3d,0x89,0x39,0x33,0xeb,0xcc,0x73,0xd7,0x9e,0x09, + 0x95,0x2b,0xd1,0x68,0xf1,0x94,0x17,0xc2,0xb7,0x40,0x56,0xf0,0xd1,0x21,0x1e,0x04, + 0x4a,0x0c,0x16,0x5a,0x0c,0xc0,0x43,0xd1,0x85,0x46,0x7c,0xfe,0x31,0xcf,0xae,0x48, + 0x03,0xf4,0x43,0xec,0xa5,0x19,0x02,0xbb,0x39,0x0b,0xa2,0x3f,0x86,0x98,0x4e,0x38, + 0xe4,0x6a,0xd0,0x21,0x1f,0x37,0x09,0x57,0x99,0xec,0x7d,0x19,0xa9,0x06,0x97,0x1e, + 0xf4,0x00,0x0a,0xbf,0x03,0x42,0xa0,0xdf,0x42,0xeb,0x09,0x54,0x5c,0x7c,0x39,0x25, + 0x90,0x36,0x83,0x03,0xe3,0xce,0x79,0x23,0x78,0x35,0xcf,0x94,0xc9,0x14,0xc7,0xe9, + 0xf4,0x33,0xe5,0x86,0xc4,0x31,0x68,0x1b,0xc1,0x1f,0xc4,0x2a,0xbe,0xb3,0x43,0xb8, + 0x24,0x73,0x62,0xa8,0x9c,0x40,0xd1,0xd4,0x36,0x37,0x69,0x30,0x42,0x30,0xf1,0x68, + 0x33,0x5c,0x65,0x80,0xb6,0x0a,0x35,0xea,0x56,0xae,0xc0,0xc3,0xc8,0xe4,0xde,0x90, + 0x8f,0x0e,0xbb,0x85,0xcb,0x8d,0xc9,0x3c,0x93,0xa6,0x14,0xbc,0x1d,0xe6,0xb6,0x44, + 0xc0,0xad,0x77,0x32,0xf2,0xb9,0x0e,0x8c,0xda,0xcc,0xc9,0x86,0x59,0x89,0xad,0x68, + 0xeb,0xbd,0xd0,0x6b,0x45,0xa1,0xe9,0xf8,0xdd,0x6f,0x27,0x41,0x5d,0xba,0x1d,0xbb, + 0x13,0xf2,0x5a,0xc3,0x47,0x21,0x2c,0x5b,0x89,0x22,0x3c,0x94,0x4a,0xae,0x82,0x48, + 0x74,0x08,0x25,0x26,0xf1,0x90,0x78,0x01,0x7d,0xd3,0xcc,0x59,0x42,0xdb,0x0b,0xd7, + 0x43,0xc5,0x44,0xf2,0xa3,0xb0,0xed,0x3a,0x9c,0x9c,0xcd,0xcd,0xbd,0x8e,0x87,0x6f, + 0x77,0x64,0x56,0x7f,0xe8,0x16,0xa6,0xf9,0xa4,0x32,0x07,0x26,0xd7,0xe7,0x3b,0xcd, + 0x87,0xcf,0xc4,0xb5,0x6d,0x59,0x00,0x3c,0x7c,0x26,0xf6,0x17,0xd3,0xe5,0x8a,0x2f, + 0xc4,0x37,0x21,0x1d,0xb7,0x05,0xec,0x5b,0x46,0xce,0x95,0xb2,0xe0,0x46,0xc2,0x55, + 0x41,0x71,0xd3,0xed,0xf6,0xf9,0xfc,0xdb,0x4c,0xc6,0xac,0xe9,0xc9,0x36,0x1e,0x74, + 0x9d,0x49,0xaf,0x29,0xfd,0xcb,0xf7,0x80,0xcc,0x15,0xee,0x15,0x97,0x81,0xcc,0x47, + 0xa3,0x48,0x70,0xce,0x58,0xad,0xa9,0x1b,0x70,0x8f,0x52,0x81,0xb4,0x5c,0x0a,0x58, + 0x9f,0x4b,0xf7,0x69,0xd0,0xc3,0xf5,0x32,0x8d,0xf8,0xbf,0xac,0x70,0x1c,0xa0,0x88, + 0x04,0xf3,0xda,0x3b,0x39,0xea,0x9a,0xe0,0x51,0x54,0x68,0xbc,0x1d,0x7a,0xe3,0x7f, + 0xe5,0x52,0x11,0xf3,0xcb,0xbe,0x9d,0x7f,0x2c,0x77,0x5c,0xf8,0xfe,0x5b,0x92,0xbf, + 0x74,0x6f,0xf4,0x31,0x3b,0xd3,0xc7,0xd3,0xd9,0x89,0x9a,0x2b,0x79,0x77,0x62,0x2c, + 0xa4,0x5c,0x0a,0x5b,0x3c,0x9b,0x32,0x7c,0x93,0x62,0x66,0xb7,0x3a,0x00,0x70,0xef, + 0xd6,0x27,0x16,0x26,0x61,0x81,0xa2,0x8a,0xfd,0xdb,0xf8,0x5a,0x1e,0x3f,0xbe,0x67, + 0xed,0x69,0xa4,0x19,0xf6,0x5c,0xc8,0x96,0x8d,0xdb,0xb2,0x87,0x7b,0xd8,0x65,0x2b, + 0x31,0xab,0xe8,0xdd,0xa6,0x0b,0xe2,0x56,0xab,0x99,0x74,0x6f,0x5a,0xdb,0x49,0x76, + 0xd6,0xda,0x49,0x4e,0x67,0xad,0xdd,0xbb,0x92,0x21,0x6e,0x7b,0x43,0x99,0x5f,0x10, + 0x77,0x8c,0xfc,0x27,0x6b,0x7d,0x53,0x28,0xf1,0x3c,0x18,0xff,0x4f,0xbe,0x56,0xa4, + 0x97,0x52,0xfc,0xfb,0x24,0xd5,0xbe,0x16,0x1d,0xe1,0xa1,0x9e,0x28,0x5d,0x37,0x2c, + 0xe9,0x82,0xac,0xbd,0x5b,0xb9,0x75,0x6f,0x62,0xe4,0x07,0x85,0x6b,0x92,0x4d,0x1c, + 0x3d,0x63,0x51,0x56,0x65,0x54,0x9e,0x0a,0x0e,0xb3,0x40,0x8a,0x04,0x87,0x2b,0xa2, + 0x23,0x81,0xf1,0x15,0x59,0xd4,0x9d,0x2a,0xb1,0xa6,0x69,0x9e,0xa7,0xf2,0x33,0xed, + 0x42,0xab,0x45,0xfe,0x57,0xa2,0xac,0xf6,0x82,0x2b,0x53,0xd0,0xcf,0xbc,0x45,0xa5, + 0xd9,0x9a,0xb7,0xb0,0xb9,0xd4,0xdc,0xa8,0xe2,0xf2,0x81,0xf1,0x3a,0x4c,0x75,0x54, + 0xae,0x03,0x6c,0xbd,0x73,0x7c,0x55,0x10,0xc8,0xce,0x8b,0x41,0xc3,0xf8,0x2b,0x4f, + 0x3f,0x22,0xb1,0xfa,0x42,0xa3,0x38,0xe7,0x1b,0x3c,0xc8,0x6c,0x6a,0xfc,0x71,0xc6, + 0xae,0x50,0x6f,0x2b,0xc6,0x06,0x80,0x93,0x5b,0xb0,0xb4,0xcb,0x87,0x42,0xc7,0xf9, + 0x85,0x0b,0x63,0x63,0x62,0x1c,0xf7,0xe0,0xc7,0xc4,0x4c,0x4f,0x4c,0xed,0x7c,0xdc, + 0x58,0xf5,0x33,0x05,0x38,0x68,0x9b,0xaf,0xde,0x89,0xcc,0x1f,0xa5,0xd6,0xf9,0xcb, + 0x3c,0xbf,0xbb,0x6d,0x25,0x81,0x0e,0x29,0x2a,0x36,0x01,0x47,0xe9,0x39,0x12,0xfd, + 0x44,0x86,0xd5,0xb2,0x24,0xac,0x76,0xfa,0x2b,0x25,0xaa,0xd3,0xdf,0xa4,0x84,0x9d, + 0xd2,0xbc,0x62,0xf5,0x83,0x69,0xf0,0xe1,0x80,0x4a,0x70,0xcd,0x8d,0x47,0xf3,0xdf, + 0xa7,0xe4,0x26,0x9e,0x4f,0x87,0xed,0x40,0x23,0xd9,0xd6,0xf7,0xcf,0x68,0xc3,0x9f, + 0x5c,0x38,0xa9,0xff,0xc1,0xa9,0x5b,0xbb,0xcf,0xe8,0xd3,0xc8,0xfd,0x44,0x89,0x5b, + 0xcf,0x9a,0x85,0xb9,0x6a,0xef,0x45,0x73,0xaf,0x57,0x0b,0x7b,0x50,0x40,0x5e,0xd4, + 0x42,0xf8,0xee,0x8c,0x2e,0x90,0x42,0x8f,0x48,0x19,0xd5,0x42,0x1c,0x16,0xf3,0x5f, + 0x27,0x44,0xd6,0x00,0xd5,0x1c,0x24,0xdd,0x04,0x44,0x55,0x58,0x42,0xd2,0x67,0xb2, + 0xc8,0x7c,0x21,0xf6,0x22,0x03,0x18,0x90,0xe0,0xb9,0x4b,0xcf,0xf4,0x10,0x65,0x7b, + 0x8f,0x61,0x77,0x89,0x27,0x63,0xf2,0x51,0x32,0x15,0xb5,0x0a,0xb2,0x1b,0x62,0x61, + 0xb7,0x01,0xad,0x8b,0xf2,0x67,0x70,0xbe,0x08,0xfe,0x96,0x82,0xa9,0xaf,0xc4,0x31, + 0x5b,0xa4,0x50,0xc9,0x6e,0xd3,0x0d,0x30,0x66,0xe1,0xa2,0x83,0x74,0x07,0x45,0xbc, + 0x90,0x0b,0x5e,0x82,0xc5,0xf9,0x58,0x2e,0xae,0x79,0x67,0x61,0xd5,0xf2,0x7c,0xc7, + 0xff,0xd5,0x7e,0xff,0xa9,0x68,0x5f,0x11,0x64,0x3a,0xb4,0x46,0xfb,0xf7,0xbd,0xef, + 0x0e,0x69,0x63,0x08,0x48,0x58,0xf9,0x84,0xba,0xd4,0x5b,0x9b,0x27,0x94,0xe9,0xbb, + 0x9b,0x5a,0xd7,0xf4,0xb2,0x06,0x45,0xc8,0xfb,0x84,0x59,0xa4,0x8f,0x5b,0x7a,0x3b, + 0x4f,0x64,0x67,0xcf,0xe1,0xfe,0x9d,0x68,0x09,0x1b,0xdc,0xe0,0xe1,0xef,0x53,0x52, + 0x7e,0x85,0x89,0x74,0xc8,0xc6,0x15,0xbf,0x7f,0xca,0xe2,0xb8,0x26,0x10,0x3f,0x76, + 0xe6,0x60,0x1a,0xa6,0x3b,0x7c,0xed,0xe2,0xf9,0xd3,0xe8,0x1a,0x98,0xc1,0x7a,0x8c, + 0x8d,0x9f,0x07,0xb7,0x38,0x34,0xdc,0x89,0x93,0xf0,0xaf,0xa1,0x66,0xf8,0x19,0x65, + 0x07,0x44,0x05,0x66,0xc8,0x6e,0x12,0xfe,0xf6,0x23,0x3c,0xc1,0x43,0x51,0x8a,0xae, + 0xe7,0xd3,0x89,0x74,0x43,0xa6,0xe6,0x46,0xf8,0x82,0xa0,0x33,0xc4,0xb9,0x54,0x98, + 0x78,0xe0,0xec,0xd5,0x92,0x3f,0x9a,0x4c,0x84,0xbc,0x28,0xf7,0x2d,0x85,0x04,0x0c, + 0x78,0x50,0x84,0x49,0xd6,0x18,0xd3,0x6b,0x12,0xf6,0x7e,0x1c,0x15,0x20,0xaf,0x21, + 0xad,0x83,0x0f,0x87,0x87,0xaf,0x08,0x60,0x86,0xbd,0x12,0x7f,0x07,0x7d,0x87,0x6f, + 0x3f,0xb0,0xb7,0xfa,0x6c,0x3c,0x53,0xe0,0xfd,0xc1,0x8c,0x78,0x11,0x1c,0xfd,0xad, + 0x60,0x0f,0x36,0x82,0xc2,0x1f,0x0f,0xec,0x83,0x05,0x36,0x03,0x99,0x3e,0xa4,0x99, + 0xb3,0x33,0x86,0x04,0x4c,0xff,0xf4,0x3a,0xa1,0x13,0x4a,0x2e,0x18,0x39,0xf0,0xe8, + 0x81,0x1e,0x31,0x68,0x86,0xf6,0x2e,0xd8,0x4b,0xee,0x33,0x81,0x63,0xeb,0x48,0xd1, + 0x7c,0xa2,0x4a,0x63,0xc0,0x07,0x5b,0x84,0x8b,0xc1,0x4d,0x92,0x66,0x82,0xfd,0x1d, + 0xba,0x57,0x29,0x57,0x8f,0x13,0x9d,0x6c,0x92,0xa6,0xf9,0x8e,0xfe,0x16,0x40,0x27, + 0x75,0xd5,0xa7,0x3c,0xf3,0xdb,0x4f,0xfc,0x8c,0x8f,0x91,0xe5,0x01,0x5f,0x9a,0xed, + 0xbf,0x8e,0x8e,0x0a,0x50,0x12,0xf6,0x02,0xdc,0x0a,0x0b,0xf6,0xd3,0x36,0x57,0xd9, + 0xcf,0xdb,0x3c,0x6d,0x83,0x02,0xe8,0xd5,0x7b,0xfa,0x3a,0x98,0xe2,0x64,0xa5,0x4e, + 0xa2,0x95,0x6d,0xf1,0xa9,0x3c,0x88,0x63,0xee,0x05,0xe8,0x55,0x71,0xdb,0x4e,0x95, + 0xa6,0x96,0x26,0x47,0x96,0x6c,0x0a,0x93,0x43,0x5e,0x39,0xf1,0x53,0x9d,0x3b,0x63, + 0x9c,0xd8,0x48,0xe2,0x76,0x19,0x88,0x33,0x17,0x50,0x82,0xcc,0x73,0x93,0x60,0x16, + 0xe6,0xc3,0x34,0x2b,0x3c,0x3e,0xb7,0x75,0x9c,0xca,0x32,0xcd,0x1e,0x67,0xd9,0x50, + 0x0e,0x0f,0xf7,0xf0,0xe4,0xd8,0xbe,0xdf,0x0a,0xb2,0xb3,0x34,0xba,0x25,0xc3,0x4b, + 0xb9,0x60,0x12,0xd3,0x0d,0x13,0x47,0xf6,0x5e,0x5e,0xb3,0xe4,0x65,0xa1,0xeb,0x46, + 0xfd,0x95,0xe8,0xa2,0x98,0x19,0x2a,0x82,0x15,0x8b,0x0d,0x4c,0xf0,0x78,0x83,0x2d, + 0x0f,0xa5,0x0c,0xb1,0x91,0x85,0xca,0x28,0x2a,0x5b,0xca,0xc6,0xb6,0xa9,0xac,0xc0, + 0xc7,0xb1,0x63,0x1d,0x68,0x44,0x0e,0x47,0x2f,0xcd,0x88,0xec,0xc9,0xa5,0x21,0x7a, + 0xb9,0xbc,0x25,0xe7,0xe4,0x56,0x0d,0xc8,0xb7,0x0c,0x7d,0x47,0xf7,0x9a,0x5c,0x72, + 0x0f,0x63,0x08,0xbc,0xe2,0xaf,0x7a,0x7f,0xac,0xa8,0xa7,0x98,0x25,0x02,0x7c,0x6c, + 0x82,0x48,0x08,0xf5,0x62,0x37,0x29,0x53,0x8f,0x6b,0x71,0x3e,0x18,0x0e,0x91,0xc3, + 0xc0,0x51,0x3b,0x88,0xc5,0xa5,0x9b,0x22,0xf6,0xff,0x48,0x36,0xf4,0x3b,0x15,0xab, + 0x9d,0x39,0xb7,0x01,0x5a,0x90,0x26,0x62,0x8b,0x57,0x44,0xc5,0x11,0x67,0x27,0x0f, + 0x59,0x4f,0x73,0xf7,0xec,0x90,0xf7,0xca,0x4e,0x83,0x9f,0xaf,0x79,0x89,0xd5,0x91, + 0xbe,0xf0,0x02,0xb3,0x75,0xa7,0x91,0x5d,0x0c,0x68,0xa3,0x6e,0x65,0x33,0x7d,0x12, + 0x72,0x81,0x96,0x12,0xd2,0x3d,0x7a,0xd3,0x59,0x2a,0x71,0xce,0x8c,0x62,0xe9,0x3d, + 0x84,0xee,0xf0,0x43,0x07,0x19,0xe0,0x82,0x96,0x5c,0x96,0x5f,0xd3,0xe2,0x10,0x83, + 0xf7,0x0f,0x72,0xcd,0x82,0x75,0xc3,0xd3,0x67,0xed,0x0d,0x24,0xde,0xd0,0x6b,0x7a, + 0xf3,0x2d,0x10,0xb4,0xf1,0x6a,0x62,0xfe,0xa6,0x17,0xfc,0xce,0x98,0xcf,0x29,0xeb, + 0x79,0x9f,0x67,0x14,0x6a,0xf1,0x70,0x87,0x8e,0x40,0xcf,0x1b,0x19,0xd9,0x04,0x44, + 0x00,0x4b,0xf0,0x8f,0x12,0x78,0xee,0x84,0x52,0x6a,0x1e,0xd1,0xc9,0xde,0x4d,0x72, + 0x61,0x86,0x05,0x11,0x29,0x15,0x7a,0xbe,0xe3,0x9a,0x9d,0x8f,0xd3,0x3c,0x82,0x4a, + 0x83,0x83,0x68,0xf0,0xe9,0x90,0xa9,0x55,0x32,0xba,0x95,0x8f,0x9d,0x5b,0xef,0x23, + 0xe3,0x05,0x40,0x9a,0x8e,0xc6,0xf1,0x62,0x74,0x5b,0xc3,0x56,0x6a,0x34,0xae,0xa7, + 0xdb,0x77,0x1b,0xa0,0x6b,0x4e,0xd7,0x00,0x0e,0xb9,0xff,0x33,0xd9,0xa3,0x29,0x94, + 0x5e,0x3d,0x4e,0x28,0x62,0xa4,0xe6,0x0f,0x62,0x2a,0x12,0x53,0x0d,0x73,0x0f,0x9d, + 0xc6,0xbb,0x5a,0x58,0xaf,0x77,0x4e,0x4f,0xc3,0xfc,0x06,0x17,0x04,0xcd,0x5f,0x76, + 0xba,0xdf,0xf5,0xfa,0x3f,0x84,0x6d,0x94,0x42,0xe1,0xc8,0x99,0x93,0xe9,0x4e,0xdb, + 0xbc,0xfd,0x27,0x3a,0x45,0x1a,0xf2,0x44,0x14,0x22,0xa9,0xdb,0x87,0x2a,0xe5,0x3d, + 0x6a,0xc0,0xeb,0x46,0x50,0xed,0xaf,0x5f,0xaf,0x93,0xfc,0xf6,0xcb,0x6d,0x3a,0xd8, + 0xb2,0x19,0x55,0xdf,0x8e,0xbf,0x8d,0x6e,0xea,0x4f,0xe2,0xda,0x4e,0xf2,0x39,0xbd, + 0xa8,0x3f,0xa9,0x47,0xd7,0x75,0xd4,0x75,0x0b,0xb5,0xc6,0x2f,0x3e,0x02,0xa4,0x49, + 0x7c,0xd8,0x33,0x85,0x1f,0x4d,0xa2,0xdb,0xe4,0x73,0xdc,0x3a,0x6f,0x90,0xda,0x41, + 0xde,0x78,0x35,0xa9,0x1c,0x89,0xf8,0x19,0xa3,0x75,0x28,0xbc,0xb1,0x39,0x05,0x82, + 0x49,0x54,0xa4,0x21,0x45,0xb7,0xc6,0x95,0x05,0xec,0x13,0x46,0xf5,0xab,0x01,0x55, + 0x84,0x1a,0x7d,0x9f,0x62,0x61,0xa3,0x72,0xd4,0x37,0xc2,0x1c,0x0d,0x8d,0x7f,0x26, + 0xfa,0xd8,0xa1,0xfc,0x24,0xb9,0xa9,0xef,0x24,0xdb,0xae,0x1f,0x36,0xbe,0x19,0xfd, + 0x5b,0xff,0x33,0xc7,0x79,0x89,0xcc,0xfe,0xa2,0x30,0x5c,0x33,0xef,0x9b,0x9b,0xd5, + 0xd1,0x55,0x15,0xbe,0xad,0x0e,0x19,0xa0,0x63,0x9c,0xe5,0xd6,0x3f,0x9d,0xbe,0x9e, + 0x8c,0x48,0x44,0x1d,0xc9,0xca,0xbd,0xa4,0xd3,0xc7,0x2d,0x51,0xda,0x8a,0x39,0x4b, + 0x77,0x4a,0x63,0x24,0xb1,0xfc,0xba,0x67,0xa5,0xac,0x3c,0xe5,0xf0,0xff,0x4a,0x29, + 0x50,0xf1,0x33,0xaf,0xda,0x69,0xa7,0xcd,0xfe,0x00,0x20,0xf2,0xdd,0x20,0xc1,0x6a, + 0x8b,0x81,0x2f,0x45,0xc8,0x61,0xa9,0x60,0x3b,0xaf,0xef,0x3d,0xf5,0x4c,0x20,0x7f, + 0x00,0xc5,0xd3,0x05,0x70,0xd4,0xf9,0x35,0x94,0xea,0x9e,0x41,0x3b,0xc6,0x37,0xae, + 0xfd,0x1b,0x09,0x67,0x9b,0x9b,0x67,0x0d,0xc8,0x06,0xa0,0x7b,0x0b,0xa5,0x6f,0x6c, + 0xbf,0x60,0xae,0xc9,0xd0,0xb7,0x7f,0xec,0xa3,0x17,0xf6,0x23,0xc6,0x98,0xc0,0x06, + 0x14,0x4d,0x78,0x38,0x60,0x3d,0x36,0x50,0x70,0xea,0xea,0x90,0x27,0xfc,0xb9,0x2a, + 0x20,0xac,0x5c,0x63,0x4a,0x8a,0xc8,0xb1,0xa2,0x8e,0x60,0xea,0xf9,0xe0,0xaf,0x2a, + 0x5b,0xff,0x16,0x18,0xe9,0xea,0x45,0xe2,0x73,0xd6,0x0f,0x46,0xab,0x6a,0x90,0x2f, + 0xc6,0xc9,0xb9,0xaa,0x91,0x56,0xf5,0xca,0x55,0x81,0x48,0xab,0x60,0xef,0x92,0xed, + 0xa7,0xd4,0xd1,0x79,0xb7,0xc2,0x1d,0x86,0x51,0xdb,0xc2,0x9a,0x9b,0x89,0x3f,0xa1, + 0x17,0xb9,0x4d,0xba,0x3e,0x5e,0x9b,0x0d,0xb7,0x96,0xeb,0x5c,0xa9,0x2f,0x67,0xfa, + 0x97,0xb3,0xd6,0xcf,0xe9,0xc4,0x81,0x96,0x2e,0x2f,0x9b,0x25,0xfb,0x2d,0x35,0x01, + 0xb4,0x34,0xd2,0x76,0xad,0xe6,0x8c,0x36,0x8b,0x7b,0x93,0xd9,0x29,0xe9,0x60,0x1e, + 0x8e,0xb7,0xec,0xa3,0x4b,0xcb,0xb0,0x98,0x48,0xce,0xd3,0xaa,0xeb,0xd4,0xbd,0xca, + 0x3e,0x2b,0x07,0xfd,0x1c,0xba,0x3e,0x93,0x0b,0x14,0xb2,0xa8,0x22,0x89,0x58,0xef, + 0x90,0x48,0x6c,0x9d,0xf2,0xde,0x1d,0x43,0xa3,0x47,0xfb,0xb7,0xd6,0x36,0x05,0xc1, + 0x7f,0xe1,0x07,0xd7,0x2f,0x5d,0x73,0x6b,0xb3,0x25,0x4c,0x51,0xe3,0x3d,0xd9,0x2d, + 0x22,0x01,0x86,0x08,0xf4,0x93,0x6e,0x87,0xad,0x22,0x31,0x4c,0xb8,0x86,0xa5,0x0b, + 0x30,0x1d,0xa8,0xf4,0x68,0x65,0x6c,0xd4,0x03,0xe3,0x94,0x9e,0x5f,0xd4,0x9f,0x3e, + 0xdd,0x7b,0xd2,0x32,0x8f,0xcf,0xbe,0xdb,0xdb,0x95,0xc7,0xef,0xbe,0xdf,0xdb,0x69, + 0x6d,0xb7,0xf9,0xa4,0xbc,0xea,0xfe,0xcb,0x13,0xd6,0x3e,0x4e,0x6a,0xa9,0x5c,0xd2, + 0x93,0x9a,0x8a,0x77,0x9a,0xd6,0x60,0x4c,0x93,0x4c,0xbd,0x8b,0x3d,0xd5,0x65,0xdb, + 0xc4,0xe2,0xdf,0x45,0xec,0x7a,0x09,0x6d,0xcf,0xd3,0x42,0x6b,0x1b,0x09,0x5d,0xa8, + 0xb5,0xfb,0x33,0x0e,0xd3,0x77,0x95,0x71,0x8a,0x59,0x4f,0xb4,0xb0,0xf5,0xdf,0xad, + 0x0d,0xbe,0xdd,0xc5,0xfa,0x8a,0xc0,0xb0,0x6f,0x39,0xe7,0x99,0x92,0x3e,0xa0,0xf8, + 0xf1,0x5e,0x48,0x6b,0x52,0x9e,0x71,0xb1,0xbe,0x94,0x17,0x2a,0x33,0x0e,0x91,0x45, + 0xf9,0xf7,0x58,0x57,0x84,0xeb,0xc8,0x3c,0x1b,0xf6,0x6f,0xdb,0xdc,0x3e,0xf5,0x01, + 0xe6,0xb1,0xac,0x45,0x09,0x75,0x6c,0xb1,0x73,0x6a,0xb6,0x9f,0x4e,0x6f,0xf9,0xea, + 0x49,0x2d,0x14,0xc4,0xa1,0xc5,0x58,0x6d,0x9b,0xab,0xd9,0x50,0x18,0x5f,0x76,0xcb, + 0xa6,0xbd,0x4c,0xd7,0x33,0x68,0x2a,0x82,0xf7,0xcd,0x42,0xee,0xcf,0xea,0xda,0x84, + 0xd0,0xf7,0xb1,0x18,0x85,0xd8,0x5d,0xbd,0x5a,0x28,0x29,0xad,0x7e,0x67,0x61,0xd9, + 0xd4,0x74,0x2d,0x0c,0xc7,0x14,0x24,0x0c,0xa5,0xc9,0x41,0xa1,0x58,0x55,0x98,0xe5, + 0x7c,0x81,0x76,0xac,0xc1,0x90,0xc6,0x6c,0x58,0x45,0xab,0x08,0xca,0xe9,0x5b,0xa7, + 0x2a,0x60,0x97,0xf7,0xc9,0xf5,0x0e,0xff,0xe8,0xc1,0x44,0xbf,0x3f,0xa6,0xd3,0x78, + 0x2e,0x95,0x11,0x54,0x94,0x84,0xda,0x13,0xdc,0xb1,0x29,0xea,0xc4,0xf5,0x72,0x67, + 0x7f,0x41,0x47,0xb5,0xdc,0x5b,0x51,0x19,0x0f,0x1f,0xe0,0x8c,0x6d,0xfd,0x08,0x67, + 0xfa,0x64,0x0f,0xc6,0xcf,0xce,0x2e,0x6c,0xac,0x37,0x90,0xd7,0x5f,0x88,0x45,0x4e, + 0xb9,0x5a,0x45,0x34,0xe7,0xf7,0xbb,0x4c,0x0d,0x62,0xbd,0x97,0x2d,0x66,0x67,0xc5, + 0x67,0x49,0xa0,0xd0,0x3a,0xb2,0x27,0xe1,0xd1,0x3d,0x66,0x76,0xc6,0xe5,0xab,0xb3, + 0x59,0x06,0x08,0x07,0xb1,0x76,0xe3,0x1a,0x92,0x60,0xc2,0xb4,0x17,0x6e,0xfe,0x05, + 0x11,0x73,0x77,0xbe,0x7b,0xd2,0x26,0x9f,0x4b,0x04,0x90,0x8d,0xa0,0x12,0x79,0x81, + 0x8b,0xb4,0xa1,0x57,0xe6,0x1e,0x01,0x68,0x40,0x4c,0x00,0x98,0x72,0x19,0x2b,0xe7, + 0xd2,0x5b,0xbc,0xa1,0xbb,0xfd,0x79,0xfc,0x7c,0x9a,0x0f,0xc1,0xf2,0xc6,0xb2,0x10, + 0x89,0x3b,0x34,0xd6,0xb0,0x4f,0xca,0xfb,0x5c,0x70,0x46,0x03,0x1f,0x97,0xd4,0xa6, + 0x34,0x9c,0xfd,0x5d,0xd2,0xfd,0x23,0xe6,0x7f,0xb6,0xe1,0x1f,0x5e,0x09,0x0c,0x34, + 0x09,0xa7,0x25,0xe4,0x97,0x35,0xf7,0x6b,0xdc,0x43,0xc9,0xc5,0x0c,0x5e,0x70,0x51, + 0x93,0x2d,0x72,0x13,0xc1,0x57,0xbd,0xb4,0x6a,0xf9,0x93,0x47,0x6b,0xe5,0x68,0x25, + 0x95,0x6b,0x19,0x3c,0x5a,0x20,0x24,0xd3,0x05,0x63,0xca,0x58,0x57,0xaf,0xa6,0xf9, + 0xb3,0x1c,0xc5,0xe1,0xd9,0x96,0x43,0x44,0xde,0x1a,0x57,0xf7,0xa6,0x69,0x56,0x3a, + 0xd1,0x42,0x99,0xc0,0x27,0x47,0x64,0xe2,0xad,0xff,0x7e,0x8f,0x5b,0x9a,0x45,0x7d, + 0xe1,0x3b,0x6e,0xc7,0xf9,0xe0,0x82,0x03,0x7b,0xf3,0x93,0x7a,0x08,0x83,0x27,0xca, + 0x2e,0x2c,0x5f,0xb2,0x56,0x2e,0x0d,0x6c,0xf8,0x4a,0xc7,0x3f,0x29,0x20,0xa5,0x3c, + 0x9a,0x30,0xa8,0xd7,0x19,0x94,0x76,0x4e,0x6e,0x50,0xc7,0x06,0x57,0xe9,0x7b,0x64, + 0xf9,0xf4,0x17,0x88,0xfb,0xdd,0xeb,0x6b,0x6e,0xd5,0xc4,0x72,0x27,0x79,0x70,0xad, + 0x04,0xfa,0x8b,0xeb,0x24,0xf9,0xa4,0x46,0x5e,0xf7,0xff,0xda,0x13,0x21,0x9a,0x41, + 0xbc,0xf3,0xa0,0x7b,0x76,0x37,0xce,0x96,0x28,0x66,0x70,0xb5,0x74,0xb2,0x4e,0x68, + 0x38,0x5c,0xcf,0xc6,0x9a,0xa1,0xe4,0xe0,0x49,0x72,0x0c,0xb1,0x75,0x3c,0x9b,0xa7, + 0x71,0x92,0xcb,0x97,0x7b,0x59,0x2e,0x84,0x19,0xe9,0xa8,0x5e,0xd3,0x0b,0xf2,0xe4, + 0x83,0x19,0x3f,0x1a,0x9f,0x7c,0x77,0xe7,0xbb,0x67,0xdf,0xe3,0x10,0x5c,0xbe,0xc2, + 0x71,0xb7,0x3c,0xb3,0xa3,0xf4,0xdd,0xcd,0x4d,0xeb,0x28,0x26,0xc7,0x80,0x21,0x22, + 0x8f,0x65,0x67,0x6f,0xae,0x75,0x72,0xf5,0x6d,0x1d,0x5e,0x95,0x9c,0x5e,0xb8,0xee, + 0x42,0x95,0x38,0x7c,0xf8,0xd2,0x7a,0x8b,0x30,0x2b,0xf6,0x2b,0xd6,0xed,0x6f,0xc7, + 0x4b,0x59,0x7a,0xbc,0xb1,0xc0,0x69,0xef,0xef,0x87,0xfb,0x5b,0x07,0x9d,0x71,0xa7, + 0xd7,0x09,0x22,0x32,0x45,0x1a,0xa1,0xa1,0x59,0x3d,0x98,0x9c,0xb5,0xc2,0x1f,0xb6, + 0x9b,0x8d,0xa7,0x3b,0x4f,0x43,0x3a,0x52,0x0f,0x9f,0xed,0x34,0xf0,0x94,0x21,0xf9, + 0xbb,0x90,0x4e,0xd6,0xc3,0xa7,0xe1,0x5d,0xc2,0x38,0xf6,0xaf,0xa0,0x83,0xc0,0x4a, + 0xad,0x23,0x99,0x9e,0x36,0xbe,0x6f,0x36,0x4d,0xa6,0x9d,0xa7,0x4d,0x93,0x67,0xbb, + 0xb9,0x2a,0x53,0x10,0xbd,0xed,0xc0,0xa8,0xfa,0x26,0x2f,0xf2,0x59,0xe3,0xe9,0x77, + 0xab,0x8a,0xfc,0xbe,0x22,0xf7,0x1b,0xc8,0x61,0x2d,0xb8,0x99,0x67,0xdd,0xde,0x91, + 0x9c,0x3f,0xac,0x2a,0xb7,0x15,0x1c,0xee,0x27,0xc1,0x1f,0xfb,0x26,0xef,0xce,0x6e, + 0x63,0xdb,0xaf,0xe9,0xf7,0x5e,0xb1,0x9a,0xf9,0xbf,0x5e,0xff,0xb4,0x3e,0xa7,0x5b, + 0xec,0x8f,0xb3,0xce,0x3f,0x07,0xc3,0x2f,0x29,0xeb,0xe5,0xef,0x5b,0xbf,0xff,0xe6, + 0x32,0xe7,0xfb,0x67,0x3f,0x34,0x9e,0x6d,0x7f,0xff,0xc0,0x9c,0x3f,0xf5,0xa7,0xe4, + 0xe9,0x19,0x23,0x48,0x73,0x4b,0x6b,0x3a,0x0d,0xb3,0x5d,0xa2,0xf4,0xe0,0x9f,0x7d, + 0xac,0x2f,0x3e,0xf4,0xa7,0x57,0x5d,0x08,0x13,0x9f,0x80,0x27,0xbb,0x3b,0x6b,0x3b, + 0x04,0x13,0x10,0x3c,0xd9,0xdd,0x7d,0xf3,0xeb,0x3f,0x83,0xe8,0xf5,0x04,0x4a,0xe7, + 0x0f,0x64,0x3b,0x66,0x30,0x20,0xbd,0xf1,0x8c,0xca,0x5e,0x4f,0x84,0x62,0x70,0xcb, + 0xd7,0xdc,0xeb,0x19,0xf0,0xb6,0x4f,0xb7,0x1b,0x86,0xd8,0xe8,0x66,0x2e,0xdf,0xd6, + 0x93,0xfd,0x16,0xa3,0xeb,0x7f,0xf5,0x3b,0x94,0x4f,0x3a,0xd4,0x77,0x8d,0xdd,0xef, + 0xd6,0x33,0xcc,0xcd,0xe6,0x52,0xab,0xf9,0xd7,0x16,0xcb,0xf7,0xc5,0xaf,0xce,0x3b, + 0x43,0xaa,0xb1,0xd6,0xd2,0xcb,0xa7,0x3d,0xf9,0x99,0x97,0xef,0xfb,0x67,0xdf,0xaf, + 0xaf,0xa6,0x9b,0xef,0x10,0x26,0x61,0xff,0x34,0xec,0xf9,0x92,0x5e,0xf5,0xd7,0x41, + 0x7f,0x0e,0xbd,0x7c,0xa9,0x8a,0x3b,0xcd,0x06,0x73,0x66,0x7d,0xef,0x97,0xbc,0x7e, + 0x9f,0x94,0xfc,0xab,0x59,0xbc,0x71,0x62,0x9d,0xa4,0xbb,0x7e,0x13,0x17,0x85,0x9b, + 0xf0,0x35,0x3e,0xc2,0xad,0x85,0x9d,0x98,0x36,0xf1,0x96,0x87,0x2d,0xe6,0xc6,0x98, + 0xe1,0x66,0xe8,0xe3,0xa7,0xe6,0x4e,0x5c,0x2b,0x30,0x55,0x48,0x53,0xfe,0x05,0x31, + 0x01,0xd3,0x84,0x77,0xfc,0x34,0x9a,0x21,0x2f,0xb6,0x3a,0x88,0x16,0xd1,0x75,0x37, + 0x38,0xa2,0xfd,0xed,0x58,0xc6,0x4b,0x50,0xf8,0x76,0xad,0xd7,0xb2,0x3b,0xaa,0x27, + 0xb9,0x37,0x2a,0x99,0x99,0x6e,0x8f,0x07,0x27,0xe4,0x39,0x45,0x5e,0x3f,0xd3,0x6b, + 0xa9,0x0c,0xd7,0x2b,0x70,0x99,0x29,0x3f,0x61,0x3b,0x50,0xe6,0x49,0x40,0xe3,0x47, + 0x37,0x04,0x3f,0xfe,0x91,0xb3,0x48,0xd3,0xe0,0xeb,0x5d,0xb8,0x65,0xa5,0x1d,0x7c, + 0xf0,0x18,0x77,0xf3,0x4f,0x36,0x7d,0xfa,0x79,0xc0,0x1e,0xf5,0xf2,0x29,0xdf,0x76, + 0xa7,0x99,0x20,0x3a,0xab,0xeb,0x8c,0x93,0x76,0x41,0x85,0xb7,0x0e,0xcf,0xdd,0x05, + 0xd6,0xe1,0xfd,0xa1,0xda,0x35,0xcf,0xfa,0xe7,0xf8,0xb6,0x79,0xd1,0x1f,0x0e,0x07, + 0xd3,0xb6,0xe5,0xf9,0x82,0x11,0xf0,0x1d,0x67,0xf6,0x77,0xf6,0x10,0x3f,0x9b,0x1b, + 0xab,0x1d,0x6d,0x82,0xc8,0x38,0x36,0xd8,0x06,0xea,0x54,0xc3,0xf3,0xe5,0x31,0xb0, + 0x3d,0x78,0xcc,0xb1,0x93,0x03,0x6f,0x7a,0x9d,0xec,0xa2,0x8d,0x63,0x27,0x87,0xd9, + 0xb6,0x63,0x0f,0x9e,0x65,0x57,0xa0,0x64,0x37,0x9d,0x2f,0x7e,0xc3,0x5f,0x0d,0x62, + 0x9b,0xdb,0xff,0xda,0x08,0xc0,0x52,0xcf,0x49,0x02,0xea,0xc2,0xf4,0xc2,0x1f,0x68, + 0x9c,0x95,0xdd,0x8a,0xf3,0x17,0xbd,0x3d,0x2b,0xa1,0x2e,0x37,0x37,0xcd,0xaf,0x78, + 0xa9,0xe4,0xb8,0xb4,0x1b,0xda,0x52,0x75,0x10,0xe0,0xec,0x9b,0xc2,0x03,0x43,0xd1, + 0xf0,0x73,0x2b,0xc0,0x51,0x9b,0xd9,0x56,0x9e,0xb2,0xe1,0x61,0xec,0xf7,0x20,0xf9, + 0x8c,0x5e,0x14,0x97,0xba,0x91,0x7c,0xc8,0xce,0xe2,0x52,0x5f,0x92,0x0f,0xa7,0x33, + 0xde,0xdf,0xa2,0x84,0x8d,0x9a,0x21,0xfc,0x39,0xce,0x26,0x03,0x1c,0xe5,0xf4,0xb3, + 0xf1,0xe3,0xb9,0x69,0xe3,0xa0,0x23,0x3d,0xa1,0x33,0x94,0x6e,0x1d,0xf3,0xc6,0x17, + 0xbc,0x59,0xef,0x21,0xde,0xef,0xab,0xe8,0x5d,0xe2,0x51,0xa6,0xc2,0x85,0xbe,0x78, + 0xa3,0x55,0x86,0x26,0xdc,0x5f,0x98,0xdb,0xd7,0xe2,0xdd,0x0f,0xbf,0xd2,0x70,0xf1, + 0x82,0xbf,0xba,0xbd,0x5b,0x0c,0x4a,0x4d,0xcc,0x03,0xa7,0x57,0x1e,0xd7,0xae,0x4f, + 0xda,0x26,0x87,0xdb,0xfb,0xee,0x1e,0x6e,0xce,0x28,0xf7,0xcd,0x19,0x8b,0x2d,0x53, + 0xfe,0x25,0x2b,0xc7,0x69,0x61,0xe0,0xb8,0xb1,0xce,0xc2,0x91,0x4b,0xf3,0x5c,0xea, + 0x9a,0x7e,0x9d,0x7d,0x79,0x46,0xdf,0x13,0xaf,0x40,0xfa,0x67,0x34,0x7f,0x14,0x87, + 0x2f,0xb0,0xbb,0x57,0x83,0x40,0xef,0x50,0x46,0xb7,0x28,0xab,0x0f,0x6c,0xf4,0xc8, + 0x47,0x37,0xe1,0x7e,0xac,0x79,0x53,0xdc,0x6a,0xeb,0x47,0x83,0xfa,0x6b,0x0d,0x20, + 0x05,0xcd,0xc3,0x6c,0x20,0xd5,0x13,0xe9,0x57,0xdb,0x2d,0x3e,0x12,0x54,0xca,0x2b, + 0x47,0x76,0xb7,0xab,0xd8,0x5d,0xa9,0xbd,0x61,0xde,0x88,0xb4,0x2a,0x85,0xb0,0x10, + 0x5a,0x9c,0x18,0x19,0xed,0xaf,0x26,0x5c,0xca,0x8a,0xab,0x29,0x2c,0x8f,0xf1,0x5f, + 0x26,0xd1,0x58,0xbc,0xc3,0x14,0x06,0x1b,0x88,0xb2,0x44,0xe1,0x8f,0xe2,0x31,0x14, + 0xe1,0xf0,0x3e,0x9a,0xec,0x24,0xbb,0xc9,0x93,0x0a,0x8b,0x43,0x4c,0x12,0x22,0x11, + 0xe1,0x08,0x6b,0xb5,0xc9,0xe1,0x00,0x7d,0x7a,0x1c,0xe7,0x06,0x1f,0x53,0x1f,0x56, + 0x6d,0x20,0x07,0xcf,0x19,0x50,0x6c,0x12,0x99,0x08,0x14,0x51,0x11,0xa8,0xc3,0x68, + 0xee,0xb1,0x49,0x44,0xd9,0xbb,0x7a,0xd7,0xcb,0x8e,0x11,0x6b,0x39,0x98,0x19,0xa5, + 0x6a,0x27,0x6d,0x22,0x7c,0xcb,0x00,0x93,0xb7,0x30,0xe4,0xd2,0x26,0x14,0x29,0xd2, + 0x0c,0x75,0xd4,0x1f,0xbe,0xbd,0xe5,0x25,0x1d,0x8f,0xda,0x93,0x2f,0xde,0x3e,0x92, + 0xcf,0x60,0xa9,0xc2,0x93,0x98,0x9d,0x73,0xc1,0x13,0xee,0xa0,0x7f,0x43,0xdb,0x48, + 0x31,0x4c,0xc8,0x4e,0x67,0x13,0x1c,0x1b,0x4f,0xc8,0x3e,0xa0,0xdc,0x2c,0xf0,0xc9, + 0xc4,0xbd,0x2d,0x5a,0x21,0x77,0xb9,0xe1,0x76,0xcb,0xb9,0x0e,0x73,0xb0,0x48,0x9b, + 0xd4,0x08,0x91,0xdc,0xff,0x90,0x76,0x66,0x1b,0xa7,0x8c,0xf8,0x4a,0xe3,0x73,0x3f, + 0x79,0x7e,0xfb,0x6f,0x37,0x27,0xb7,0xe5,0x9f,0x2d,0xb6,0x8d,0xec,0xbd,0x67,0x02, + 0x8b,0xad,0x49,0x1a,0xa4,0xd9,0x2b,0x07,0xe7,0xcb,0x1a,0x24,0xae,0xf6,0x01,0xd1, + 0x7a,0x57,0x87,0x69,0xd4,0x5b,0x0f,0x42,0x33,0xd8,0xc3,0x5a,0xeb,0x7b,0xa9,0xf4, + 0x2d,0xce,0xb9,0x4d,0x6d,0x1b,0xb1,0xdd,0xd6,0x93,0x8a,0x6e,0x41,0x9f,0xa2,0xea, + 0x41,0xc1,0x08,0x9e,0x54,0x75,0x8a,0xaa,0x4c,0xdc,0xea,0xd5,0x7e,0x37,0xfc,0xca, + 0x8a,0x2f,0x59,0x71,0x8f,0xb3,0xd7,0xfa,0xd8,0x58,0xb2,0x8f,0x9c,0x8f,0x8d,0xd8, + 0x78,0xd1,0x00,0x44,0x5c,0x1d,0x4e,0xf2,0xc1,0x01,0x2f,0xd7,0x60,0x77,0x9d,0xa6, + 0x57,0xf0,0xdd,0xf5,0x9b,0xfe,0xa0,0x26,0x78,0xc0,0xed,0x83,0x8d,0x07,0x5d,0x3f, + 0xd8,0x58,0x7f,0xff,0x40,0x80,0x2a,0x6f,0x20,0x54,0xf7,0x02,0xaf,0x11,0xa7,0x93, + 0xe9,0xbb,0xab,0xb9,0x6b,0x4b,0x4b,0x3e,0x9f,0x3a,0xc3,0xad,0xfe,0xed,0x80,0xa4, + 0xcf,0x08,0x1b,0xf5,0x49,0x0f,0x5b,0xd9,0x77,0x87,0x47,0xe1,0xca,0xdb,0xd8,0x9b, + 0x9b,0xb3,0x06,0x9d,0xca,0x11,0x79,0x94,0xb1,0x8e,0x97,0x92,0x81,0x2c,0x03,0xb4, + 0x37,0x14,0x62,0x72,0xed,0x1f,0xcb,0xb3,0xc7,0xf1,0xca,0x2b,0x12,0xea,0xd9,0xe3, + 0x60,0x72,0x35,0xec,0xd1,0x72,0x74,0xd6,0x47,0x53,0x17,0x17,0xef,0xea,0x01,0x79, + 0x43,0xe0,0xbb,0x8c,0x61,0x5c,0x36,0xf4,0x3f,0x43,0x60,0x10,0xdd,0x78,0x95,0xee, + 0x2f,0xed,0x59,0xbd,0xaa,0x15,0xe5,0xad,0x2e,0x4d,0x6d,0x21,0x71,0xdd,0x0b,0x9c, + 0x21,0x44,0x47,0x46,0xe6,0x7a,0x85,0x3c,0xcc,0xaf,0x1b,0x1d,0x5e,0x4d,0x89,0x85, + 0x3a,0xc1,0xeb,0x89,0x41,0x4a,0x74,0x84,0x39,0x18,0xed,0xc8,0x52,0x27,0xc6,0x83, + 0x7e,0xb2,0x43,0xba,0x00,0xb9,0x96,0xc5,0x1b,0x07,0x76,0xae,0x55,0xf8,0xd8,0x7f, + 0x34,0xcd,0x8b,0x39,0x24,0xd7,0xab,0x42,0x67,0xa0,0xa8,0x18,0x43,0x04,0xf3,0xcd, + 0xd3,0x18,0xa7,0x06,0x98,0x2f,0x4f,0x73,0xf8,0x7d,0x07,0x30,0x0b,0x7a,0x13,0x70, + 0x52,0x96,0xf9,0xc8,0x56,0x19,0x65,0xda,0x99,0x6f,0xc4,0x4d,0x04,0xc2,0x9e,0xc1, + 0x9b,0x73,0xd2,0xd3,0xb9,0xb0,0xad,0xf0,0xf4,0x31,0xe2,0xa8,0xd1,0x04,0x65,0x4c, + 0xef,0xaa,0x6c,0x0c,0xe1,0x6c,0xb9,0x16,0x92,0x29,0xa1,0xee,0x6f,0xae,0x63,0x24, + 0xa8,0x3d,0x20,0x35,0x04,0x30,0x88,0xc9,0xaa,0x1c,0x70,0x85,0x49,0xcf,0x39,0x34, + 0xd1,0xd9,0xb7,0x94,0x1a,0x46,0x54,0x2d,0xde,0xa9,0x14,0x0e,0x23,0xe4,0xb2,0xe4, + 0x7d,0x31,0xa4,0x4d,0xb8,0xe3,0x9e,0x1d,0xcf,0xb9,0x6d,0x51,0xa2,0x5c,0x4e,0x0a, + 0x94,0x7b,0x51,0xcf,0x0e,0x3c,0xbc,0x17,0x7e,0xcb,0xff,0x61,0x97,0x14,0xd1,0xc2, + 0x29,0xa7,0x1e,0xc4,0x68,0x6f,0x73,0xe1,0x23,0xbd,0x01,0x1b,0x57,0x64,0xe2,0x05, + 0x4c,0x49,0x1d,0xce,0x04,0xc1,0x21,0x7d,0xfd,0xed,0xbb,0x3f,0x60,0xdb,0xc9,0xa4, + 0xe5,0x3a,0x6d,0xf8,0x87,0x37,0x4f,0x38,0x6e,0x44,0xff,0xf3,0x3c,0x72,0xc4,0x35, + 0xd0,0x5b,0x4e,0x04,0x15,0x81,0x78,0xd0,0x20,0x67,0x39,0x57,0x83,0x99,0x21,0x26, + 0x2f,0xbe,0x57,0xb1,0xdc,0x31,0x54,0xbc,0xa5,0xb1,0x68,0x7c,0x3e,0x56,0x02,0xc9, + 0x91,0x13,0x3c,0x49,0xe5,0x3a,0x08,0x4f,0x25,0x91,0xcc,0xa6,0xbc,0xe6,0xbc,0x5f, + 0x97,0xb0,0x2e,0x62,0xc7,0xec,0x34,0x8e,0x81,0x68,0x7a,0x97,0x37,0xd8,0x07,0xb3, + 0xc1,0xb1,0xd7,0x27,0xf0,0x83,0x81,0xc7,0x69,0xbf,0x17,0x38,0x3c,0x8f,0x66,0xd3, + 0xbd,0xd9,0xb4,0x41,0xa6,0xd8,0xf5,0xc0,0x1c,0xeb,0xce,0x4e,0xad,0xd5,0x82,0x9c, + 0xcb,0x82,0xd3,0xc4,0x3d,0xa9,0x08,0x1b,0xd9,0x3a,0x78,0x94,0x57,0xf3,0x5b,0xe6, + 0x0d,0x59,0x6f,0x4f,0xc9,0x51,0x7b,0x98,0x50,0x1a,0xb0,0xb3,0xa1,0x35,0x03,0xf9, + 0xe2,0x83,0xaf,0xbb,0x97,0x87,0xfb,0x72,0x59,0x12,0x21,0x31,0x63,0x2e,0x0d,0xe5, + 0x30,0x29,0x41,0xed,0x85,0x1c,0xad,0xde,0x19,0x08,0x52,0xaa,0xae,0xcb,0x85,0x2f, + 0x62,0x55,0xcd,0x58,0xc9,0x88,0x3c,0x4c,0x2a,0x79,0xa4,0x0e,0xe6,0x14,0x8b,0x9d, + 0xf1,0x5d,0x57,0xfc,0x66,0x4a,0x47,0x38,0x76,0x97,0xcf,0xda,0xe6,0x5e,0xba,0x4b, + 0x21,0xe3,0x7a,0x45,0x11,0x12,0x92,0x28,0xc7,0x41,0x2e,0x34,0x7d,0x0c,0x92,0xea, + 0xe4,0xc7,0xf2,0xff,0x77,0xd0,0x2d,0x6e,0xf1,0x63,0x8d,0x1b,0x9f,0xe6,0xa8,0xf0, + 0xdc,0x9f,0xf9,0xb8,0x24,0x39,0x8f,0x1e,0x1f,0x9b,0x1a,0x51,0x62,0x80,0xb5,0x4c, + 0x98,0x20,0x2d,0x37,0x1b,0xde,0xde,0xd9,0xa3,0xb7,0x0c,0x4a,0xf8,0x3e,0xd6,0xda, + 0xdb,0x3b,0x10,0x5a,0x74,0x61,0xa4,0x85,0x54,0x29,0xb0,0x3f,0xd2,0xf2,0xfa,0x23, + 0x9c,0x68,0xfb,0xe5,0x49,0x32,0x97,0xd7,0x1f,0xd9,0xc5,0x99,0x2f,0x09,0x12,0x1f, + 0xe4,0x46,0x77,0x2a,0x25,0x89,0xef,0x60,0x33,0x1e,0xec,0xf2,0xbc,0x8f,0x52,0xea, + 0x94,0x27,0x06,0xf1,0x4d,0x66,0x08,0x60,0xa3,0x6f,0x80,0x26,0x53,0x2b,0x66,0x0d, + 0x7b,0x0e,0x73,0x62,0x91,0xf4,0x7c,0x9b,0x16,0x9d,0x67,0x1f,0x6d,0xfd,0x3d,0x22, + 0xb1,0x86,0x25,0x97,0x91,0x2e,0x1f,0x73,0xf1,0xf2,0xcd,0x32,0xef,0x9a,0xdf,0x2c, + 0xa9,0x87,0x7c,0xb3,0xe4,0x11,0xf4,0xcd,0x72,0x7e,0xfb,0xcd,0x92,0x68,0xfc,0x28, + 0x5d,0x42,0x5e,0xa8,0x75,0xe5,0x91,0x1b,0x47,0x9e,0x99,0x3d,0xfc,0xec,0x2d,0x18, + 0xef,0x62,0x69,0x22,0xae,0x1f,0xd3,0x2d,0x8c,0xb5,0x7c,0x2a,0x65,0x61,0xc2,0x5f, + 0x1c,0x4f,0x18,0xa1,0xb5,0xca,0xe7,0x69,0xce,0x51,0xc5,0xd1,0x2c,0x26,0xa3,0xbf, + 0xac,0xd3,0xe2,0xfd,0x30,0xad,0xb6,0x74,0x87,0x24,0xb3,0x61,0x29,0x86,0xfd,0xa3, + 0xea,0xf3,0x7e,0x29,0x93,0x3d,0xe4,0xb9,0xf7,0x8a,0xde,0x0f,0xfb,0xe8,0xc1,0x44, + 0x22,0x74,0x6f,0xf6,0xfc,0x17,0x60,0xe4,0x41,0x5f,0xb9,0x1d,0x5b,0x37,0x94,0xa4, + 0x60,0x95,0x70,0x9b,0x9b,0xde,0x96,0x85,0xb5,0x67,0xf7,0x17,0x08,0x26,0x4d,0x26, + 0xf8,0xe9,0x98,0x0b,0xc2,0xa2,0xec,0x93,0x32,0x77,0xe2,0xa0,0xce,0xcb,0xae,0x2c, + 0xc0,0xc2,0x64,0x6a,0xfc,0x27,0xa0,0xfb,0xd4,0x7f,0x3f,0xcc,0x3d,0xe9,0x66,0x16, + 0x55,0x2b,0x9d,0x34,0xd1,0x4e,0xc1,0xf6,0xcd,0xb4,0x86,0x2c,0x03,0x50,0x0b,0x95, + 0x02,0x0b,0x7f,0x49,0x94,0xe5,0x1c,0x90,0x37,0x84,0xdf,0xd8,0xaf,0xff,0xaf,0x4e, + 0xfd,0x9f,0x27,0x8b,0xdd,0xbb,0xdc,0x35,0x9f,0xb6,0xce,0x83,0xc4,0x4a,0x48,0x3b, + 0x83,0x7b,0x39,0xc6,0x26,0x8a,0x60,0xd8,0x6e,0x1d,0xbb,0x15,0x7a,0x24,0xd9,0x25, + 0xea,0xd2,0xe0,0x94,0x26,0xc6,0x88,0xef,0xe5,0x50,0x05,0x2c,0xf2,0xd7,0x20,0x96, + 0x95,0x63,0x37,0x15,0x10,0xe3,0xcb,0x2e,0xe9,0xb2,0x73,0xc4,0xb4,0x6b,0x03,0xb7, + 0xbb,0x65,0x2f,0x75,0xce,0xe7,0x74,0xbd,0x2b,0x2e,0xf6,0x08,0x45,0x97,0x4f,0xe4, + 0x2b,0x4b,0xb1,0xf0,0x08,0x9c,0x42,0x22,0xf7,0x3a,0x4a,0x69,0x3b,0x5e,0xaf,0x16, + 0x66,0x81,0x60,0xf4,0x12,0x49,0xb1,0x25,0x10,0xaf,0x53,0x0b,0x10,0x50,0xf2,0x42, + 0xe4,0x52,0xc4,0xb5,0x10,0x95,0x98,0xec,0x23,0x24,0xa7,0xed,0xc3,0xa5,0x70,0xd9, + 0x01,0x93,0xc5,0xfe,0x74,0x6e,0x3c,0xb7,0xa8,0x76,0x9e,0xfd,0x1d,0x63,0xf5,0x46, + 0xee,0xa9,0xf1,0xce,0x2e,0xad,0x18,0xc0,0x71,0x6b,0xc5,0xae,0x77,0xd4,0xb9,0x15, + 0x3c,0x8f,0x9c,0x49,0x84,0x01,0x41,0xc3,0x53,0x27,0x5c,0x3d,0xb0,0xef,0x0e,0x68, + 0x4f,0xfa,0x7d,0xa3,0x87,0xcc,0x82,0x8f,0xa1,0x51,0x0b,0x1a,0x07,0x19,0x8f,0x3e, + 0x86,0xe4,0xf3,0xc3,0xf2,0xff,0xc2,0x5d,0x1f,0x9c,0xdc,0x6d,0x02,0x17,0xbb,0xc6, + 0x20,0xec,0x00,0x60,0xb7,0x31,0x99,0x78,0x37,0xbc,0x9a,0x72,0x18,0xc7,0x04,0xb9, + 0x2c,0x57,0x22,0x28,0x4c,0x3e,0x12,0x83,0x19,0xb1,0xc4,0x06,0xe1,0x1a,0xa8,0x4f, + 0x1e,0xf6,0xc6,0x53,0xb8,0x0e,0xb1,0x9c,0x76,0xd0,0x39,0x45,0x5d,0xfc,0x73,0xe9, + 0x56,0x08,0x92,0xc9,0xf1,0xd1,0xa3,0x56,0x36,0x6b,0x7a,0xda,0xca,0x6d,0x95,0x38, + 0x50,0x44,0x68,0x06,0xf6,0xf6,0x85,0xba,0x66,0xe2,0x50,0x25,0xc0,0x53,0x36,0xa7, + 0xab,0x3e,0x60,0xb0,0x5b,0x15,0x71,0x72,0xc3,0xbe,0xc0,0x1a,0xa1,0x45,0x80,0xe5, + 0x86,0xca,0xf5,0x38,0xe5,0xcf,0x23,0xb7,0x3a,0x8f,0xd8,0xee,0xa6,0x6e,0xc5,0x7d, + 0x93,0xe8,0xf1,0x18,0x95,0x88,0xfa,0x75,0x23,0x94,0xe1,0xbc,0xeb,0x5e,0xb2,0x1f, + 0xbc,0x65,0x1f,0x4e,0xec,0x1f,0x50,0xd0,0xab,0xe9,0x1d,0xdd,0x77,0x2a,0xbb,0x0a, + 0x54,0x8f,0x28,0xd5,0xfd,0x54,0xfd,0x0b,0x3d,0x96,0xf5,0xb6,0x8a,0x79,0xf2,0xc3, + 0x1d,0x3e,0xfe,0xf7,0x7a,0x19,0x12,0xee,0x57,0xbb,0x18,0xd2,0x0e,0xc4,0xdd,0x4d, + 0xf0,0x55,0x78,0x7d,0x09,0xb2,0xc9,0x64,0xbc,0xd6,0xf5,0x8b,0xac,0xfe,0xcc,0xba, + 0x43,0x16,0x85,0xb2,0xcd,0x48,0xd7,0xc9,0x19,0xc7,0x3b,0x53,0xe4,0x66,0x14,0x2f, + 0x42,0x18,0x77,0x64,0xd5,0x15,0xe4,0xdb,0x19,0x41,0xc3,0xbc,0x72,0xfc,0xf2,0x04, + 0x58,0x49,0xe7,0x0e,0x7b,0xa0,0xe9,0x65,0x7b,0x82,0x46,0xe0,0xb4,0x42,0x56,0xd5, + 0x08,0x68,0x03,0x27,0x00,0x77,0x40,0xc2,0xf9,0x9e,0x2d,0x52,0xd8,0x08,0xd4,0x7d, + 0x50,0x45,0xf9,0x2a,0x75,0x4c,0xd1,0xbd,0x41,0x0f,0x0f,0xd4,0x78,0xec,0x4d,0xbe, + 0xc3,0x8e,0x94,0x64,0xd2,0xd6,0xd6,0x70,0xbd,0x0a,0x55,0xd3,0xd9,0x08,0xb8,0xcf, + 0x40,0x37,0xc7,0xad,0x2e,0x5e,0x85,0xa8,0xd9,0x1f,0xa3,0xbe,0x20,0x00,0xdb,0xf1, + 0xc7,0x94,0xfd,0x6c,0xc0,0x42,0x29,0xf3,0xdb,0xfa,0x7e,0x0f,0x3f,0xb4,0xd5,0xaa, + 0x6c,0x61,0x57,0x88,0x94,0x54,0x2a,0xa5,0x0c,0x3a,0x98,0x58,0x13,0x64,0x3e,0x7e, + 0x1a,0x8c,0x3f,0x8d,0xb2,0xbd,0xfc,0x72,0x59,0xb4,0x9d,0xf0,0xe3,0x69,0x1f,0xfe, + 0x72,0x5c,0x18,0x73,0x81,0x39,0x6e,0xed,0x36,0xed,0x8b,0x4c,0xe2,0xd4,0x2c,0x5f, + 0x4f,0x89,0x40,0x8f,0x42,0x93,0xcc,0xa2,0xc8,0xf0,0x1b,0x6d,0xb5,0x17,0xe6,0x67, + 0xf1,0x8e,0x77,0x56,0x2e,0x84,0xb4,0x58,0x9e,0xe2,0xaa,0x6a,0xf0,0x7a,0x7e,0xa1, + 0xec,0xb1,0x7a,0x43,0x92,0x0e,0xf2,0x8c,0xd8,0xad,0x52,0x9c,0xa3,0x37,0xd1,0x1c, + 0x43,0x6a,0x02,0x88,0x3a,0x76,0x19,0xb8,0xca,0xc7,0xd1,0x3a,0x97,0x15,0x52,0x29, + 0x31,0x7a,0x25,0x51,0xa4,0xa0,0x65,0x65,0x96,0x45,0x36,0x7c,0x27,0x27,0x4a,0x4b, + 0x02,0x37,0x5d,0xc3,0x7e,0x82,0xe1,0x2a,0x13,0x91,0x08,0x44,0xc3,0x83,0x3a,0x7f, + 0x2d,0x89,0x45,0x4e,0x5b,0x2e,0x4d,0xe1,0x7a,0xdb,0xdd,0xce,0x85,0x12,0x90,0xc7, + 0xf3,0xd7,0xcc,0x3b,0x91,0x29,0x56,0xc3,0xa9,0x05,0x4b,0xbe,0xa3,0x51,0x3c,0x6e, + 0x06,0x5c,0xba,0xc9,0x75,0x4a,0x92,0x2d,0x27,0x89,0x4d,0xca,0x0d,0x5d,0x60,0x1a, + 0x5e,0xcc,0xe7,0xd3,0xd6,0xd6,0x16,0xf6,0x19,0xd3,0x5a,0xb8,0x15,0xb6,0x4d,0x66, + 0xa7,0x38,0xc0,0xe5,0xc9,0x17,0xd0,0x86,0xca,0x3b,0x4a,0x5e,0x79,0x7d,0x4a,0xce, + 0x7d,0x2b,0x70,0x85,0xa1,0x83,0x2a,0xfc,0x4b,0xe8,0xa1,0xc2,0xf8,0x51,0x3c,0x16, + 0x1f,0xd6,0x29,0x2b,0x25,0x44,0xa3,0x30,0x7d,0xb9,0xdc,0x6d,0xb6,0xad,0x8c,0x7c, + 0xb7,0xb5,0x1c,0x26,0xd1,0xe4,0x99,0x3b,0x8e,0x14,0xec,0x9e,0x39,0xae,0xd7,0xef, + 0xc5,0x01,0x0f,0x12,0x63,0xa8,0x26,0x24,0xda,0x5b,0xfa,0x74,0x73,0x53,0x7b,0x02, + 0x30,0x9c,0xf5,0xd1,0xfb,0x2c,0xdf,0x08,0x57,0x19,0x06,0xc1,0x29,0x66,0xf6,0x3e, + 0x05,0x22,0xa8,0xb3,0x19,0x6e,0xa5,0x36,0x97,0x27,0xb8,0xc9,0x65,0xd9,0x41,0x03, + 0xcc,0x48,0xc9,0x37,0x35,0x41,0x35,0x8c,0x63,0x50,0x5c,0x94,0x5d,0x79,0xf1,0x56, + 0x68,0x6a,0x56,0x60,0xd9,0xf0,0xeb,0x65,0xed,0xaf,0xb4,0x0a,0x88,0x7d,0xd6,0x09, + 0x4c,0x2b,0x6d,0x85,0x2f,0x3e,0x70,0x89,0xcf,0xb7,0x3a,0x70,0x63,0x11,0xfe,0xf7, + 0xe4,0x0a,0x27,0xc2,0x72,0xdf,0x2b,0x98,0xe7,0x03,0x54,0xee,0x02,0x27,0x2c,0x4a, + 0xf2,0xa5,0xc6,0xc1,0xeb,0x57,0x14,0x10,0x32,0xdd,0x79,0xd2,0xd6,0x77,0x04,0x64, + 0xfc,0x91,0x4c,0x2b,0x8f,0x43,0x13,0x45,0xe4,0x67,0x08,0x95,0x1b,0x0a,0x46,0x85, + 0xd7,0x0c,0x95,0xe0,0xb8,0x88,0x21,0xdf,0x3e,0xc3,0xd7,0x1f,0xe9,0x97,0x27,0x9f, + 0x0b,0x3c,0x30,0xdc,0x60,0x7c,0x36,0x31,0x40,0xa7,0x74,0x4d,0x87,0x34,0x24,0xe8, + 0x09,0x2c,0xfe,0x65,0x65,0xc4,0xe9,0x41,0xf4,0xfb,0xd1,0x41,0x6c,0x00,0xd9,0x23, + 0x41,0xc8,0xc2,0x98,0xe0,0x04,0x60,0xc1,0xb6,0xf7,0x75,0xe9,0x39,0x77,0x06,0xd4, + 0x6c,0x17,0x2c,0xa4,0xd6,0x7d,0xe7,0x40,0x3e,0x32,0xe0,0x08,0xbd,0x9e,0xfc,0x40, + 0x84,0xbf,0xe2,0xfe,0x3c,0x53,0xf8,0xfe,0xf0,0xc3,0xfe,0x9b,0x80,0x7d,0x4d,0x90, + 0x23,0x87,0x21,0xd9,0xed,0x66,0xf3,0xa0,0xcb,0x54,0x72,0x1e,0x8d,0xbe,0x85,0x6c, + 0x6f,0x79,0xfb,0x76,0xd1,0x17,0xe7,0x79,0x6c,0x60,0x92,0xf0,0x72,0x96,0x7d,0x02, + 0x30,0x46,0xf0,0xd5,0xcd,0x28,0x63,0x8d,0xea,0xf2,0xd3,0x0c,0xeb,0x0e,0x5a,0x85, + 0xc8,0x37,0xcc,0x4f,0x8b,0x67,0x4f,0x70,0xb9,0xff,0x96,0xae,0x5d,0xcc,0xea,0x58, + 0x54,0x49,0x95,0xb0,0x0b,0x38,0x45,0xa6,0x59,0xc3,0x2e,0x7e,0x3f,0xbb,0x2c,0x72, + 0x72,0x08,0x31,0x76,0x35,0x28,0x0b,0xd9,0x11,0xcc,0x19,0xae,0xfb,0x59,0x29,0x3f, + 0x7e,0xa6,0x7d,0xca,0x7c,0x60,0xfc,0x73,0x58,0x45,0x9b,0x4f,0x41,0xc4,0xea,0x32, + 0x66,0x9b,0x16,0x66,0x94,0xd6,0xd2,0x12,0x18,0x72,0xd0,0x09,0x8d,0xf2,0xc6,0xe8, + 0xb0,0xd4,0x7f,0x9c,0x05,0xfb,0x07,0xaf,0x03,0xfa,0x30,0xc8,0xa8,0x0f,0x64,0x7e, + 0x55,0x82,0x05,0xfc,0x39,0x7d,0x2f,0x35,0xea,0xf4,0x40,0xce,0x9c,0x71,0x10,0x97, + 0xc6,0x81,0x49,0xa0,0x99,0x28,0x88,0xd8,0xd5,0x03,0xb6,0x31,0x36,0x68,0x03,0xd6, + 0x7c,0x93,0x8b,0xc9,0xd4,0xcb,0x62,0xf3,0x80,0xa7,0x18,0x59,0x38,0xc0,0xbb,0xbe, + 0xc9,0x4f,0xd1,0x64,0xcc,0x0e,0x1c,0x79,0x8f,0x30,0xff,0xf0,0x0b,0x99,0x9f,0x74, + 0x46,0x85,0xeb,0xb8,0xcc,0xec,0xde,0xf8,0x40,0x14,0xc7,0xa1,0x09,0x79,0x1f,0x9b, + 0x09,0xb1,0x3c,0x06,0x83,0xdc,0xc5,0x0f,0x5c,0xdd,0x49,0x27,0xb4,0xa3,0xb5,0x31, + 0x4e,0x1e,0x8f,0xfd,0x99,0x70,0x9d,0x33,0x60,0x8c,0xce,0xfa,0xc4,0x70,0xfc,0xe8, + 0xf7,0x20,0x62,0x67,0x19,0xbc,0xfd,0x48,0x02,0xf1,0xac,0x11,0xdb,0xb9,0x18,0x35, + 0x17,0xf7,0xbe,0x3f,0x93,0xb7,0x3a,0xa9,0xd7,0x2b,0xcb,0xe0,0xd2,0x89,0x34,0xfa, + 0xb5,0x4a,0xa1,0x6e,0x98,0x90,0x2f,0x90,0x24,0x30,0xde,0x1f,0xbc,0x4c,0xf5,0xde, + 0xa0,0x73,0x8e,0x9c,0x2f,0x6f,0xe7,0x6c,0x13,0x2d,0x15,0xa1,0xd4,0xf1,0x24,0xc3, + 0xb4,0x2c,0xe5,0x0c,0x27,0x04,0xf5,0xd3,0xd5,0x68,0x2a,0x4e,0xdc,0xf2,0xca,0xe3, + 0x43,0xa6,0x61,0xed,0x0a,0x57,0xc6,0x9a,0x8b,0xd8,0x66,0x1a,0x9a,0x7e,0xad,0x5c, + 0xe7,0xe2,0x5d,0x9e,0x18,0x89,0xad,0x4b,0xdf,0xdc,0xe4,0xb6,0xf3,0x99,0xc6,0xc6, + 0x4f,0x29,0x57,0x01,0xd3,0x9f,0x41,0x6b,0x40,0x74,0xf1,0xe9,0x26,0xa3,0xf2,0xa9, + 0xcb,0xbb,0xed,0x38,0xa3,0xd5,0xfe,0x20,0x23,0x62,0x68,0x0e,0x0a,0xe0,0xfb,0x05, + 0xf2,0x1c,0xc0,0xe6,0x9b,0x0b,0x48,0xcb,0x43,0x6e,0xec,0x4e,0x8f,0xc7,0xa8,0x24, + 0x2f,0x06,0xe0,0xd2,0xed,0x9d,0x03,0x9a,0x19,0xd0,0x3f,0xc8,0xfe,0xbf,0x02,0x36, + 0x58,0xb0,0xd6,0x48,0xf2,0x10,0xf0,0xf9,0x34,0x03,0x1c,0xb5,0x2d,0x29,0xb3,0xe1, + 0xae,0x82,0x29,0xff,0xe5,0xfd,0x61,0x09,0xe4,0xec,0x4c,0x61,0x38,0x54,0xb7,0x03, + 0x45,0x10,0x74,0x6c,0xe9,0x09,0x45,0xea,0x8e,0xf9,0x54,0x03,0x59,0x36,0x19,0xf9, + 0xf9,0x50,0x02,0x20,0xb8,0x57,0x4e,0x59,0x5a,0xa8,0xcd,0x1e,0xc0,0xd0,0x1a,0xb7, + 0x10,0xd1,0xe4,0xfb,0xab,0x33,0xdf,0x1a,0x82,0x50,0xcd,0xa7,0x83,0x74,0xcc,0x5c, + 0xe7,0xe3,0x2e,0x80,0x9e,0x0e,0xaf,0x7a,0x7d,0xce,0x8a,0x95,0xe3,0x80,0xca,0x45, + 0xa2,0x00,0x67,0x5e,0x6e,0xde,0x9e,0x90,0xfc,0xe2,0xd7,0x41,0xc6,0xed,0x86,0x86, + 0xb9,0x76,0x51,0x78,0xf9,0xa6,0x98,0xcc,0x32,0x2f,0x9f,0xb4,0xb7,0x4b,0x6a,0x1f, + 0xd0,0xc4,0x36,0x33,0xa8,0xed,0xa9,0x80,0x93,0xeb,0x26,0x9d,0x35,0x0a,0xc2,0x72, + 0x37,0x87,0x69,0x9d,0x97,0xe4,0x37,0x55,0xb2,0x88,0x7c,0xa8,0x84,0x96,0x86,0xfa, + 0x69,0x90,0xf9,0xf0,0x4a,0x8f,0xeb,0xbd,0xd7,0xa2,0xc8,0x77,0x57,0xea,0x92,0xe5, + 0x64,0x14,0xa9,0xab,0xa0,0x0b,0x79,0x58,0xce,0xd0,0xea,0x93,0x91,0xfc,0xd4,0x59, + 0x35,0x53,0xa7,0x25,0x42,0x9e,0xc2,0xfb,0xb5,0xba,0x8c,0xcf,0xa5,0x68,0x18,0xef, + 0x7c,0xf2,0xd4,0x2b,0xb0,0x4d,0x22,0xf5,0x63,0xec,0x85,0x69,0x76,0xb1,0xc8,0xb5, + 0x5d,0xd1,0x2a,0xb9,0x3e,0x22,0x21,0x59,0xc1,0x17,0x93,0xf1,0x12,0x0c,0xbb,0x4b, + 0xd8,0x4f,0xa3,0x38,0x9a,0x2d,0x79,0xb1,0x65,0x74,0x7a,0xfc,0x42,0x18,0x8c,0xca, + 0x4c,0x40,0xed,0xa3,0x9a,0x60,0x81,0xbd,0x61,0x3d,0x7f,0x2b,0x6a,0xa4,0x00,0x32, + 0x88,0x59,0x40,0xc9,0x5c,0x55,0x46,0x11,0x71,0xd4,0x10,0x4b,0x7a,0xe5,0x33,0xcf, + 0x90,0xfa,0x1d,0xa9,0x4d,0x74,0xd6,0xe1,0xb7,0xc0,0x7c,0x98,0x8c,0xcb,0xab,0x0b, + 0xd9,0xef,0x9a,0xdc,0x93,0x79,0xc7,0x78,0x78,0x67,0xf2,0xf1,0xcb,0x9a,0x36,0xde, + 0xcb,0xf6,0x67,0x66,0x4a,0x35,0xa6,0xa1,0x3c,0x8a,0xc0,0xc5,0xec,0x22,0xd6,0x9c, + 0x12,0xc7,0x9c,0x47,0xd9,0xcd,0x98,0x16,0x6f,0x3c,0xae,0x19,0x8a,0x4b,0xb5,0xb0, + 0x88,0xba,0x42,0xb6,0x6a,0x8a,0xa1,0x8b,0xa6,0x3f,0x75,0xda,0xf1,0x1d,0x2b,0x53, + 0x59,0xd5,0xea,0x91,0x2a,0xe0,0xd2,0x5a,0xab,0xc0,0x83,0x05,0x96,0xfb,0xbd,0x65, + 0xb7,0x3f,0xef,0x94,0x3a,0x11,0x8b,0x79,0xda,0x50,0x1b,0x76,0xa8,0xc0,0x67,0xb6, + 0x1b,0x83,0x88,0x9c,0x61,0xaf,0xf7,0xdf,0x56,0xe6,0x09,0x3a,0xd3,0x55,0xd9,0xd8, + 0xff,0xf2,0x4d,0xae,0x09,0xdc,0x7f,0x9f,0xe7,0x9f,0x4c,0xdd,0x22,0x91,0x60,0x67, + 0x35,0x60,0xc2,0x18,0x9e,0xb9,0x05,0xb9,0xe8,0xf9,0x64,0x76,0xbf,0x5c,0x09,0x91, + 0x18,0xad,0xfd,0x8c,0x87,0xb9,0x8a,0x58,0x93,0x8f,0xc7,0xb9,0x25,0xa3,0x35,0x13, + 0xc9,0x03,0x21,0xf0,0xe2,0x6a,0x4e,0x92,0xbb,0x12,0x24,0x88,0xb2,0xce,0x08,0xdd, + 0x19,0xc4,0x0a,0x26,0x69,0xfe,0x7c,0x56,0x7b,0x49,0xbf,0xa5,0xf9,0x31,0xa8,0xd7, + 0x55,0x7f,0x42,0x3d,0x42,0xdd,0x4b,0x87,0x27,0x1b,0x27,0xc5,0x12,0xfd,0xb7,0x97, + 0xff,0x6d,0x56,0xe8,0x72,0xdf,0x1c,0x3b,0x04,0x84,0x82,0x05,0x4e,0x8e,0x8c,0x33, + 0x66,0x09,0x4d,0x29,0x41,0xb7,0x7f,0x01,0x41,0x45,0x0e,0xc6,0x9a,0x09,0xb6,0x6d, + 0x24,0x4d,0x3f,0x2f,0xc5,0xc7,0xdb,0xf2,0x6a,0x3c,0xc3,0xc8,0x61,0xa2,0x14,0x11, + 0x84,0x13,0xf7,0x4a,0xf3,0x4a,0x6d,0xd3,0x15,0x7f,0x6a,0x84,0x01,0x95,0x58,0x62, + 0x7c,0x9b,0x3b,0xb8,0x4b,0x72,0x33,0x0d,0x3c,0xf2,0x5a,0xcf,0x5f,0x75,0xcb,0xef, + 0x62,0x96,0xa0,0x05,0xb4,0x65,0x30,0x18,0x03,0xf9,0x12,0xc8,0x17,0x90,0x9c,0xab, + 0x88,0x83,0x68,0xbb,0xce,0xae,0x03,0x51,0xaa,0x83,0xe4,0x2a,0xeb,0x56,0x90,0xf8, + 0xfb,0xe1,0x8f,0x86,0xc9,0x5f,0x4d,0x24,0xf0,0x5b,0x84,0x02,0xef,0x97,0x10,0x69, + 0x0e,0x73,0xad,0x13,0x7e,0x49,0xc7,0xe4,0xa5,0xf3,0x5a,0x80,0x97,0xc1,0xfc,0xaa, + 0xa7,0x1f,0x69,0x56,0xd3,0x8f,0x78,0x39,0x77,0xbe,0x9a,0x0b,0x4c,0xa4,0x7f,0xa5, + 0xc5,0xad,0x25,0xe2,0xcc,0x87,0x80,0x3f,0x6c,0x1b,0x69,0x76,0x3a,0xcc,0x57,0x3e, + 0xc6,0xbd,0x92,0xb3,0x5c,0x47,0x5f,0xb2,0xf2,0x64,0x79,0xa6,0xe9,0xec,0x9a,0x90, + 0xeb,0x4a,0x48,0x2f,0xbb,0x22,0x83,0xf6,0xbd,0x60,0x81,0x1b,0xdc,0xa5,0x7d,0x8b, + 0xd0,0x07,0x33,0x4a,0xad,0x32,0x3f,0x0b,0x5e,0x7b,0xc5,0x2a,0x6b,0xf1,0x3e,0xad, + 0x59,0xbd,0x05,0xb8,0xe0,0xa1,0x54,0xda,0x6a,0xe2,0xe7,0x0a,0xb7,0xc6,0x39,0xf8, + 0x01,0xec,0xf6,0xf3,0xcf,0x73,0xf4,0x6d,0xb5,0x0e,0xc0,0x37,0x36,0x0c,0x90,0x6f, + 0x1d,0x8c,0x50,0x75,0x6a,0x77,0xd6,0xa1,0x48,0x04,0xda,0x6b,0xae,0xe6,0x9f,0x4f, + 0x3f,0x9f,0x0e,0xb9,0xbb,0xe0,0x39,0xe0,0x17,0xe2,0xcb,0x29,0xf1,0x27,0xba,0xa1, + 0x25,0x1d,0x78,0xe3,0x64,0xd6,0xe6,0x3c,0xed,0xf4,0x84,0xa1,0x7d,0x8c,0x02,0x76, + 0x57,0x13,0xcc,0x21,0x45,0x33,0xb8,0xb9,0xe6,0x8e,0x66,0x66,0xba,0xb0,0xa8,0x30, + 0xbc,0xe2,0xb1,0x79,0x15,0x24,0xd5,0xdf,0xb6,0x77,0x9e,0xdd,0xc2,0x7f,0x5d,0x00, + 0xc9,0x93,0x91,0x0e,0x99,0x3f,0xac,0xca,0x35,0xcd,0x90,0x07,0xc0,0x44,0x70,0x5d, + 0x88,0xb4,0x96,0x19,0xda,0xad,0x87,0x98,0xf9,0x87,0xc1,0x36,0x3c,0x2e,0x59,0x8f, + 0x24,0xc3,0x3a,0x23,0x5a,0x9a,0x6c,0x3f,0x5b,0xee,0xee,0x2c,0xe1,0x9a,0xef,0x0a, + 0x6b,0xc0,0x21,0xa6,0x5f,0x3c,0xd8,0x05,0xdd,0x90,0x32,0xa2,0x37,0x39,0x2f,0x49, + 0x42,0xfe,0x08,0x43,0x85,0x20,0x83,0x1c,0x1a,0x8b,0x70,0xa6,0xae,0x18,0x2c,0x9a, + 0xf5,0xed,0x9d,0x26,0x79,0x43,0xd4,0x96,0xc2,0xca,0x11,0x4a,0x11,0x32,0xba,0x03, + 0x16,0x56,0x5c,0x9c,0xf5,0x67,0x14,0xd4,0x30,0x30,0xa9,0x70,0xa3,0xaf,0x2d,0x73, + 0x7e,0xda,0xe0,0x43,0xd1,0xc6,0x40,0x14,0x1c,0xd4,0x52,0xbf,0x1c,0x04,0x9c,0x18, + 0xe4,0x89,0xd6,0x90,0xd2,0x6e,0x75,0xdb,0xeb,0x63,0xd0,0x09,0x53,0xe8,0x11,0x62, + 0x28,0xeb,0x6b,0x77,0xd0,0xcf,0x47,0xf2,0x59,0xda,0x8e,0x08,0xde,0x51,0x52,0x8d, + 0x6f,0xc0,0xc6,0x4a,0x68,0x9e,0xb0,0x0d,0x90,0x6c,0x28,0x32,0x17,0x81,0x6c,0x33, + 0xd1,0x2f,0x27,0xc6,0x87,0x3e,0x5d,0x7c,0xa6,0x3e,0x70,0x76,0x36,0x38,0xf5,0x1a, + 0x73,0x84,0xd9,0x72,0xd0,0x00,0x9e,0x8c,0x37,0x5c,0x00,0xc3,0xa6,0xf9,0x37,0xde, + 0x3d,0x61,0xc7,0x50,0x70,0x65,0x38,0x84,0x46,0x8d,0x24,0x6f,0x63,0x32,0x1e,0x12, + 0x59,0xfb,0x94,0x12,0x50,0x4a,0x9d,0x52,0x02,0x52,0x21,0xcc,0xcd,0x71,0x5e,0x96, + 0x79,0xc5,0xc8,0x7e,0xd9,0x62,0xe9,0x6b,0x5e,0xde,0x70,0xba,0xcb,0x55,0xb4,0xdb, + 0x15,0x75,0xf0,0xa8,0x19,0xa4,0x34,0x25,0x69,0xd7,0xe6,0x1d,0x78,0xc3,0xc7,0xc4, + 0xbe,0x1a,0xab,0x30,0x61,0x0f,0x3d,0x5b,0x89,0x67,0xd4,0xc1,0xf0,0x64,0x47,0x98, + 0xfc,0x0e,0xe0,0x29,0x33,0xf2,0xd9,0x93,0x3b,0x0f,0x50,0x0a,0x15,0x78,0xf3,0xb2, + 0x3e,0xc3,0xd5,0x98,0x55,0x17,0x3d,0xc9,0xc2,0xb0,0xd4,0x70,0x79,0xba,0x29,0xb4, + 0x9c,0x1f,0x69,0x53,0xf8,0x9f,0x9b,0xa3,0x6d,0x45,0x15,0x93,0xc3,0x75,0x86,0xc4, + 0x69,0xc8,0x02,0x5c,0x01,0xfc,0x8c,0xc1,0xe5,0xac,0x1c,0x2f,0xb0,0xfe,0xd2,0xd1, + 0x06,0xf6,0x0d,0xe0,0x75,0x62,0x49,0x13,0xce,0x0c,0xab,0x35,0x1c,0x7e,0xcf,0x06, + 0xc0,0x27,0xab,0x57,0xac,0x81,0x09,0x3c,0x9f,0x8f,0xde,0x23,0x81,0xf3,0x07,0x94, + 0x00,0x72,0x96,0xdb,0xcb,0xa2,0x2b,0xb1,0x5d,0x46,0x83,0x35,0x63,0x89,0x58,0xaf, + 0xd0,0x4b,0x40,0x2a,0xcb,0x20,0x5a,0x06,0x5d,0x0c,0x00,0xf4,0x2e,0xb3,0x7e,0x34, + 0xee,0x66,0x24,0xe7,0xf9,0x55,0xdf,0x32,0x7e,0x42,0xee,0x5f,0x28,0x41,0x57,0xb7, + 0xda,0xad,0x7a,0xa7,0x0d,0xee,0x81,0x74,0x75,0x62,0x66,0xcd,0xb2,0xfb,0x3f,0x1d, + 0x04,0xf6,0x07,0x06,0xb7,0xce,0x51,0x12,0xc7,0x66,0xd0,0x9e,0xb8,0xd4,0xe8,0x4e, + 0x60,0xdc,0x32,0xf5,0xbb,0xec,0x94,0xfa,0x0a,0x95,0xef,0xc1,0xfa,0xcc,0x09,0x66, + 0x27,0x6d,0x29,0x89,0x9f,0x4b,0xea,0x2b,0x9c,0x97,0xd5,0xcc,0xb9,0xe6,0x35,0x3c, + 0x94,0x7b,0xf2,0x45,0x14,0x90,0x57,0xef,0x93,0x80,0x62,0x43,0x74,0xcc,0xc9,0x16, + 0xfb,0x79,0x95,0xe9,0x45,0x32,0xe7,0xaa,0x0d,0x3a,0xd7,0x42,0x36,0x73,0x83,0x5f, + 0xe3,0x2c,0x9d,0x61,0x9c,0x91,0x77,0x1f,0x47,0xd7,0x21,0xd9,0x99,0x6e,0x29,0xdb, + 0x3d,0xec,0x43,0x6e,0x2e,0x5a,0x34,0x7c,0x5e,0xc1,0x9c,0x13,0xd3,0x2b,0xf1,0x97, + 0x6c,0x5d,0xc8,0x56,0xc6,0xf8,0xc7,0xf6,0xc6,0x29,0x1f,0x3e,0x01,0xae,0x7c,0x26, + 0xd7,0xc5,0xfe,0xd7,0x87,0xa6,0x85,0x87,0xe8,0x3f,0x64,0xe1,0x21,0x6f,0x1e,0xa4, + 0xbb,0xf3,0xfd,0x89,0x15,0xaa,0xf6,0x6c,0xe1,0xe7,0x38,0xe7,0xe9,0x85,0x36,0xdf, + 0x0c,0xe6,0x7d,0x97,0x92,0x1a,0x58,0xde,0x4c,0x75,0xdd,0x43,0x75,0x67,0x63,0x0c, + 0x4e,0xb5,0xb8,0xab,0xc3,0x03,0x24,0x2f,0x89,0x1f,0xcb,0x2e,0xb6,0x83,0x8c,0x49, + 0xec,0xb5,0x78,0x5f,0x4d,0x9d,0x86,0xf3,0x8f,0x70,0x7c,0x43,0xb4,0xdd,0x0c,0xe8, + 0x76,0x1c,0x7b,0xd0,0x87,0xc6,0x91,0xfc,0xfd,0xcd,0x94,0x2d,0xb1,0x47,0x13,0x63, + 0x9a,0x5d,0xb1,0x03,0x22,0x62,0xe2,0x05,0x1f,0x5f,0x1a,0x8a,0x30,0x5c,0xe5,0x8b, + 0x34,0x8b,0x63,0x25,0x97,0xb8,0xd6,0x75,0x24,0xbd,0x78,0xe1,0x93,0x91,0x2a,0x48, + 0x8e,0x8c,0x74,0xa2,0x51,0x2b,0x16,0x64,0xf3,0x8c,0x51,0xae,0x32,0xe4,0x40,0x76, + 0x8e,0xe6,0x1b,0xd0,0x80,0x77,0xf3,0x69,0x0f,0x3a,0xd0,0xce,0x93,0x05,0x5b,0xb4, + 0xbc,0x18,0x4c,0x7a,0xc8,0x61,0xbe,0x9b,0xd2,0x8d,0xbe,0xa6,0xba,0x9a,0xb9,0xe6, + 0xf1,0xbd,0x21,0x73,0x8b,0x1d,0xd1,0xaa,0x9a,0xcf,0xae,0xa3,0x98,0xa5,0xb1,0x9a, + 0xe4,0x1a,0x27,0x61,0xc4,0xe8,0x9c,0x97,0xf2,0xc9,0x01,0x37,0x3b,0x27,0x32,0x6b, + 0x1a,0xf4,0x2c,0x2e,0xe2,0x8f,0xe1,0xa4,0xf9,0xce,0x41,0x65,0x58,0xb9,0xe1,0x64, + 0xe6,0x29,0xd1,0x26,0x4c,0x26,0x49,0x65,0xe2,0x8a,0x46,0xeb,0xdc,0xf0,0x9c,0x96, + 0x4d,0x72,0xbe,0x9b,0x48,0xe1,0x48,0x0f,0xce,0xb0,0x0e,0x5c,0x99,0xef,0xd6,0x2b, + 0x29,0xd7,0xbe,0x4f,0xae,0x85,0x68,0xac,0xd4,0xaa,0x33,0xcf,0xab,0x32,0xab,0x60, + 0xe7,0xf9,0x37,0xb3,0x37,0x07,0x32,0x0b,0x29,0x02,0x7b,0x12,0x3c,0x94,0x66,0x13, + 0x6c,0xf9,0x17,0xac,0x82,0xeb,0xcf,0x74,0x2d,0xa4,0x39,0x1d,0x9d,0xbd,0x50,0x80, + 0x92,0x6d,0xad,0xff,0x9c,0x9b,0x29,0x32,0xa7,0x0f,0x7c,0x6e,0xb2,0xaa,0xc3,0x2b, + 0x2e,0x9b,0x9e,0xb7,0x8a,0xa8,0x82,0xa4,0x9d,0xfa,0xee,0xee,0x33,0x33,0x3d,0xbb, + 0x64,0xf1,0x84,0xa3,0x73,0x4d,0xb1,0xf4,0xf7,0x14,0xf7,0x6e,0x36,0x31,0xa9,0xb4, + 0x0d,0x2c,0x73,0xe5,0x8d,0x5b,0xeb,0xf9,0x94,0x48,0x3b,0x7a,0x1f,0xc8,0x58,0x8b, + 0x48,0xc4,0x1b,0x97,0x32,0x19,0xf6,0xf3,0x71,0x19,0x5a,0xc4,0xb5,0x71,0x69,0xcd, + 0xf9,0xa0,0xdc,0x94,0x30,0x2e,0x79,0xb7,0x23,0x49,0xfb,0x4f,0x56,0x3e,0xd2,0x6d, + 0x8a,0x57,0x7f,0x0b,0xf2,0x84,0x80,0x66,0x5e,0x96,0x6c,0x0e,0x5c,0x03,0xdc,0x43, + 0x9f,0x07,0x38,0x4e,0x92,0x02,0xf3,0x52,0xac,0x56,0x16,0x58,0xbb,0xd2,0xe2,0x6b, + 0xbb,0x58,0x15,0x64,0xe3,0x11,0xeb,0x20,0xde,0xbe,0x79,0x8f,0xa3,0x1b,0xde,0x03, + 0xc8,0x61,0xb6,0x5a,0x71,0x7b,0x2d,0xc3,0x99,0x1a,0xe4,0x55,0xe4,0x6a,0x4c,0x1b, + 0x71,0xc9,0xae,0x09,0x0e,0x6d,0xa2,0x54,0xe2,0x01,0x80,0x5f,0x55,0xc3,0xb8,0x38, + 0x05,0xaa,0x31,0xcd,0x2e,0xcb,0x90,0x34,0x8c,0xeb,0x62,0xe1,0x81,0xc6,0x71,0xb0, + 0xf2,0x72,0x63,0xce,0x5c,0x74,0xf3,0x48,0xba,0x0b,0x6c,0x24,0x99,0xc2,0x8a,0x60, + 0x33,0x56,0x44,0x2e,0xa4,0xd5,0xd7,0xde,0xd0,0x92,0xe7,0x6a,0xa4,0x2b,0xc7,0x2e, + 0xa6,0x63,0xb2,0xf5,0x62,0xc0,0xcc,0xcd,0x46,0x2d,0x2b,0x8a,0x33,0xf9,0x0e,0x6e, + 0xb3,0x5c,0x59,0x51,0x5d,0x9a,0x2c,0x94,0x1e,0xd0,0x62,0x56,0x0b,0xb3,0x09,0x46, + 0xc7,0xc8,0x17,0x0a,0xdd,0xd9,0xa0,0x77,0xde,0xb7,0x66,0x93,0x43,0xc8,0x55,0xf4, + 0x79,0x11,0x42,0xe6,0xf3,0xaa,0x5c,0x19,0x7a,0xc0,0x29,0xf7,0x23,0x95,0x05,0x7d, + 0xc9,0xc2,0x0b,0xbf,0x81,0x48,0xa1,0xd9,0x2d,0x6c,0x6a,0x9d,0x9c,0xdd,0xce,0x15, + 0x1f,0x6b,0x1a,0xd8,0xcc,0x94,0x49,0x89,0x10,0x60,0x3c,0x6f,0xdb,0xc0,0xb2,0xb1, + 0x50,0x68,0x62,0x85,0xa4,0x39,0x70,0xd2,0x50,0x05,0xa4,0x26,0x38,0x60,0x58,0xd6, + 0x8e,0x68,0xbf,0xa1,0x57,0x15,0x84,0xe2,0x1b,0x74,0xcc,0x40,0x3e,0x12,0xd5,0x37, + 0xb3,0x0e,0x19,0x9c,0x2f,0x21,0x52,0xdd,0x5a,0xf7,0x61,0x99,0x37,0x2f,0x4a,0x91, + 0x7e,0x94,0x27,0x37,0x1d,0x1d,0xd2,0x8f,0xef,0xf6,0x3f,0xfc,0x54,0x68,0x92,0x24, + 0x58,0x4f,0x7f,0xa4,0x9b,0x58,0x2f,0x89,0x37,0xe8,0xe4,0xc6,0x9b,0xaa,0x89,0xa5, + 0xdd,0xd5,0x90,0xbc,0xc8,0xaf,0xd9,0xd9,0x72,0xde,0xb9,0x8f,0x6e,0xbe,0x12,0xdd, + 0xd1,0x0a,0x74,0x67,0x1d,0xe3,0xd5,0x95,0x33,0x75,0xc6,0x62,0x2c,0x48,0x47,0x7f, + 0xb4,0x32,0x87,0x72,0x56,0x8c,0x03,0x27,0x43,0xa3,0x8f,0xd3,0xec,0xac,0xe8,0x29, + 0xe1,0xc0,0x42,0xcb,0xa0,0xa9,0x03,0xc0,0x41,0x02,0xd9,0x71,0xc0,0x9b,0xde,0x66, + 0x33,0x41,0xdf,0xa7,0x6d,0x19,0xc1,0x5f,0x0c,0x20,0x41,0x76,0x5c,0x24,0x48,0xcc, + 0x91,0x8c,0x2b,0x70,0x74,0xba,0x74,0x0a,0x6c,0x0a,0x4b,0x02,0xac,0x7a,0x03,0x6c, + 0xa4,0x19,0x8b,0xe3,0x0d,0x84,0x67,0x83,0x5f,0x3b,0x59,0x74,0x8e,0xce,0xa5,0x36, + 0x42,0x58,0xef,0xf3,0x87,0x83,0x11,0xac,0x25,0xf9,0x94,0xe9,0xdd,0x99,0x81,0x78, + 0x91,0xda,0x16,0x40,0x10,0x77,0x3f,0xe6,0x70,0xf0,0xe1,0x3c,0xa7,0x6e,0x1d,0x2f, + 0x72,0x17,0x00,0x57,0xc8,0x78,0x46,0x96,0x76,0xec,0x09,0x80,0x6f,0x8c,0xe0,0x23, + 0x03,0xa5,0xf8,0x2b,0xe1,0x53,0x01,0xcc,0x2f,0xcf,0xe1,0x27,0xb9,0xca,0xb3,0xa3, + 0x17,0x45,0xe2,0xaa,0x32,0x8c,0x84,0x43,0x4a,0x66,0xc8,0xff,0x74,0x8a,0x17,0x43, + 0x55,0x6d,0xdb,0x0f,0xe3,0xac,0xd6,0x10,0x49,0xee,0x7b,0x3b,0x42,0x88,0x8c,0x6f, + 0xa3,0x3c,0x43,0xb2,0xc3,0x46,0x4f,0xb6,0x75,0xa1,0xcd,0x98,0xf4,0xda,0xbe,0x71, + 0x22,0xd6,0x91,0x3f,0xa2,0x07,0xf4,0x3b,0x63,0x76,0x57,0x36,0x68,0x90,0xfa,0x7c, + 0x0e,0x5f,0x25,0x81,0xf5,0xdf,0xd6,0x96,0x68,0xf5,0x47,0x23,0x74,0x19,0x99,0x9b, + 0x07,0x19,0x09,0xdb,0x3e,0x1d,0x05,0xf2,0xaa,0xa1,0x1d,0xb0,0x37,0x54,0xf6,0xe5, + 0xc0,0x3a,0xf8,0x0d,0x76,0xfc,0xad,0x35,0x2c,0x39,0x69,0x76,0x3f,0xea,0xbd,0xaf, + 0xdb,0xb4,0x08,0x34,0x96,0x7e,0xf4,0x86,0xd3,0xc7,0x90,0x02,0xc0,0x09,0xe8,0x07, + 0x98,0x0a,0xcd,0x6e,0x61,0xa3,0x72,0x6b,0xc7,0xd6,0xbf,0x11,0xa3,0x20,0xfe,0x1e, + 0xf3,0xdf,0xd5,0x71,0x2e,0xb5,0x2f,0xf9,0x03,0x37,0x96,0x72,0xe6,0x2b,0x49,0x9a, + 0x97,0x49,0x9a,0x33,0x49,0x73,0x90,0x34,0xaf,0x24,0x89,0xbf,0xc7,0xf3,0x2f,0x27, + 0x69,0x2e,0x24,0x39,0x36,0x28,0x87,0xaf,0xdf,0x1d,0xb1,0x18,0x92,0x7b,0x17,0x89, + 0x3e,0x98,0x95,0x81,0x59,0x64,0x20,0xf9,0xf4,0x2a,0x83,0xe2,0x36,0x5f,0xf3,0x5e, + 0x60,0x5f,0xc7,0x1b,0x56,0xd9,0x19,0xf1,0xcc,0x2b,0xdf,0xe8,0x8d,0x95,0x02,0x4f, + 0x9f,0xee,0x3e,0x6d,0x07,0x4d,0x5a,0xce,0x67,0x01,0xe2,0xe9,0x06,0xee,0xc9,0x06, + 0x92,0x67,0xa2,0xb9,0xd5,0x47,0xfe,0x60,0x6d,0xb9,0xf5,0x91,0x3f,0xcc,0x81,0x9f, + 0xa4,0x00,0xff,0x06,0x51,0xbe,0x72,0x08,0xba,0x58,0x0b,0x60,0x13,0x9f,0xaf,0xc4, + 0x63,0x81,0xa6,0xdd,0x43,0x41,0x39,0xbf,0xb2,0xc0,0x80,0x26,0x18,0x32,0xac,0xdf, + 0x80,0x15,0xdd,0x82,0xb6,0x20,0x77,0x5b,0x0b,0x63,0x1e,0x83,0x07,0x32,0x05,0x10, + 0xfa,0x30,0xf5,0x40,0x9b,0xcb,0x93,0xd9,0x7f,0xfe,0x71,0x14,0xe4,0xaf,0x74,0x52, + 0x60,0xe6,0xc6,0x2c,0x78,0xd9,0xdb,0x79,0xfa,0x74,0xfb,0x07,0x7c,0xa3,0xe8,0x8f, + 0x30,0x1b,0x1f,0x5f,0xca,0x4a,0xcc,0xa0,0xc8,0x27,0xfd,0x50,0xe6,0x4e,0xc2,0xce, + 0x93,0xb5,0x2c,0x28,0x5b,0x14,0xc1,0x24,0xe1,0x73,0xdf,0x24,0xe0,0x43,0xac,0x83, + 0xc3,0xbf,0x62,0x3d,0xc5,0x1b,0xa8,0x6c,0x0b,0xf2,0xf0,0xa9,0x7b,0xfe,0x70,0xf4, + 0xdf,0xef,0x5f,0x1e,0xa6,0x21,0xa9,0x72,0x51,0xd7,0x29,0xf6,0x3d,0xfd,0x64,0x7e, + 0x3b,0xff,0x44,0xf6,0x76,0x28,0x22,0x31,0xcb,0xeb,0xe4,0x7c,0x36,0xfd,0x84,0x64, + 0xfe,0xa5,0x3e,0x97,0x74,0x50,0xc4,0x27,0xca,0x45,0x9b,0x29,0x48,0x06,0xc4,0x79, + 0x4d,0x8c,0x6e,0xa2,0x03,0x70,0xec,0x46,0xe6,0x50,0x22,0x27,0x98,0xd6,0x3e,0x19, + 0x6e,0x85,0xd6,0x10,0x2f,0x4a,0x3f,0x78,0xf7,0xe6,0xfd,0xfe,0xdb,0x57,0xef,0xde, + 0xaa,0xa9,0x92,0x7b,0xa8,0xa2,0xa7,0xc6,0x95,0x27,0x29,0xab,0x8c,0x37,0x2e,0xcc, + 0xf9,0xe5,0xc3,0xed,0x2f,0xfe,0x65,0x63,0x0b,0xcf,0x04,0x84,0x9f,0x4a,0x78,0xe1, + 0x47,0x68,0xaa,0xfa,0x7c,0x23,0xac,0xb2,0x20,0x93,0xab,0x6f,0xdc,0xd7,0x78,0x7b, + 0x73,0x26,0xc6,0x59,0x72,0xd6,0x85,0xe1,0xc6,0x04,0x10,0x94,0xad,0xd8,0x62,0xcd, + 0x25,0xd5,0xb6,0x05,0xf9,0x47,0x7c,0x86,0x02,0x34,0x60,0x68,0xce,0x37,0x18,0x71, + 0x06,0x3e,0x88,0xa0,0x53,0x50,0x81,0x68,0x05,0xf2,0xc1,0xce,0x7d,0x36,0x21,0x75, + 0x65,0x4e,0x42,0x9f,0x37,0x77,0x16,0x2a,0xdb,0x02,0x43,0xd0,0x50,0x8d,0x02,0xf3, + 0x25,0x90,0x4f,0x9c,0x13,0xb4,0xd3,0x5e,0xc0,0x06,0xe3,0xf1,0x22,0x67,0x9a,0xea, + 0x92,0x91,0xac,0xaf,0x06,0x53,0x3a,0xd2,0x30,0x88,0xd0,0x71,0x55,0x65,0x54,0x10, + 0x0b,0x7a,0xb8,0xbf,0xa2,0x03,0xf3,0x2f,0x1b,0x14,0x0c,0x6e,0xf3,0xb1,0xec,0x1e, + 0x79,0x2b,0x6a,0xc9,0x0c,0x0e,0x31,0x08,0xe3,0xc7,0x93,0x1e,0x94,0xd2,0x73,0x4b, + 0x94,0xc4,0x89,0x19,0x54,0x3c,0x44,0xa0,0x86,0x94,0x02,0xfa,0x42,0xb7,0x51,0x6a, + 0x4b,0x41,0xec,0x7a,0x73,0x6d,0x49,0x9c,0x87,0x17,0x8c,0xba,0x86,0x36,0xc5,0xe8, + 0xfe,0x1a,0x03,0xb4,0x12,0x83,0x2a,0x6d,0x06,0x63,0x66,0xe7,0x04,0x1b,0xf8,0x71, + 0x19,0x96,0x55,0xd7,0x62,0x0b,0x0d,0xaf,0x30,0x23,0x8d,0x84,0x5b,0x3a,0x1c,0x97, + 0x7e,0x33,0x62,0x32,0x3e,0x5c,0x61,0x2e,0x13,0xf5,0xb3,0xce,0x90,0x93,0xf1,0x1a, + 0x2a,0x78,0x08,0x93,0x66,0x9d,0x7e,0x57,0xc1,0x05,0x02,0x17,0x28,0xa0,0x36,0x1a, + 0x93,0xd7,0xb9,0xb1,0x58,0x22,0x2b,0xe3,0x4c,0xfb,0x90,0xbc,0x13,0x1e,0xfd,0x9a, + 0xf3,0xac,0xa5,0x5b,0xa0,0xe7,0xd4,0xe4,0xf5,0xc9,0x8c,0x2f,0xfe,0xbf,0x08,0x9e, + 0x93,0x5e,0xf5,0x45,0x68,0x9d,0xa1,0x15,0x6c,0xb6,0xf8,0xab,0xd9,0x9b,0xd2,0x1e, + 0xe8,0x1f,0xda,0x4d,0xe8,0xf4,0x0c,0xea,0x47,0xb6,0xfd,0x83,0xf5,0x8a,0x6c,0x9d, + 0x84,0x10,0x82,0x94,0x3e,0x92,0x5b,0xc2,0x24,0x4a,0x2b,0xf7,0x90,0x3e,0xfc,0xb2, + 0x9d,0xf3,0x59,0x96,0x68,0xd0,0x26,0xe3,0x2d,0xac,0x37,0x7d,0xc3,0x48,0x1e,0xa2, + 0xbc,0xd5,0x65,0xd4,0x8e,0x2d,0x24,0x3f,0xa3,0xb9,0xd8,0x10,0x52,0x4f,0x49,0xd6, + 0x99,0xd8,0x0d,0x32,0xf6,0x73,0x6a,0x9f,0xc0,0xe3,0xf8,0x5f,0x0f,0xde,0x69,0xcf, + 0xa5,0x42,0x43,0xac,0x10,0x82,0xe8,0x67,0x1a,0xc3,0x7a,0x76,0xdc,0x32,0x73,0xe7, + 0xf7,0xcd,0xef,0x9b,0xb1,0x75,0x12,0x2f,0x68,0xf0,0x58,0x89,0x45,0x0f,0x52,0x45, + 0x95,0xca,0xa3,0x60,0x22,0x27,0xdc,0x5d,0x51,0x96,0x82,0x2f,0x47,0x07,0xef,0x0b, + 0xde,0x62,0x4a,0x16,0x93,0xd2,0xaf,0x37,0x37,0xfd,0x52,0x8b,0xcf,0x72,0xb5,0xe3, + 0xb5,0xd6,0x45,0x3d,0x5f,0xd1,0x7a,0xaf,0x6d,0x91,0x66,0x7a,0xb8,0x89,0xd1,0xfa, + 0x6c,0x6a,0xeb,0x68,0xcb,0x32,0x4a,0x9c,0xcc,0x3a,0x6a,0xf9,0x68,0x7c,0xdc,0x78, + 0xb5,0xab,0xb2,0x96,0x2c,0xe5,0x74,0x0f,0x67,0x13,0x51,0x02,0xdc,0xad,0x40,0x35, + 0xa6,0x0d,0xe9,0x50,0xe7,0x46,0x39,0x37,0x06,0xb9,0x3a,0xf3,0xe9,0xfc,0x5b,0x8d, + 0x00,0x1d,0x4a,0x74,0xa4,0x52,0x1d,0x36,0x49,0xe1,0x14,0x64,0xc1,0x73,0x5d,0x36, + 0xff,0x56,0xce,0xaf,0xb0,0x46,0xf9,0x6a,0x6b,0x12,0xac,0x80,0xfc,0x35,0xc8,0xff, + 0x25,0x6d,0x31,0xfe,0x3f,0x5b,0x0c,0x35,0x6c,0xf0,0xad,0xc3,0xa6,0xb3,0xc1,0x35, + 0xe4,0x95,0x2e,0x08,0xc5,0x88,0x62,0xb5,0x09,0x47,0x50,0x6d,0xe7,0xb0,0xde,0xb4, + 0x23,0x58,0x6f,0xda,0xf1,0x85,0x26,0x12,0xc1,0xbf,0x6e,0x22,0x11,0x7c,0x85,0x89, + 0x84,0x20,0x58,0x73,0x1e,0xff,0xd5,0x96,0x12,0x5c,0xfd,0x7b,0x0d,0x25,0xbe,0x5e, + 0x15,0xf5,0xe5,0x7a,0x27,0xcf,0x40,0xe3,0x40,0x2d,0x01,0x51,0x96,0x2b,0x9d,0xbf, + 0xfa,0x90,0xce,0x3f,0x00,0x2c,0xdb,0x52,0x47,0xf2,0xa0,0x42,0x91,0x15,0x13,0xfe, + 0x49,0x82,0x8e,0x1f,0x78,0x6c,0x91,0x43,0x27,0x1d,0x9f,0x79,0x12,0x9d,0xe4,0x8b, + 0xa1,0x8f,0xa8,0x46,0x79,0x5a,0x95,0x8d,0xb1,0x41,0xd9,0x5c,0xfe,0x80,0x23,0xec, + 0xef,0x9b,0xcb,0x9d,0xef,0x64,0x75,0x54,0xd8,0x7e,0xca,0x30,0x51,0x63,0x51,0xe7, + 0xd4,0xd8,0x35,0x85,0xb5,0xa1,0x5c,0x2b,0x50,0x2e,0x45,0x8a,0xfc,0x32,0x03,0x57, + 0x25,0xc7,0xb3,0x69,0xf5,0xcc,0x57,0xfd,0x96,0x59,0x7f,0x6e,0xcf,0xf0,0x7c,0x74, + 0x0f,0xf0,0x60,0xa5,0x51,0xc7,0xc3,0x8f,0xd1,0x83,0xfb,0x8f,0xd1,0xd7,0x1f,0x47, + 0x2b,0xd7,0xc0,0x08,0x39,0x11,0x17,0xe9,0x53,0x7d,0xfe,0xee,0x77,0x33,0x39,0x77, + 0x5f,0xb2,0x5d,0xf7,0xbf,0xf1,0x18,0xdb,0x3f,0x6a,0x0e,0x22,0x3c,0xd6,0x49,0x3f, + 0x32,0x9d,0x56,0xf7,0x58,0x57,0x1d,0x0a,0x92,0x5e,0x65,0x3a,0x6f,0x46,0x85,0x47, + 0x2a,0xba,0xc4,0x36,0xe1,0xab,0x78,0xec,0xb7,0xe4,0x35,0x90,0x8b,0xdf,0x12,0x8e, + 0x5d,0x9c,0xe7,0x08,0xef,0x1c,0x5c,0x08,0x92,0x95,0xe9,0xed,0xc8,0x12,0xea,0xd8, + 0xa0,0x56,0x73,0xca,0x2a,0x3f,0x1d,0x1b,0x02,0x53,0xf8,0x4e,0x80,0xdf,0xe4,0x08, + 0x6e,0x3b,0x46,0xf4,0x48,0xe7,0x42,0xcb,0xfc,0x28,0x6a,0x29,0xa3,0xf3,0xa3,0x9c, + 0xa2,0xab,0xab,0x8d,0xe3,0xe6,0x49,0x6c,0xf9,0xaf,0x27,0xe3,0xbb,0xd4,0x5f,0x40, + 0x88,0x8b,0x14,0x2f,0x7c,0xa7,0x52,0xb7,0xda,0x2d,0x5c,0x64,0x9c,0x7d,0x44,0x22, + 0x16,0x96,0x72,0x34,0xbe,0x14,0x0f,0x21,0xec,0x1b,0xc4,0x74,0x2e,0xfe,0xc9,0x96, + 0xa2,0x78,0xa0,0xd3,0x83,0x25,0x9f,0x7f,0x2c,0xf3,0x03,0xa0,0xa5,0xf1,0x1e,0x62, + 0xfc,0x86,0xe0,0xcc,0x2e,0x2e,0xd7,0x4a,0xab,0x1b,0x7d,0x94,0xb3,0xb7,0x78,0x8f, + 0xf9,0x80,0x77,0x3d,0x10,0x8b,0xf7,0xe2,0x6f,0x9c,0xda,0x6f,0xa0,0xd2,0xe2,0xdb, + 0xea,0x52,0x58,0x21,0x8c,0xa5,0x0f,0xa2,0x06,0xa4,0xf6,0x4a,0x17,0xac,0xb1,0x6d, + 0xd5,0xb7,0x93,0x79,0x77,0xd8,0x82,0xcf,0x2c,0x5a,0x26,0x99,0xdf,0x5b,0x4a,0xed, + 0xcd,0x20,0x07,0x5a,0x61,0x98,0x64,0x57,0xe7,0x94,0x8c,0xcd,0x26,0x25,0x53,0x88, + 0x95,0x96,0xb9,0xce,0x4b,0xfb,0xb2,0xb1,0x3c,0x63,0xc8,0x99,0xa7,0x3b,0xb7,0x8b, + 0x1d,0x11,0xa3,0x44,0x4b,0x6b,0x46,0x14,0xbb,0xf1,0x3c,0x96,0x4e,0x96,0xa8,0xef, + 0x98,0xa4,0x68,0x89,0x44,0x1c,0x4a,0x9d,0xc8,0xc5,0xf7,0x96,0xa8,0x41,0x0b,0x35, + 0x73,0x9a,0x2a,0xaa,0xbc,0x6f,0xd1,0x47,0x54,0xc4,0xb4,0xbc,0x76,0xd2,0xb4,0xdc, + 0x15,0xf3,0xdb,0x8e,0x91,0x82,0xec,0x55,0xa8,0xb9,0x5a,0x7a,0x37,0x2f,0x2e,0x7a, + 0x8b,0x76,0xf2,0xca,0x0e,0xc2,0x78,0xd1,0xae,0x59,0x7a,0x79,0xbc,0x4b,0x2e,0xab, + 0x16,0x61,0x8d,0x9e,0x6a,0xe1,0x5d,0x28,0x57,0x23,0xd1,0x44,0x3b,0x27,0xb8,0x6c, + 0xbb,0x13,0xcf,0x4d,0x0b,0x99,0x0d,0x10,0xc1,0x41,0x38,0x5d,0x1e,0x6f,0x9f,0x9c, + 0xc4,0x36,0xdc,0x76,0x01,0x97,0x29,0x5c,0x2d,0x0c,0x42,0x86,0xad,0x51,0x61,0x94, + 0xe1,0xae,0xc2,0x0b,0x17,0xe8,0x71,0xca,0x70,0x2f,0x91,0xf3,0x16,0x80,0x8f,0xab, + 0x56,0xf8,0xe9,0x22,0xb4,0x4e,0xd9,0x6e,0xfe,0x40,0x11,0x48,0x0e,0x3e,0xb0,0xdf, + 0xde,0x6d,0x07,0x25,0x37,0x5d,0x77,0x21,0x13,0xa8,0x0e,0x83,0xc6,0x70,0x18,0x34, + 0xb6,0x1d,0x06,0x8d,0xd9,0x61,0x50,0xae,0x95,0xf6,0x19,0x7b,0x66,0x46,0x9e,0x36, + 0x16,0x62,0x1d,0x82,0x07,0x68,0xff,0x5c,0xcf,0xaa,0x17,0xad,0x9d,0xea,0x1a,0xdf, + 0x42,0x63,0x5c,0x95,0x0f,0x6b,0x94,0x21,0x11,0x1f,0x42,0x94,0x14,0x20,0x49,0x58, + 0x6d,0x55,0xd1,0xcf,0x43,0x90,0xd5,0xf9,0xe4,0xfa,0xb9,0xf4,0xb8,0x74,0xde,0xd6, + 0x8e,0xa9,0xdd,0xd2,0xf2,0xbf,0x0e,0x50,0x67,0x44,0xbc,0x84,0x17,0xf9,0x08,0x83, + 0x51,0xba,0xcc,0x28,0xc5,0x73,0x83,0xfd,0xdc,0x41,0xc0,0x58,0x0e,0x84,0xa2,0x8f, + 0x37,0x35,0x0c,0x6e,0x09,0x7b,0x6a,0xf8,0x30,0x02,0x01,0x54,0x79,0x51,0xd8,0xc7, + 0x85,0xcc,0xa4,0x14,0x2f,0x7e,0x95,0xed,0xdf,0x9d,0x26,0xc9,0xbb,0x98,0xac,0x54, + 0x70,0x30,0x84,0x2a,0x8b,0xd2,0xd7,0x98,0x8b,0x71,0x33,0x09,0x7e,0x9f,0xb9,0x01, + 0x1b,0x52,0x2a,0x68,0x8e,0x43,0x95,0xd3,0x85,0x8c,0xa1,0x73,0x2f,0xb9,0x72,0x8b, + 0x5a,0x11,0xa6,0x52,0xc7,0x13,0x8c,0xa5,0xce,0xba,0x77,0x1c,0x6e,0x03,0xfd,0x0e, + 0xfe,0xed,0xe2,0xdf,0x13,0xfc,0x7b,0x8a,0x7f,0xcf,0xf0,0xef,0x3b,0xfc,0xfb,0x1e, + 0xff,0x7e,0xc0,0xbf,0xed,0x26,0xfd,0x21,0xc8,0x6d,0x02,0xdd,0xde,0x0d,0x4f,0x5a, + 0xa6,0x44,0x95,0xf6,0x3a,0x46,0xcb,0x0e,0xf4,0xe9,0xab,0xf8,0xe6,0x30,0x5e,0xaa, + 0x84,0xc6,0x0c,0x9e,0xf3,0x4d,0x8f,0xc2,0x4b,0x5e,0x5f,0x49,0xa7,0x71,0x5c,0x3c, + 0xe6,0xea,0xf1,0x65,0x18,0x73,0xa9,0x76,0xbf,0xfe,0x13,0x65,0xfc,0xf9,0xdc,0x3d, + 0xe9,0xcd,0x4b,0xfb,0x93,0x4a,0x13,0xcf,0x39,0x2e,0xc4,0xf1,0x9f,0xc6,0xe5,0x55, + 0x97,0xb9,0x4e,0x04,0x6c,0x6e,0xea,0x29,0x4e,0x97,0xc5,0xb9,0x10,0xd4,0x3d,0x7e, + 0x72,0xb2,0x87,0x3f,0x95,0x44,0x58,0xbc,0xf7,0xfa,0x1a,0xfc,0x26,0x41,0x6c,0x66, + 0x09,0xa9,0xe8,0x84,0x0a,0xcc,0x2e,0x7c,0x23,0x9e,0xf4,0x42,0x75,0xbc,0xe4,0xda, + 0xfe,0xce,0xfc,0xe5,0xb8,0x97,0x22,0x41,0x3d,0xf6,0x4e,0x6b,0x78,0x93,0xf8,0xc1, + 0xbf,0x72,0x0c,0xbd,0x17,0xd6,0x77,0x93,0x52,0xcf,0x6f,0x33,0xf7,0x8a,0x08,0x40, + 0xa7,0x33,0x52,0x87,0x4a,0x10,0x20,0xf2,0x45,0x7a,0x4d,0x65,0xf4,0xcc,0xd1,0xd5, + 0x5b,0xf4,0xc3,0x14,0x24,0xb5,0x7b,0xee,0xed,0x7f,0x3c,0xb7,0x37,0x08,0x3b,0x1d, + 0xb7,0x8f,0xe1,0x87,0x03,0xcb,0x97,0xa8,0x87,0x7c,0xec,0x7e,0x24,0x62,0x4a,0x28, + 0x8d,0x6f,0x0a,0xe7,0x3e,0xcf,0x9e,0x60,0x17,0x8a,0x2f,0x72,0x11,0x98,0xf3,0x30, + 0x24,0x6b,0xbb,0xf9,0xd5,0xf4,0x6b,0xae,0x5b,0xec,0xd4,0xcd,0xab,0x89,0x76,0xe2, + 0x5e,0x99,0x8b,0xbf,0x60,0x4c,0xc5,0x0b,0x53,0xc9,0x9c,0xa9,0xe1,0x39,0xdf,0xb0, + 0x41,0xc5,0xf2,0x5c,0x6e,0x1e,0x56,0x4a,0x23,0x97,0xcb,0x69,0xdb,0x91,0x7e,0x48, + 0x62,0xe3,0x70,0x4e,0xf6,0xe4,0x34,0xe3,0xf3,0x99,0x31,0x25,0xfd,0xd8,0x21,0x18, + 0xf4,0x60,0xcd,0x3a,0x18,0xb3,0xf3,0x61,0x8c,0x58,0x27,0x20,0xb4,0x05,0xbb,0xd8, + 0x50,0xba,0x70,0xb7,0x85,0x6c,0x4b,0x70,0x88,0xc0,0x27,0x2d,0x61,0x0d,0xb3,0xf4, + 0x6c,0xfe,0x57,0x82,0x8a,0xdb,0x25,0x30,0x67,0xa9,0x27,0x01,0xb5,0xa3,0xfc,0xdc, + 0xd7,0x24,0x6e,0x40,0x28,0x5d,0xef,0x7d,0xec,0xd5,0x3e,0x36,0xf2,0x3f,0x96,0xd7, + 0xaa,0xb3,0x1b,0x86,0xda,0xa3,0xac,0x7c,0xf1,0x4b,0x6e,0x51,0xb1,0x72,0x09,0x57, + 0xb1,0xac,0x0b,0x5d,0x96,0xc3,0x46,0x64,0xa4,0xe5,0x3f,0x89,0x07,0xbe,0x84,0x14, + 0xfa,0xf4,0x1f,0xaa,0x9b,0x22,0x9c,0xbd,0xd1,0x22,0x9e,0x6c,0xb4,0xe9,0x10,0x60, + 0x4a,0xb3,0x8e,0xa0,0x95,0xcb,0x5a,0xc6,0x23,0x29,0x2b,0xdd,0x41,0xff,0x46,0xf8, + 0xb1,0xb8,0xed,0xf6,0x1c,0x06,0xbe,0x2f,0xc4,0x4d,0xd2,0x47,0x51,0x37,0x7d,0x0c, + 0x1b,0x78,0x7e,0x5e,0x0f,0xb8,0x6c,0x7c,0x34,0x0d,0x98,0xe5,0x47,0x00,0xe7,0x57, + 0x50,0x56,0xf4,0xd8,0x2f,0x56,0xd6,0x60,0xc7,0x6a,0x65,0xe2,0x8e,0xe8,0xee,0x30, + 0x9d,0x19,0xc9,0x2d,0xb4,0xec,0x6a,0x34,0x82,0x62,0x4f,0x8e,0xf3,0xcc,0x49,0x05, + 0x17,0x89,0xc5,0x0f,0xb0,0xf2,0x6a,0x84,0x2e,0xd5,0x0a,0x36,0xbb,0x01,0x7f,0x05, + 0x96,0xc2,0x81,0x7d,0xc6,0xbd,0xe1,0x48,0x14,0xb6,0x9b,0x9b,0xde,0x3a,0x7a,0x21, + 0xab,0xeb,0x06,0xad,0xc2,0x62,0x3c,0xe0,0x14,0x21,0x92,0xf3,0xab,0x93,0x22,0xe8, + 0xa3,0xf4,0x59,0xbb,0xbd,0x71,0xea,0x10,0x26,0x06,0xd0,0x4e,0x06,0x43,0xe1,0x9d, + 0x85,0xb4,0xc1,0xc1,0x96,0x6c,0x4c,0xdd,0xff,0x54,0xf1,0x6c,0xab,0x81,0x3f,0x8e, + 0xc1,0x67,0x9e,0x68,0x49,0xae,0xbe,0x28,0x65,0x09,0xd8,0xbc,0x1e,0x9c,0x90,0x1d, + 0x8c,0x81,0xce,0x14,0xfa,0x39,0xdf,0xe1,0xd5,0x5c,0xe2,0xb2,0xa7,0x0a,0xde,0xda, + 0xa7,0x07,0x66,0x0f,0x43,0xf0,0x62,0xb0,0x9b,0x09,0x9c,0xa7,0x12,0x16,0x38,0x5f, + 0xb3,0x2b,0xa8,0xa3,0x32,0x5b,0xf7,0x44,0x99,0x1d,0xf8,0xff,0xb1,0x3a,0x3b,0x90, + 0xcf,0x65,0xcd,0x2a,0xb0,0xb5,0x36,0xe4,0x6c,0x00,0xec,0x53,0x83,0x42,0xc9,0x6a, + 0x6e,0x30,0x70,0x70,0x6a,0xac,0xd4,0x3f,0x8e,0x0d,0x16,0x00,0x16,0xe7,0xa1,0x02, + 0x58,0x3a,0x0e,0x05,0x5e,0x0c,0x3c,0xdb,0x47,0x36,0xd7,0xd2,0x36,0xf8,0x2d,0xaa, + 0xe9,0xdb,0xfd,0x7e,0x1c,0x53,0xcb,0x58,0x56,0xb3,0x56,0x75,0xa6,0x7d,0x73,0x6a, + 0x23,0x87,0xfa,0xd6,0xde,0x97,0x4a,0x6d,0xf1,0x88,0x97,0x71,0x52,0xc5,0x8d,0x59, + 0x59,0x4f,0xeb,0x89,0x94,0x10,0x7d,0x5e,0x3b,0x3c,0xed,0xa3,0x3f,0xe7,0x03,0x22, + 0x0a,0x6b,0xc5,0x7e,0x40,0x04,0x78,0x2d,0x2c,0xce,0x5b,0x2f,0xc7,0xe4,0xa8,0xb2, + 0xc1,0x43,0xf8,0x3d,0x0f,0xf8,0x8c,0x54,0x13,0x90,0x29,0x64,0xa2,0xcf,0xc3,0x13, + 0xdb,0x2d,0xf6,0xc7,0x60,0x94,0x91,0xac,0x9a,0xeb,0x37,0xf8,0xa0,0x90,0x8e,0x80, + 0x60,0x3c,0xde,0x17,0x43,0x54,0x71,0x3d,0x4f,0xe4,0x55,0x49,0x51,0x6f,0x18,0x1e, + 0x5e,0x9d,0x23,0x2c,0x84,0xb5,0x09,0x7e,0xa4,0xd9,0xb0,0xfb,0x71,0xbc,0xad,0xf0, + 0x61,0xda,0x60,0x9c,0xa9,0x67,0x16,0x77,0x3c,0x23,0x0d,0xc8,0x80,0xa8,0x0a,0x81, + 0x17,0xf2,0xd9,0x01,0xf2,0x67,0x87,0x06,0x92,0xe1,0xcd,0xd8,0x3c,0xf6,0x87,0x08, + 0x69,0xe3,0x96,0xf6,0x9a,0x9c,0x22,0x46,0x17,0x9d,0xcf,0xc9,0x3f,0x9c,0x40,0x20, + 0xff,0x90,0x65,0xc2,0xd6,0xc7,0xac,0xb6,0xe5,0x2d,0x85,0x18,0xc6,0x59,0x0b,0x41, + 0xaa,0x48,0xd4,0x0f,0xf8,0x84,0x04,0x3a,0xb5,0x83,0xca,0x53,0xe3,0xe7,0x4d,0x27, + 0xba,0xd0,0x5d,0x65,0x74,0x21,0xa1,0xea,0x0d,0xaf,0x65,0xb1,0xe3,0x15,0x9a,0xb2, + 0x14,0xcf,0xec,0xcb,0x0c,0xc7,0x91,0x98,0x4e,0x88,0x28,0x9e,0x39,0x8d,0x83,0x48, + 0x41,0xbc,0x18,0xca,0xf6,0x13,0xdd,0xa5,0xd5,0xbc,0x93,0x98,0x2b,0xbc,0xa2,0xe3, + 0xc8,0xfc,0x06,0x6b,0x66,0x72,0x5d,0xe7,0xb9,0x00,0x61,0x20,0x87,0x93,0x34,0x73, + 0x95,0x15,0x84,0x28,0x05,0xbe,0x21,0x31,0x89,0xb8,0xb8,0x61,0x75,0x3f,0xdf,0x39, + 0xbb,0x10,0x3b,0x4f,0xfb,0x58,0x78,0x39,0x98,0xc4,0x06,0x47,0x99,0x32,0x9c,0x90, + 0x22,0xa4,0x19,0x03,0xbf,0xd9,0x3f,0xf4,0x01,0x91,0xfb,0x9f,0xe5,0xd2,0x84,0xb9, + 0xcf,0x9f,0x34,0x37,0x37,0xb5,0x99,0xe6,0x09,0x32,0xc6,0xf4,0x5d,0xb3,0xe9,0xde, + 0x0d,0xa8,0x24,0x8f,0xc3,0x0d,0x24,0xab,0x3f,0xd7,0x67,0xcd,0x98,0x59,0x93,0xb7, + 0x1c,0x38,0x64,0x83,0x32,0x5e,0x05,0x7e,0x22,0xc0,0xe0,0xa3,0xdb,0x38,0x0e,0x2f, + 0x75,0x07,0x92,0xe9,0xfe,0x03,0x72,0x06,0xcd,0x13,0x7d,0x3c,0xac,0xc5,0xf4,0xdb, + 0xf8,0x56,0x77,0x20,0x8f,0x46,0xb1,0xb3,0xd0,0xd4,0xed,0xae,0x6c,0x69,0x78,0xef, + 0x20,0xa0,0x48,0x5f,0xdb,0xac,0x90,0x77,0xbd,0x34,0x53,0x6a,0xf3,0x2a,0xd5,0x47, + 0xd8,0xf7,0xe6,0x7c,0x48,0xc8,0x70,0xa6,0x97,0x52,0x92,0xec,0xe9,0xb1,0x46,0xe2, + 0xb4,0x06,0x86,0xd2,0xfc,0x95,0x34,0x46,0x98,0x48,0x47,0xc2,0x67,0x0a,0x7a,0xb4, + 0x20,0xdc,0x35,0x03,0xa8,0x05,0xe0,0x1b,0x6c,0xdc,0xda,0x9c,0xe8,0x7c,0x32,0x1f, + 0xee,0xa4,0x07,0xc9,0x27,0xb7,0x17,0x61,0x69,0xc6,0x9d,0x87,0xea,0xe4,0x77,0x9b, + 0x6b,0x31,0x01,0x74,0x33,0x79,0x5d,0x05,0x48,0x64,0xab,0xc9,0xe4,0x5d,0x27,0x79, + 0x4b,0xbc,0xc5,0xe9,0x3f,0x73,0x0e,0x6e,0xc9,0x65,0x67,0xe9,0x34,0x2b,0x32,0x32, + 0xe7,0x28,0x5b,0x2e,0x33,0x99,0x4a,0x79,0xf1,0xdb,0x57,0xb1,0x62,0xae,0x4d,0x40, + 0x34,0x13,0xe8,0xec,0x2c,0x65,0xaf,0x28,0xcb,0x38,0xde,0x8a,0x02,0xc8,0x95,0x11, + 0xba,0xa3,0xf4,0x37,0x4d,0xfa,0x89,0x04,0x03,0x6f,0x2b,0xa1,0xaa,0xa0,0x82,0x48, + 0x32,0x0e,0xc6,0x90,0x07,0x3e,0x14,0x3b,0xc2,0x01,0x27,0xc4,0x9c,0x2b,0x77,0xfa, + 0xce,0xc9,0x98,0xf8,0x4d,0xea,0x9a,0x7c,0x6c,0x2d,0x46,0xab,0x3a,0x2f,0xab,0x98, + 0x91,0xf1,0xfa,0x44,0x95,0xbd,0xae,0xc3,0x78,0x79,0xa6,0xde,0x9a,0xe6,0x8e,0x85, + 0xf7,0x42,0x4c,0x1a,0xd7,0xe2,0xb1,0x89,0x27,0xc4,0xab,0x31,0x50,0x61,0x95,0x1a, + 0x19,0x30,0xd9,0x1f,0x03,0x50,0x97,0xb0,0x00,0xd6,0x0b,0x20,0xb0,0x7f,0xc1,0xaa, + 0xc5,0x2c,0x6a,0x51,0x84,0xc7,0x62,0xb3,0x81,0x76,0x59,0x2c,0xbe,0xb9,0x74,0xdb, + 0xac,0xbd,0x04,0x25,0x5a,0x5b,0x68,0x8a,0x73,0x05,0xbc,0x96,0xf9,0x18,0xad,0xca, + 0x85,0x2a,0xcb,0x5c,0x6b,0x6f,0xfb,0x69,0x6b,0xcc,0x85,0x6b,0x5d,0xfd,0x59,0x2d, + 0xd2,0x31,0xae,0x82,0xd9,0x9d,0x10,0x79,0x2d,0x06,0x2c,0xf9,0x6c,0x33,0x6a,0x50, + 0xbf,0xb3,0x66,0x1c,0x71,0xfa,0x3a,0xb9,0x4d,0xdd,0xc9,0x4a,0x84,0x02,0x83,0xab, + 0xd3,0x4b,0x7b,0x06,0x74,0x1c,0xee,0x5e,0xb0,0xfb,0x58,0x81,0xf6,0x85,0x2f,0xc7, + 0x61,0x53,0xc9,0x40,0x2e,0xf7,0x49,0x0a,0xeb,0xf8,0x1d,0x51,0x9f,0x88,0x21,0x12, + 0xa0,0x2b,0x2d,0x7f,0x95,0x6f,0x88,0xa5,0x56,0x4b,0x1d,0x6f,0xfe,0xd9,0xb9,0xc4, + 0xdd,0x1e,0x68,0x90,0x36,0x38,0xf4,0x7f,0x5c,0x33,0x39,0xf6,0xc2,0xe7,0x57,0xf0, + 0xee,0x4f,0xe5,0x91,0x6f,0x7f,0x3c,0xf3,0x18,0x8b,0x6b,0x54,0x86,0x44,0x1e,0xc3, + 0x1a,0xac,0x8f,0xa1,0x09,0xf7,0x5f,0x03,0x89,0xef,0x46,0xaf,0xb1,0x09,0x0e,0x20, + 0x11,0xb6,0x25,0x24,0x80,0x19,0xb9,0xe0,0x92,0x1d,0x91,0xad,0x8d,0xf7,0x95,0x9e, + 0xe1,0xe8,0xa3,0xb5,0x1b,0x6d,0x96,0x1b,0xef,0x3d,0x16,0x19,0xec,0x6e,0xf0,0x1b, + 0x9b,0xef,0x41,0x03,0xd5,0xaa,0x8c,0x2d,0xa2,0x2c,0x84,0xd2,0x73,0x80,0xae,0x22, + 0x2d,0xa8,0xe1,0x41,0xbc,0x20,0x44,0x93,0xb1,0x69,0x43,0x52,0xaa,0x01,0xc8,0x90, + 0x82,0x4b,0xc6,0x13,0x04,0x5f,0xbc,0x89,0xbd,0x94,0x68,0xc1,0x86,0x1c,0x2d,0x8c, + 0xbc,0x0e,0x2d,0x03,0x43,0x56,0x82,0xc5,0xde,0xe4,0x4f,0x55,0xec,0xc9,0x39,0x80, + 0x74,0x2a,0x77,0x6a,0x93,0xbe,0x86,0xce,0x25,0xbf,0xe8,0xf0,0x51,0x0f,0x1e,0xe4, + 0x9a,0x2d,0x17,0xbe,0xbe,0x1d,0xb7,0x22,0x81,0xa9,0xf5,0x6a,0x25,0x64,0xff,0xe1, + 0xbe,0x13,0x56,0xe1,0x99,0x47,0xd3,0x3e,0xfb,0xea,0x8d,0x72,0x06,0xf5,0x53,0xc9, + 0x0a,0x09,0xc3,0xb1,0x8c,0xfb,0x4e,0x2c,0x63,0x44,0x3a,0x4a,0xed,0x31,0x02,0x74, + 0x48,0x32,0x03,0x85,0x17,0x07,0x6d,0x7a,0xd5,0x85,0x24,0xe1,0x82,0xc6,0x9c,0x47, + 0x4a,0x3e,0xe6,0xda,0xb9,0xf5,0x33,0xee,0x97,0x18,0x49,0x00,0xab,0x4f,0x35,0xf2, + 0x62,0xdf,0xa8,0xf3,0xce,0x25,0x2f,0x8f,0x03,0x58,0xc9,0xb0,0xd6,0x84,0xdd,0x75, + 0x61,0x49,0x4f,0xa7,0xd2,0x5c,0x56,0xa6,0xb5,0x50,0x4d,0x3a,0x54,0x5b,0x51,0x35, + 0x6b,0x17,0x5a,0xf4,0x4a,0xbe,0xb3,0x90,0x12,0x76,0xf2,0x4c,0xa9,0x9c,0xc9,0x53, + 0xdd,0x21,0x4b,0x11,0x1a,0x2b,0x64,0x45,0xc5,0x42,0x2e,0x19,0x9e,0x4e,0x95,0xa7, + 0x4d,0x52,0xa7,0xa9,0x3c,0x59,0xbd,0xd0,0x1a,0xa3,0xcb,0x1b,0xd5,0xce,0xf8,0x39, + 0xf2,0x0b,0xad,0x08,0x49,0xf5,0x9c,0x78,0xac,0xaf,0xf4,0x89,0x6e,0x4f,0xed,0xcf, + 0xa3,0x31,0xcd,0xa5,0xfc,0x51,0x13,0x62,0xe8,0x8f,0xdb,0x1b,0x54,0x3c,0xfe,0xa9, + 0xb8,0xb0,0x62,0x6b,0x15,0x98,0x5f,0xa0,0x3e,0xca,0xad,0x8a,0x7a,0x11,0x06,0x12, + 0x7b,0xae,0xec,0x2a,0x78,0x64,0xfc,0xf8,0xd9,0x63,0xb1,0x32,0xa0,0xf6,0x68,0x42, + 0xd3,0x08,0x76,0x32,0xa5,0xa0,0xda,0xfd,0x6b,0x92,0x3a,0x04,0xfb,0x93,0x39,0x85, + 0x8d,0x62,0x90,0xe8,0xe1,0x7b,0x78,0x80,0xee,0x59,0x55,0x80,0x6e,0x96,0x0e,0xdc, + 0x05,0x66,0xf6,0x68,0x93,0x2a,0xd4,0x66,0x1a,0x3c,0x68,0x20,0x2c,0x72,0x24,0x0e, + 0x2d,0x50,0x68,0xaf,0x65,0xba,0x18,0x77,0x6c,0xd0,0x71,0x9c,0x3f,0xe8,0xb0,0xa4, + 0xb3,0x09,0x86,0xd3,0x2f,0x53,0xcd,0xda,0xb6,0xb3,0xe6,0xac,0xc7,0xda,0x55,0x93, + 0xe0,0xa2,0xfd,0x6c,0xee,0x0e,0x1c,0x4f,0x29,0x02,0x38,0x95,0x23,0xab,0x86,0x24, + 0xea,0x58,0x2a,0xc6,0x0e,0x69,0x2f,0xc8,0x9f,0x9b,0x6e,0xde,0xe0,0xb3,0xac,0x54, + 0x87,0x71,0x3b,0x2f,0xbb,0x84,0xe1,0x2e,0x27,0xaa,0x96,0xf6,0x4a,0x68,0xf2,0x1c, + 0x4d,0x3b,0xfd,0x45,0x19,0x01,0x95,0xa6,0xb5,0x2a,0xa4,0x86,0x92,0x70,0x27,0xfb, + 0x04,0xfd,0x52,0x62,0x32,0xc5,0x5c,0x74,0xe6,0x50,0x19,0x2a,0x9a,0x41,0xa5,0x1d, + 0x9c,0xbf,0x2e,0x28,0x15,0x8d,0x79,0x98,0xdf,0x16,0xe6,0xb0,0xc9,0xd1,0x18,0xfd, + 0xff,0xce,0x5c,0xfe,0x40,0x4b,0x52,0xb8,0x04,0x9b,0x75,0x7e,0x1f,0xd3,0xd8,0x6e, + 0xda,0xc7,0x9c,0x5a,0xc8,0x90,0x90,0xde,0xba,0x1e,0x11,0xac,0x04,0x66,0x0e,0x1e, + 0xeb,0x92,0x4b,0x51,0xad,0x04,0xb7,0x73,0x1e,0x84,0x8e,0x65,0x6c,0x99,0xae,0x9f, + 0x07,0xf3,0x87,0x11,0x83,0x45,0x57,0xc5,0x38,0x34,0x47,0x05,0x34,0x76,0xf0,0xdd, + 0x1c,0xb6,0xd1,0xba,0x0a,0xc2,0x35,0xac,0x1c,0xa4,0xed,0x42,0xf2,0xaa,0x54,0xd0, + 0x5c,0xfb,0x14,0xd8,0xf8,0xf7,0x29,0xc2,0x7f,0x16,0xaf,0x3f,0x51,0x99,0x52,0x4e, + 0x2f,0x2d,0xa5,0xef,0x6d,0xb7,0xa8,0xbb,0x57,0x95,0x43,0x48,0x6d,0x4d,0x44,0x5c, + 0x4c,0xa6,0x6d,0xee,0x34,0xee,0xc0,0x70,0xfc,0x80,0x0b,0x39,0x2f,0x49,0x7b,0x84, + 0xb2,0x1f,0x84,0x7f,0x73,0xf3,0x81,0x73,0x01,0x67,0xea,0x8e,0x06,0x84,0xa4,0xa2, + 0xcc,0x0c,0xe7,0x38,0x7d,0x14,0xea,0xd1,0x5f,0xbd,0x18,0xa4,0x05,0xb7,0xf4,0x7d, + 0xd1,0x71,0x48,0x3f,0x73,0x50,0x1b,0xdc,0xc3,0x9c,0xb1,0xaf,0x43,0x90,0x8b,0x4a, + 0x9d,0xce,0x67,0x43,0xb4,0xc4,0xca,0x86,0x12,0xa5,0x3b,0xfa,0xfc,0x03,0xfa,0x07, + 0x2b,0x95,0xab,0x7a,0xc7,0x69,0x97,0xba,0x07,0xd0,0x4d,0x59,0x21,0xfa,0x13,0x1d, + 0xea,0x2f,0x45,0xa3,0xe4,0xa4,0x8a,0x14,0xea,0x3a,0xcb,0x07,0x3a,0xc8,0x48,0x4f, + 0xbb,0x0d,0xc8,0x65,0x82,0x89,0x42,0x4a,0x08,0x63,0x8d,0xbf,0xf8,0x68,0xeb,0xf8, + 0xe3,0xec,0xe3,0xf8,0x44,0xb6,0x06,0xf4,0x35,0x56,0x04,0x95,0x0d,0xc7,0x34,0xd1, + 0x25,0x2c,0x5e,0xe1,0xcc,0xb2,0x3e,0x67,0x92,0x0f,0xec,0x59,0x23,0x2d,0xb8,0xca, + 0x65,0x70,0x62,0x03,0x77,0xbb,0x46,0xdc,0xce,0xc8,0xab,0xf2,0x89,0x5e,0xe8,0xbc, + 0x8b,0x41,0x6a,0xf2,0xd6,0x76,0x5a,0xe5,0x8e,0xc9,0x74,0x73,0xb9,0x3a,0x3e,0xec, + 0x2f,0x29,0x02,0x58,0xae,0x92,0xab,0xd7,0xcd,0x9a,0x86,0x39,0x4a,0x8a,0x71,0xf2, + 0x38,0xae,0x8a,0xbd,0x46,0xe8,0x0c,0x1c,0x0b,0x6f,0x4a,0x47,0xdc,0x0b,0xab,0x6c, + 0x21,0xc7,0x9f,0x86,0x5d,0x99,0x48,0x2d,0x2d,0xfe,0xb7,0x29,0x87,0x3f,0x95,0x59, + 0x6c,0x92,0x36,0xcd,0x77,0xf1,0x94,0xa4,0xca,0x31,0x34,0xc3,0xf2,0xe3,0x6c,0xf9, + 0x71,0xbc,0xe5,0xaf,0xa8,0x2d,0xfd,0xd5,0x30,0xc5,0xb3,0x70,0xd3,0x34,0xe1,0x70, + 0xb9,0x1c,0xe6,0x8b,0x90,0x26,0x5b,0xc5,0xfc,0x45,0x0f,0xa2,0x3d,0x9d,0xe9,0xd6, + 0x96,0xb9,0x25,0xc4,0x46,0x45,0xcc,0x15,0x34,0x6f,0xb6,0x31,0x4c,0x87,0xd6,0x52, + 0x0a,0xd1,0x00,0x8f,0x5f,0x7c,0x73,0xb2,0xcc,0x2f,0x7f,0x7c,0xcc,0xbe,0xc5,0xfb, + 0x5f,0x4e,0x62,0x55,0x96,0x01,0x0f,0xf8,0x3d,0x64,0xe7,0x28,0x41,0xc7,0xf0,0xba, + 0x67,0x2c,0xff,0x4e,0x67,0x83,0xe9,0x9c,0x57,0x3b,0x85,0xa2,0x61,0xe8,0x1a,0x7f, + 0x20,0xdd,0xbe,0x02,0xf6,0xe1,0xd5,0xe1,0x6f,0x64,0x47,0xbb,0xf5,0x77,0xbe,0xcb, + 0xf3,0x0d,0x8a,0xe0,0x87,0xcc,0x77,0x91,0x56,0x79,0xbf,0xc7,0x36,0xf1,0xb4,0xef, + 0xfa,0x00,0xa1,0xba,0x80,0x03,0x4e,0xb3,0x91,0x77,0xfd,0x69,0x8a,0x0e,0x59,0x92, + 0x09,0x87,0x64,0xd4,0x5c,0xab,0x00,0xa2,0xdc,0xb7,0xdb,0x32,0xf7,0x05,0x17,0x03, + 0x9a,0x13,0x33,0xcf,0x61,0x1c,0xe0,0x0b,0xd7,0x7f,0x00,0xeb,0x89,0xeb,0xbf,0xac, + 0xf0,0xfd,0xd7,0xcf,0xc8,0xff,0x8b,0x9e,0x70,0x38,0xae,0xff,0x32,0xc1,0xe1,0x1a, + 0x32,0x13,0x9f,0x28,0x25,0xf3,0x4c,0x99,0x59,0x73,0x16,0x98,0x08,0x43,0x11,0xd9, + 0xa8,0x2d,0x61,0x10,0x83,0xc6,0x43,0x06,0x89,0xef,0xc3,0x06,0x16,0x3c,0x54,0x5c, + 0x2f,0xee,0x3d,0xb8,0xcb,0xb1,0x50,0x94,0xa2,0x13,0x39,0x18,0xe6,0x5e,0x40,0x82, + 0x2d,0xdb,0x6a,0xc3,0x09,0x24,0x80,0x92,0x24,0xaa,0x88,0x80,0x42,0xf5,0x8f,0x8f, + 0xa6,0xf1,0xfa,0xb9,0xf3,0xfe,0xd1,0x55,0x26,0x31,0xf6,0x2c,0x12,0xd8,0x0e,0xd3, + 0x29,0x78,0x56,0x36,0x9b,0x05,0xf2,0x4e,0x70,0x33,0x23,0xb7,0x55,0x3c,0x72,0x65, + 0x3b,0x43,0x55,0xd3,0x56,0x50,0x27,0x12,0x05,0x66,0x32,0xab,0xf5,0x6a,0x74,0xa6, + 0x46,0xb6,0xff,0x02,0xd6,0x5c,0xe3,0xe3,0x61,0xf5,0x6f,0xde,0x08,0x0d,0x30,0x56, + 0xfe,0x48,0x73,0x3f,0xe7,0x90,0x01,0x98,0x55,0x77,0x68,0xcf,0x5e,0xee,0xc3,0x20, + 0xbb,0xcc,0x58,0xe6,0x68,0x54,0xfb,0xfe,0x18,0x01,0x09,0x54,0x49,0x48,0x9f,0x7c, + 0x51,0x72,0x0a,0xe8,0x7c,0xd4,0x79,0x5f,0x35,0x6a,0x25,0x04,0x9f,0x99,0x12,0x28, + 0x36,0xe2,0x23,0xc2,0x7c,0x3c,0x63,0x7b,0x93,0x45,0xf1,0x0c,0xf3,0x19,0x1d,0xe1, + 0x94,0x20,0x53,0x9d,0x3f,0xd0,0x95,0xea,0xb2,0xac,0x14,0x71,0x88,0x9e,0x91,0x5a, + 0x92,0xf8,0x85,0xf8,0x26,0x67,0xf1,0x46,0x1f,0x63,0xfa,0xc8,0x10,0xba,0xab,0x12, + 0x90,0xfc,0x16,0x2d,0xb1,0x22,0x75,0x79,0x92,0x40,0xb3,0x96,0x96,0xe4,0x7b,0x7b, + 0x85,0xcd,0x41,0x02,0xf5,0xc7,0x7d,0x16,0x03,0x00,0xb1,0x6c,0x06,0x42,0xce,0x8c, + 0xd0,0x94,0xa1,0x28,0x91,0xef,0xc9,0x7e,0x61,0xe7,0xbd,0x40,0xa6,0x0b,0xc7,0xe0, + 0x00,0xb4,0xee,0xf1,0x25,0x2c,0x6e,0x7a,0x99,0xac,0xf6,0xa0,0xff,0x93,0xc4,0x7e, + 0x46,0x7a,0x37,0xae,0x8d,0x7f,0x56,0x85,0xae,0x85,0x5e,0xd5,0x9f,0xed,0x09,0x99, + 0x8e,0xd1,0x42,0x1e,0x62,0xff,0x26,0x8f,0xbb,0x6f,0x4f,0xa5,0xf2,0x6b,0x72,0x65, + 0xf3,0xcf,0xc3,0x3e,0x2d,0xe1,0xf3,0x08,0x8f,0x51,0x58,0xaf,0x63,0xc5,0x1a,0xdd, + 0xd4,0x28,0x7a,0x1b,0x46,0x65,0xbc,0xb2,0x4f,0x89,0xbe,0xe7,0x7e,0xc3,0x8b,0x9e, + 0xcd,0x87,0xe1,0x58,0xb8,0x37,0x5e,0x99,0x2b,0xa3,0x42,0xc7,0x0e,0xaf,0x38,0x10, + 0x34,0x56,0xb1,0x9d,0xcf,0xd1,0x4d,0x5d,0x2a,0x35,0xa8,0x6d,0xe7,0x95,0xc1,0x93, + 0xc6,0xa8,0x81,0x4e,0x8c,0x3f,0x81,0x5b,0x01,0x8a,0xea,0x39,0x9c,0xc1,0xc6,0xdc, + 0x4d,0x28,0xd1,0x70,0x84,0x32,0xc9,0xbe,0x03,0x43,0xa0,0x82,0xaf,0x3d,0xe9,0xe9, + 0xd2,0x45,0xf5,0xc0,0x66,0x7d,0xf5,0xe7,0x76,0xf5,0x6f,0x40,0xd2,0xdc,0xa9,0x5a, + 0xf8,0x0e,0x5e,0xe0,0xac,0x1b,0x92,0x61,0x4d,0xfa,0x79,0x2d,0x94,0x73,0x47,0xc8, + 0xdb,0xdc,0x2f,0x73,0xcf,0xc8,0xef,0x3e,0xcf,0x61,0x1c,0x72,0x85,0xc5,0x37,0xa9, + 0xe3,0x43,0x9f,0xde,0x79,0xae,0x19,0xe6,0xb1,0x22,0xbc,0xd2,0xdd,0xfb,0x7a,0xaa, + 0x67,0x65,0xaa,0x67,0x2e,0xd5,0x7f,0xec,0x7f,0x78,0xfb,0xea,0xed,0x2f,0x2d,0x8e, + 0x09,0x02,0xa2,0xb9,0x08,0x69,0x83,0x36,0x4b,0x79,0x52,0x4e,0x56,0x51,0x35,0x13, + 0xaa,0x7c,0x2b,0x8c,0xcd,0x4d,0xde,0x51,0x63,0xe2,0x92,0x35,0x23,0x5d,0xb0,0x76, + 0xa4,0x98,0xc8,0x18,0x4c,0xc5,0x66,0x92,0x59,0xea,0x64,0xaf,0x56,0xa8,0xa7,0xd8, + 0x9b,0x69,0x08,0xc0,0xf5,0x75,0x9c,0x96,0xeb,0x38,0x5d,0x51,0x47,0xbe,0x9c,0xe7, + 0xc9,0x74,0xd3,0x60,0x2d,0x5e,0x81,0x96,0x4c,0x3e,0xea,0xf9,0x1b,0x6c,0x3f,0xcc, + 0x81,0xb2,0x84,0x54,0x91,0x39,0x17,0x07,0xd2,0x57,0x19,0xdf,0x49,0x14,0xdb,0x11, + 0x66,0x80,0xdc,0x62,0x92,0x4b,0x1b,0x9f,0xf1,0xda,0xaf,0x62,0xe0,0x54,0x2f,0xd3, + 0x77,0xe7,0xe3,0xec,0x9e,0x3a,0x12,0x88,0x5d,0x4d,0x7a,0x97,0x11,0x78,0x3e,0x59, + 0x99,0xd7,0xdc,0xd9,0x41,0xf6,0xf3,0x89,0x9d,0xf9,0x7c,0x82,0xac,0x48,0xaa,0x12, + 0x63,0x22,0xb8,0x56,0x8a,0x2c,0x8d,0x0d,0xf2,0x80,0x52,0xc7,0x6e,0x11,0xe1,0x41, + 0x07,0xe7,0xec,0x43,0x94,0x4d,0xd4,0x3b,0xbc,0x38,0x9f,0x48,0x15,0x9d,0x51,0x8e, + 0xc4,0x32,0xd3,0x08,0xc8,0x5a,0xa3,0xf3,0x6a,0x72,0xa8,0x2b,0x74,0x46,0x21,0xea, + 0x71,0xa1,0xf3,0x3e,0xc6,0x66,0xa5,0xce,0x93,0x79,0xd6,0x64,0x1e,0x0d,0xbc,0x51, + 0x20,0xfe,0x4d,0xc6,0xaa,0xa5,0x4b,0xc7,0xee,0xeb,0xbd,0x3a,0xbb,0xb6,0x41,0xc0, + 0x6a,0xb9,0xd4,0xd2,0x4c,0x48,0x85,0xf2,0xe6,0x18,0x4b,0xfc,0x9a,0x56,0xfe,0xb2, + 0xb2,0x61,0x08,0x2a,0x6e,0x8b,0x29,0x0f,0x81,0x50,0x19,0xe3,0x75,0x65,0x48,0x7b, + 0x0c,0x8d,0x38,0x1a,0xcb,0x5e,0x8c,0xe2,0xc9,0x65,0xc4,0xae,0x70,0x95,0xe5,0x98, + 0x6f,0x5e,0x07,0x0e,0xc5,0xed,0xfb,0xac,0xe2,0x5c,0x64,0xa4,0xe2,0x41,0x1b,0xa9, + 0x73,0x0f,0xb5,0xc3,0x08,0xe4,0x44,0x8e,0x3c,0x02,0x66,0x10,0x8d,0xf9,0xdd,0xa4, + 0x11,0xfe,0xd0,0x29,0x16,0x68,0x74,0xd7,0x25,0xaa,0x55,0xe0,0xe5,0x8f,0x1a,0x35, + 0xad,0x55,0xc5,0x27,0x24,0x92,0x2d,0x6d,0x98,0x6c,0xca,0x9c,0xfd,0xa1,0x6c,0xd1, + 0x00,0xa8,0xb8,0x1c,0xe5,0xa6,0xa5,0x97,0x93,0x2d,0x39,0x23,0x4d,0x53,0x13,0x9b, + 0x02,0x3a,0x87,0xe2,0x1d,0xc3,0x66,0xa1,0x7a,0x05,0x67,0x1b,0x2b,0x30,0x6c,0x51, + 0x65,0x65,0xd9,0x43,0x06,0x31,0xeb,0x72,0xe1,0x75,0xa5,0x74,0x4c,0xa0,0x27,0xb1, + 0x4e,0x07,0xd6,0x02,0x4d,0x3e,0x69,0x36,0xd3,0x29,0x34,0xb9,0xc4,0xbe,0x1f,0xc1, + 0x2d,0xf4,0x37,0xb0,0x2f,0xe7,0x1d,0x84,0x41,0xb9,0xb9,0x34,0xe6,0xa1,0x7c,0x6a, + 0xf0,0x27,0x08,0x12,0xf7,0x13,0xb3,0x8c,0x0e,0x82,0x44,0xcd,0xc1,0x5b,0x82,0x37, + 0x7d,0x78,0x53,0x88,0x42,0x6c,0xbb,0xf8,0xce,0x42,0xeb,0x8c,0xb8,0x87,0x8c,0xfc, + 0xb1,0x9f,0xc5,0x0f,0xb2,0xac,0xd1,0x5e,0x5d,0x6d,0xe3,0x66,0x0e,0x2e,0x38,0x49, + 0x21,0xb5,0xfe,0x52,0x49,0x09,0xcc,0xa9,0x56,0x6d,0xa6,0x6f,0x60,0xd7,0x30,0x80, + 0x79,0xc0,0xe5,0x87,0xfe,0x3f,0x5e,0xf5,0x24,0x51,0xee,0xb3,0xa6,0xae,0xba,0xc2, + 0x5e,0xe7,0x6e,0xef,0x85,0x33,0x19,0x90,0xcd,0xad,0xd2,0x90,0x34,0xe3,0x95,0xc7, + 0xa3,0x13,0xb7,0x8b,0xef,0xee,0x2c,0xb8,0xbc,0x16,0xff,0x65,0x8c,0x2d,0xfa,0x53, + 0x11,0xc9,0x8b,0x3b,0x1b,0x86,0x4f,0x54,0x80,0x26,0xcd,0x84,0x09,0xa3,0x87,0xe6, + 0xaa,0x80,0x5c,0x1b,0x76,0x44,0xae,0x54,0x23,0x72,0x2d,0x72,0x26,0xb0,0xdd,0x4d, + 0xdc,0x36,0x88,0x54,0x58,0x2a,0xaf,0x38,0xb7,0xf9,0x88,0xcc,0x4f,0x9a,0x4f,0x38, + 0x27,0xac,0x5e,0x23,0x93,0x28,0x1e,0xad,0xd5,0x9c,0xef,0xa2,0x43,0xfb,0x9d,0xfc, + 0x26,0x52,0x00,0x91,0xc0,0xcd,0x5c,0x2d,0x51,0x56,0x17,0xf3,0x03,0xf4,0x72,0x0d, + 0xae,0x29,0xce,0x04,0xf8,0xd7,0x2b,0x77,0x9f,0xf0,0xf5,0x67,0x22,0x28,0xec,0x50, + 0x8d,0xd2,0x12,0x54,0x26,0x47,0x67,0x0c,0xd8,0x54,0x75,0xf8,0x79,0x5d,0x81,0xcd, + 0xe5,0xd2,0x7e,0xdf,0xde,0x2d,0x97,0xa7,0x3c,0xe4,0x50,0x62,0x12,0xb4,0xb2,0x5b, + 0x04,0xa4,0xb4,0x90,0x3f,0xa4,0xa9,0x74,0xb2,0xd7,0x7e,0x9a,0x2e,0xe4,0x22,0x3d, + 0xdd,0x8d,0x41,0xa5,0x5a,0x64,0x5f,0x32,0xcb,0x26,0x33,0x3c,0xd0,0x95,0x1d,0xfa, + 0x9d,0x02,0x2b,0x6a,0x26,0x77,0x63,0x20,0x53,0xd9,0x58,0x3b,0xf9,0x73,0xd2,0x35, + 0x0f,0x7d,0x0a,0x38,0x9b,0xb5,0x9a,0xee,0x65,0x19,0x29,0x80,0x83,0xe2,0x50,0x4f, + 0x62,0x79,0xa4,0xfa,0x73,0x35,0x16,0xe6,0x42,0x40,0x57,0x91,0x22,0x04,0xb9,0x36, + 0xc5,0x20,0x2d,0x6d,0x5a,0xef,0x86,0x48,0x24,0x59,0x19,0x41,0x90,0xda,0x1d,0x7b, + 0xa6,0xc8,0x9a,0x64,0xa8,0x95,0x9c,0x76,0x67,0x04,0x6b,0x7c,0xf2,0x69,0x11,0x2f, + 0x13,0x3b,0x8b,0x15,0x7e,0x34,0x1c,0x5f,0xb9,0x19,0xfc,0x0a,0xdb,0x73,0x2a,0xc2, + 0xa1,0x7e,0xb9,0x74,0xdf,0x1b,0x64,0x32,0x3c,0xe6,0x7d,0x45,0xec,0x56,0xd3,0xb5, + 0x82,0x0d,0xc3,0x58,0x2f,0x0f,0x75,0xc9,0x95,0x57,0x6a,0x43,0x3b,0xbb,0x86,0x1a, + 0x3d,0x17,0xda,0xbb,0x8f,0xb3,0xad,0xf3,0x22,0x3b,0xf1,0xd4,0xe1,0x30,0xf9,0xd8, + 0x81,0xe3,0x90,0x14,0x8f,0x9b,0x9b,0xf8,0xd3,0x60,0x35,0x27,0x3d,0xb0,0x01,0xc8, + 0x89,0xcc,0x62,0xde,0x55,0x3b,0x0e,0x14,0xa4,0xad,0xe5,0x53,0x91,0x1a,0xbc,0x7b, + 0x39,0xbd,0xad,0xfc,0x41,0xb6,0xec,0xec,0x8d,0xe9,0xd9,0xc3,0x0d,0xe0,0xab,0x9b, + 0x53,0xc5,0x72,0xf5,0x34,0x8d,0xb4,0xb5,0x7b,0x05,0xda,0x39,0xa2,0x47,0xa0,0x78, + 0x72,0xf3,0x3a,0x43,0x35,0xfb,0xfc,0x04,0x90,0x5c,0x26,0x93,0x5d,0x82,0x4c,0x07, + 0x70,0x3a,0xcd,0xdb,0x07,0x6d,0x19,0x74,0x3d,0xba,0x0c,0x2c,0x27,0xe7,0xfd,0xdb, + 0x53,0x5e,0x64,0x84,0x35,0x37,0x4f,0x2d,0xc4,0x08,0xc7,0xf6,0xa3,0xbd,0x46,0x76, + 0xc9,0xae,0xe7,0x91,0x37,0x6a,0x62,0x2f,0xc5,0x9a,0x55,0xfc,0x39,0xc8,0x1e,0x3a, + 0x0b,0x9d,0x08,0x84,0xe5,0x71,0xc2,0x4d,0xda,0x6a,0x8a,0x60,0x60,0x45,0x26,0x5a, + 0x06,0x27,0x01,0xfd,0x06,0xf4,0x7a,0xbc,0x0a,0x53,0x1c,0xe4,0x4c,0xc4,0x9f,0x31, + 0xed,0x6f,0x8b,0x15,0x3d,0x2a,0x27,0xd4,0x23,0x5d,0x7b,0x30,0xf1,0x2b,0xad,0xe8, + 0x6c,0xed,0x0d,0x3c,0xb3,0x6c,0xa8,0xd5,0x1c,0x59,0xd1,0xa6,0x74,0xa1,0x37,0x55, + 0x7a,0x3d,0x13,0xf2,0xad,0xbf,0xb3,0x33,0x9c,0x8f,0x59,0x1e,0x04,0x57,0xca,0x8a, + 0xf7,0xc4,0x4b,0xce,0xb7,0xf2,0x5f,0xd8,0x92,0x2f,0x40,0xe1,0x4b,0x17,0x67,0x82, + 0xcd,0x5b,0x32,0x4c,0x54,0xb4,0xca,0x2f,0xb3,0x51,0x08,0x4e,0x04,0x5f,0x8e,0xd7, + 0x9f,0x7b,0xb9,0x87,0xfa,0xad,0x99,0xa6,0x5e,0x4b,0xb3,0xd4,0x5f,0x37,0x13,0x7b, + 0x58,0x1e,0x29,0x16,0xed,0xfa,0xd6,0xd4,0xf4,0x82,0x66,0x26,0x4c,0x85,0xf2,0xfa, + 0xfc,0x69,0x69,0x9e,0x7a,0xda,0xdc,0xf5,0x7a,0xb5,0x3d,0x51,0x49,0x07,0xd7,0x28, + 0xcb,0xd4,0x6d,0xfd,0xa9,0x2f,0x5e,0x38,0x2d,0x86,0xb8,0x8c,0xd5,0x92,0xdc,0x12, + 0xd1,0x72,0xe0,0x5c,0x9e,0x5b,0xec,0xd3,0x43,0x9f,0x29,0x7e,0x97,0xd4,0xef,0xf7, + 0x4f,0x4b,0xd5,0x83,0x6c,0xb9,0x2c,0x92,0x64,0x72,0x74,0xe6,0x84,0x35,0x1d,0xda, + 0xcb,0x28,0x11,0xc5,0xd1,0x73,0x4a,0xfd,0x67,0x4f,0xe7,0xc1,0x9a,0x11,0x32,0x70, + 0x40,0x47,0xd6,0xfa,0x93,0x31,0x6d,0x1c,0xe5,0x23,0xd4,0x22,0x9b,0xac,0x28,0x07, + 0x54,0x79,0x72,0x4c,0x16,0xe2,0xed,0xa2,0x85,0x06,0x6c,0xc2,0x89,0xa2,0x1f,0x92, + 0xd2,0x27,0x47,0xc2,0x89,0xdf,0xd7,0x6b,0x16,0x2e,0x1f,0xed,0x45,0x88,0x3f,0xcf, + 0x72,0xe0,0x4b,0x8a,0x0e,0x1e,0x97,0x24,0xe1,0x21,0xf9,0xbc,0xcb,0xeb,0x9b,0x3b, + 0x3b,0xea,0xdf,0x4e,0xe9,0xb2,0xa5,0x04,0x6a,0xce,0xbd,0x02,0x69,0x3f,0x72,0x66, + 0x66,0xe0,0x35,0xb9,0xf8,0xe2,0x8e,0xbf,0x3c,0x98,0xc9,0x03,0xd1,0xa0,0xb0,0x9b, + 0x9b,0x4e,0x47,0xb3,0x24,0x66,0xb5,0xd0,0x90,0xcc,0xb4,0xf5,0x8b,0x17,0xa5,0x1e, + 0x92,0xda,0x36,0x01,0x36,0x4b,0x92,0xa6,0xf2,0xa4,0x5a,0xea,0x09,0x56,0x36,0x76, + 0xc1,0x32,0xd3,0xeb,0xd3,0xd6,0x92,0x91,0xa7,0xda,0x19,0x8b,0xb9,0x34,0x15,0xf9, + 0x41,0x09,0x3d,0x74,0x05,0xd3,0x86,0xfb,0xd4,0x05,0xa2,0xe3,0x0a,0x09,0x79,0x82, + 0x00,0xbd,0xd5,0x32,0x8b,0x30,0xd7,0x6a,0x0a,0xf9,0x9c,0x9e,0xdc,0x63,0x52,0x57, + 0x7a,0x2b,0x45,0xf7,0x0e,0x53,0x09,0x61,0x1d,0xe4,0xa4,0x17,0xac,0xac,0x5b,0x1c, + 0x7e,0xb1,0xdb,0xc4,0x7f,0xab,0xa7,0x47,0xb9,0x76,0xc1,0x83,0x96,0x22,0xa8,0xf3, + 0x0d,0xac,0xae,0x46,0x9f,0xef,0xf7,0x34,0x70,0xba,0xac,0x85,0xd5,0x7f,0x88,0x09, + 0xce,0xd0,0x21,0xb7,0x1c,0xd2,0x65,0x7c,0xde,0x8a,0xb8,0x78,0x70,0x73,0x3a,0x95, + 0xde,0x83,0x97,0xd7,0x16,0x44,0x58,0xb5,0xcc,0xfd,0x37,0x0c,0x2b,0x4f,0x7a,0x6e, + 0xbb,0x1b,0x87,0xe6,0x6e,0xe9,0xfd,0xc9,0x72,0x59,0xab,0x95,0xc7,0xe2,0x8b,0x9d, + 0xe6,0x5a,0xb9,0x9d,0x6f,0x63,0xbd,0x41,0xf7,0x3f,0xc1,0xc0,0xef,0x84,0x5d,0x94, + 0x49,0xf6,0xe5,0x15,0x56,0x0c,0x20,0xc4,0x38,0x00,0xb5,0xe7,0xc1,0xea,0x85,0x8e, + 0xd0,0x20,0xf1,0x78,0xbd,0xb9,0x77,0x04,0x87,0xf5,0x93,0x5e,0x8b,0xdc,0x81,0xc3, + 0xab,0x34,0xc5,0x0e,0xe8,0x50,0x24,0xc1,0x16,0x89,0xdb,0x84,0x8c,0x63,0xfb,0xd8, + 0xb2,0x2c,0x42,0x59,0x7d,0xd6,0xe9,0x16,0x1c,0xf6,0xcb,0xe4,0x8f,0x55,0x3c,0xee, + 0x6f,0xfd,0x99,0x91,0x5b,0x88,0x04,0x2a,0xd3,0xde,0xe7,0xd6,0x7f,0x1e,0xbe,0x7b, + 0xdb,0x30,0xfe,0xba,0x11,0x47,0x35,0xd2,0xa9,0xdd,0xa3,0x8b,0x27,0x79,0x67,0x66, + 0xab,0x6d,0xeb,0x64,0x6f,0x3b,0x39,0xbb,0x8b,0xab,0x83,0xfc,0xfa,0xe7,0xff,0xd6, + 0x7e,0x10,0x6e,0x32,0xe3,0x85,0xb7,0x71,0xe1,0x8f,0xb6,0x0e,0x91,0xdb,0x56,0x76, + 0xd7,0x7e,0x88,0x69,0x77,0xbb,0x62,0xad,0xa1,0xdd,0x0f,0x6b,0x96,0xd3,0xfe,0x4e, + 0x93,0xc2,0x49,0xe6,0x9b,0x4d,0x14,0x9e,0x25,0x83,0x1e,0x8e,0xdd,0x1d,0x17,0xc0, + 0xc8,0xb5,0x65,0xbc,0xb6,0xef,0x71,0xc6,0xea,0x89,0x8d,0x3f,0xd1,0xb4,0x46,0x18, + 0x01,0x42,0x3f,0x0f,0x99,0xc9,0x58,0x9a,0x12,0x01,0x1c,0x00,0x9c,0x4a,0x0f,0x49, + 0x46,0xae,0xdf,0xcd,0xbf,0xc6,0xa4,0x44,0x56,0x07,0x90,0x22,0x93,0x33,0x3e,0x3b, + 0xd3,0x8d,0xbd,0xd9,0xc7,0xd3,0x21,0x3b,0x5f,0x7a,0x54,0x49,0x23,0xc7,0xaa,0x5c, + 0x92,0xb3,0xb5,0xd7,0xf2,0xd3,0xbc,0x7c,0x43,0x15,0x3d,0x62,0x0d,0x15,0x2f,0xaa, + 0x7d,0x24,0x3f,0x94,0x97,0xec,0x08,0x39,0x21,0xa1,0xa3,0x45,0x96,0x2a,0xa3,0xa7, + 0x02,0x63,0x3a,0x2a,0xcf,0x9d,0x0f,0xf6,0x6c,0xa7,0xc5,0xee,0x06,0x02,0x04,0x9b, + 0xf6,0x80,0x3f,0xe7,0xe3,0x93,0x0a,0xab,0x91,0x5b,0x3e,0x96,0x73,0x97,0xcc,0x3c, + 0xbf,0x10,0x85,0xb5,0xc1,0x09,0xcf,0xba,0xb2,0x0d,0xbe,0x4c,0xa3,0x5b,0x44,0xb7, + 0x7e,0x64,0xbc,0x45,0xef,0xd1,0x73,0xeb,0x11,0x59,0xd5,0x7e,0x8b,0x2a,0xe4,0xcb, + 0xeb,0x5b,0xde,0x66,0x7e,0xb6,0xf2,0xf1,0x7b,0xea,0x7c,0xb0,0x0c,0x49,0x5e,0x7c, + 0xcc,0xf6,0x8a,0xdb,0x55,0x0c,0xa2,0x6b,0x88,0xc9,0xe5,0x1e,0x6f,0x75,0x5b,0x46, + 0x90,0xf1,0x47,0x19,0x3c,0x4c,0x5e,0x5a,0xaa,0x9e,0x9e,0x55,0xba,0x3d,0x85,0x26, + 0x51,0x69,0x29,0x47,0xb5,0x16,0x57,0x8c,0x1e,0xd5,0xb6,0x99,0x6e,0x59,0x0b,0xab, + 0x94,0x6e,0xed,0x8d,0x2f,0x6f,0x68,0xd1,0xd0,0xdc,0x25,0x3b,0x4f,0x9b,0xce,0x72, + 0xb6,0xac,0x20,0xf3,0x86,0xbe,0x4e,0xfe,0x8c,0x70,0xf6,0xef,0xd7,0xc7,0xf9,0x7a, + 0xab,0x6a,0xfd,0x9c,0x76,0xc6,0x09,0x3b,0x30,0xeb,0xcf,0x58,0x49,0xd7,0x91,0xb8, + 0x0d,0x7c,0xd7,0xd8,0x1e,0x6f,0xe5,0xb1,0x44,0xfd,0xfe,0xf9,0x4e,0xf3,0x2b,0x46, + 0x4d,0x6d,0x5b,0x64,0xd0,0x1d,0xcf,0x3d,0x8a,0xbc,0x52,0x04,0x80,0xda,0xe2,0xf2, + 0xa8,0x2c,0x3d,0xed,0xf3,0x00,0xde,0x82,0x4b,0xeb,0x3f,0x54,0x32,0xf8,0x5b,0x0f, + 0xb7,0xa9,0xe4,0xc4,0x77,0x72,0x05,0x14,0x3d,0x59,0x20,0xac,0xb1,0xb9,0x00,0x53, + 0x6c,0x0b,0x11,0x3d,0xa1,0x8c,0xe5,0x98,0x53,0x36,0x12,0x0c,0x16,0x81,0x6b,0xcb, + 0x1c,0x36,0xb6,0x81,0xa5,0x38,0x01,0x96,0x03,0x68,0x49,0x8c,0xa9,0x4e,0xc6,0x55, + 0xd9,0xe1,0xe4,0x6c,0x9e,0xaf,0x7c,0x59,0x8c,0xf2,0xb9,0xe8,0x27,0xba,0x95,0x4e, + 0x16,0x71,0xfe,0xaa,0x0d,0x46,0x74,0x81,0x01,0x12,0x0e,0xe9,0x05,0x68,0x66,0x9d, + 0x6e,0x05,0x83,0x9f,0x29,0x86,0xb0,0x84,0xc6,0xbe,0x1a,0x5b,0xf7,0xd8,0x75,0xc1, + 0x66,0xf7,0x7f,0xb7,0x7c,0x14,0x4b,0x5e,0x7a,0x3e,0xf0,0x4b,0x54,0xf4,0xb1,0x41, + 0x26,0x76,0x58,0x54,0x5e,0x23,0x38,0x72,0x6d,0x92,0xb0,0x1e,0xa4,0x86,0xd2,0x00, + 0xf8,0x81,0x7a,0x0d,0xec,0x0c,0x49,0x3d,0x9b,0x10,0x2f,0xec,0x52,0xd7,0x37,0x42, + 0xb5,0xe9,0x96,0x32,0x78,0x15,0x81,0x9c,0x47,0x1c,0x76,0x36,0x82,0x0f,0x4a,0x0c, + 0xa7,0x13,0x7d,0x5d,0xfe,0x0a,0xd6,0x50,0xec,0x29,0x50,0x65,0xb4,0xad,0xe1,0x7b, + 0x2b,0x9f,0x68,0xf3,0xf3,0xc5,0xb5,0x6d,0x9e,0xa6,0xe5,0xff,0x1b,0x19,0xe4,0xf7, + 0x67,0x36,0x5f,0x16,0x67,0x41,0xd7,0xa9,0x2c,0xeb,0xae,0x07,0xd9,0x55,0x67,0x48, + 0xb7,0x6c,0xc8,0xa4,0x2c,0x29,0xd4,0xa3,0xb9,0xa5,0x3b,0x76,0x6b,0x9c,0x54,0x07, + 0x86,0xb5,0xb7,0x91,0x0d,0xdc,0x75,0x1d,0xab,0xb2,0xb5,0x70,0x85,0xdb,0x1c,0x31, + 0x42,0xb9,0xe0,0x35,0x0b,0x69,0x90,0x83,0xea,0xff,0xb6,0xb6,0x98,0xcd,0xea,0x28, + 0x99,0x72,0xc1,0x86,0xae,0x4f,0x4e,0x96,0x4d,0x66,0x73,0xf5,0xf3,0xda,0xde,0xd7, + 0xb3,0xe7,0xc2,0x74,0x2e,0xfe,0xab,0x64,0x5d,0xc4,0x1f,0xfa,0xe4,0xde,0x8d,0xea, + 0x39,0xea,0xf0,0xf1,0xd1,0x39,0xc5,0x34,0xb8,0x62,0xff,0x9c,0x07,0xac,0xf4,0x45, + 0x7b,0x83,0x53,0x70,0x45,0x31,0x07,0x67,0xeb,0xf3,0x7b,0x00,0x6a,0xcf,0x44,0x8f, + 0xd0,0x65,0xde,0x91,0x8b,0xb6,0x6e,0x67,0x66,0xee,0x42,0x64,0xdd,0x4a,0x46,0x50, + 0xb3,0x83,0x11,0x4c,0x48,0x2d,0x05,0x90,0x4f,0xe4,0x1c,0x2b,0xbc,0xd5,0x25,0xe3, + 0x6b,0xfd,0xfa,0x5a,0xb2,0x61,0x31,0x28,0x6e,0x54,0x28,0x56,0x54,0xca,0x51,0x16, + 0x66,0x94,0x2b,0x02,0x88,0xe1,0x4f,0x9d,0x32,0x70,0x71,0xa6,0x55,0x19,0xf2,0x39, + 0x71,0x28,0x2e,0xb5,0x02,0xe7,0x86,0x17,0xb9,0x08,0x2e,0x01,0x13,0x06,0xc3,0xf2, + 0x6e,0x7a,0xcb,0xc6,0x2b,0x95,0x36,0x43,0xb8,0x3d,0xc2,0x81,0x01,0xad,0x62,0x5d, + 0xa6,0x7f,0xdb,0x6c,0x3c,0xdb,0x31,0x48,0xe2,0x15,0x5a,0xf8,0xfb,0x4f,0x82,0x59, + 0xb8,0x54,0x76,0x59,0xf4,0xe8,0xca,0xf4,0x8a,0x0d,0x0b,0x46,0xd5,0xe0,0x9f,0xd8, + 0xae,0x98,0xb1,0x10,0xb7,0x1f,0x9c,0xd1,0xd0,0xa2,0x19,0x9d,0x81,0x05,0xc0,0xfe, + 0x0c,0x8d,0x43,0x43,0x4b,0x2b,0x25,0xbe,0x45,0x56,0x46,0x4c,0x10,0x03,0x98,0x47, + 0x6a,0x00,0x63,0x5d,0x2b,0x61,0xd7,0x66,0xf1,0x42,0x1f,0x59,0xfa,0xdb,0xde,0x59, + 0x74,0x4b,0x96,0x33,0x2c,0xc2,0x72,0xc4,0x3e,0x17,0x57,0x25,0xcd,0x20,0xe3,0xf7, + 0x1b,0x44,0xeb,0x44,0x6a,0xa7,0xdb,0x0e,0x08,0x23,0x45,0x01,0xa0,0x15,0xf4,0x60, + 0xbe,0x21,0x52,0xc1,0x94,0xfe,0xb5,0x07,0xb0,0x0b,0xb1,0x58,0x38,0x64,0xb2,0x78, + 0xef,0x66,0x84,0x10,0xcb,0x37,0x3c,0x3d,0xdf,0x32,0xf6,0xc2,0x2f,0xf0,0x44,0xfb, + 0x34,0xfa,0xbd,0x98,0x8f,0x86,0x2f,0x36,0xfe,0xff,0x17,0x86,0x12,0xb7,0xd2,0xcd, + 0x01,0x00, }; const uint8_t WEBCONFIG_HTML_SUCCESS[] PROGMEM = { diff --git a/test/test_common_radio_persistence.py b/test/test_common_radio_persistence.py index 269ef685..3e0c8bf6 100644 --- a/test/test_common_radio_persistence.py +++ b/test/test_common_radio_persistence.py @@ -86,11 +86,12 @@ int main() { auto original=cli.fs.files["/com_prefs"]; // Appending preferences must not move the established preamble bytes. const size_t preamble_offset=866; - assert(original.size()==873); + assert(original.size()==874); assert(original[preamble_offset]==48 && original[preamble_offset+1]==0); assert(original[preamble_offset+2]==1); assert(original[preamble_offset+3]==0x50 && original[preamble_offset+4]==0x01); assert(original[871]==0 && original[872]==0); // debug and trace remain appended + assert(original[873]==0); // channel selection does not move the previous fields Capture capture; assert(writeCommonPrefsImage(capture,&cli.prefs)); assert(capture.bytes==original); // Both serializers retain the same layout. for (int fault : {0,1,2,3,4}) { diff --git a/test/test_common_usb_debug.py b/test/test_common_usb_debug.py index fad0a35f..8d3a5baf 100644 --- a/test/test_common_usb_debug.py +++ b/test/test_common_usb_debug.py @@ -158,7 +158,7 @@ int main() { cli.savePrefs(&cli.fs, PrefsSaveRouting::Scope::Common); assert(cli._common_save_succeeded); const auto baseline = cli.fs.files["/com_prefs"]; - assert(baseline.size() == 873); + assert(baseline.size() == 874); const size_t debug_offset = 871, trace_offset = 872; const size_t logging_offset = 863, preamble_offset = 866; const size_t espnow_offset = 868, gps_offset = 869; @@ -166,6 +166,7 @@ int main() { assert(baseline[preamble_offset] == 48 && baseline[espnow_offset] == 1); assert(baseline[gps_offset] == 0 && baseline[gps_offset + 1] == 0); assert(baseline[trace_offset] == 0); + assert(baseline[873] == 0); // OTA channel follows the established tail. Capture capture; assert(writeCommonPrefsImage(capture, &cli.prefs)); assert(capture.bytes == baseline); // Checked and ordinary writers agree. diff --git a/test/test_config_serializer/test_config_serializer.cpp b/test/test_config_serializer/test_config_serializer.cpp index e32a9225..b67ee9cb 100644 --- a/test/test_config_serializer/test_config_serializer.cpp +++ b/test/test_config_serializer/test_config_serializer.cpp @@ -468,6 +468,35 @@ TEST(DynamicConfigSerializer, LoadCustom_Basic) { EXPECT_TRUE(g2); EXPECT_STREQ("Scott", tmp); } +TEST(NodePrefs, OtaChannelDefaultsToNative) { + NodePrefs prefs; + EXPECT_EQ(0, prefs.ota_channel); // 0 == native +} + +TEST(NodePrefs, OtaChannelRoundTrip) { + NodePrefs saved; + saved.ota_channel = 2; // dev + + MockPrintStream output; + ASSERT_TRUE(saved.saveSerial(output)); + std::string serialised(reinterpret_cast(output.getBytes()), output.getLength()); + EXPECT_NE(std::string::npos, serialised.find("ota_ch:2")); + + MockInputStream input(serialised.c_str()); + NodePrefs loaded; + loaded.ota_channel = 1; // start different + ASSERT_TRUE(loaded.loadSerial(input)) << serialised; + EXPECT_EQ(2, loaded.ota_channel); +} + +TEST(NodePrefs, OtaChannelMissingKeyKeepsDefault) { + // A /prefs.json written before this field existed has no ota_ch key. + MockInputStream input("{name:\"n\"}"); + NodePrefs loaded; // ota_channel default 0 (native) + ASSERT_TRUE(loaded.loadSerial(input)); + EXPECT_EQ(0, loaded.ota_channel); +} + // ── main ─────────────────────────────────────────────────────── diff --git a/test/test_observer_build_channels.py b/test/test_observer_build_channels.py new file mode 100644 index 00000000..b7b71dc9 --- /dev/null +++ b/test/test_observer_build_channels.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Check observer channel selection and fork identity without invoking PIO.""" +import importlib.util +import os +from pathlib import Path +import shlex +import shutil +import subprocess +import tempfile +import unittest + +ROOT = Path(__file__).resolve().parents[1] +SPEC = importlib.util.spec_from_file_location("verify_ota_channel", ROOT / "scripts/verify_ota_channel.py") +VERIFY = importlib.util.module_from_spec(SPEC) +SPEC.loader.exec_module(VERIFY) +PROD = "https://observer.gessaman.com/v" +BETA = "https://observer.gessaman.com/beta/v" +CHANNEL_ENV = ( + "OTA_MANIFEST_BASE_URL", "OTA_MANIFEST_BASE_STABLE_URL", "OTA_MANIFEST_BASE_DEV_URL", + "FIRMWARE_BUILD_NUMBER", "OTA_CHANNEL_TAG", "FILENAME_CHANNEL_TAG", +) + + +class ObserverBuildChannelTests(unittest.TestCase): + def shell(self, body, settings=None): + environment = {key: value for key, value in os.environ.items() if key not in CHANNEL_ENV} + environment.update(settings or {}) + bash = shutil.which("bash") + git_bash = Path("C:/Program Files/Git/bin/bash.exe") + if os.name == "nt" and git_bash.is_file(): + bash = str(git_bash) + result = subprocess.run( + [bash, "-c", 'set -euo pipefail; cd "$1"; source build.sh; ' + 'pio() { echo FORBIDDEN_PLATFORMIO >&2; return 99; }; ' + body, + "observer-channel-test", ROOT.as_posix()], + cwd=ROOT, env=environment, text=True, capture_output=True, timeout=15, + ) + self.assertEqual(result.returncode, 0, result.stdout + result.stderr) + self.assertNotIn("FORBIDDEN_PLATFORMIO", result.stdout + result.stderr) + return result.stdout + + def flags(self, target, settings=None): + output = self.shell( + "PLATFORMIO_BUILD_FLAGS=-DKEEP_CALLER_FLAG=1; " + f"apply_observer_ota_channel_flags {shlex.quote(target)}; " + 'printf "%s" "$PLATFORMIO_BUILD_FLAGS"', settings, + ) + return dict(flag[2:].split("=", 1) for flag in shlex.split(output)) + + def test_production_beta_and_custom_native_bases(self): + for native in (PROD, BETA, "https://observer.gessaman.com/v-plus"): + with self.subTest(native=native): + flags = self.flags("Heltec_v3_repeater_observer_mqtt", + {"OTA_MANIFEST_BASE_URL": native}) + self.assertEqual(flags["KEEP_CALLER_FLAG"], "1") + self.assertEqual(flags["OTA_MANIFEST_BASE"], f'"{native}"') + self.assertEqual(flags["OTA_MANIFEST_BASE_STABLE"], f'"{PROD}"') + self.assertEqual(flags["OTA_MANIFEST_BASE_DEV"], f'"{BETA}"') + + def test_default_and_named_channel_overrides(self): + self.assertEqual(self.flags("Heltec_v3_room_server_observer_mqtt")["OTA_MANIFEST_BASE"], f'"{PROD}"') + flags = self.flags("Heltec_v3_room_server_observer_mqtt", { + "OTA_MANIFEST_BASE_URL": "https://fork.test/preview/v", + "OTA_MANIFEST_BASE_STABLE_URL": "https://fork.test/v", + "OTA_MANIFEST_BASE_DEV_URL": "https://fork.test/dev/v", + }) + self.assertEqual(flags["OTA_MANIFEST_BASE_STABLE"], '"https://fork.test/v"') + self.assertEqual(flags["OTA_MANIFEST_BASE_DEV"], '"https://fork.test/dev/v"') + + def test_non_observer_keeps_destination_and_unset_flags(self): + self.assertEqual(self.flags("Heltec_v3_repeater", {"OTA_MANIFEST_BASE_URL": BETA}), + {"KEEP_CALLER_FLAG": "1"}) + self.assertEqual(self.shell( + "unset PLATFORMIO_BUILD_FLAGS; apply_observer_ota_channel_flags Heltec_v3_repeater; " + 'printf "%s" "${PLATFORMIO_BUILD_FLAGS-unset}"'), "unset") + original = "-DOTA_MANIFEST_BASE='\"https://fork.test/v\"'" + self.assertEqual(self.shell( + f"PLATFORMIO_BUILD_FLAGS={shlex.quote(original)}; " + 'apply_observer_ota_channel_flags Heltec_v3_companion_radio_full; ' + 'printf "%s" "$PLATFORMIO_BUILD_FLAGS"'), original) + + def test_observer_version_tags_keep_beta_identity(self): + settings = {"FIRMWARE_BUILD_NUMBER": "9", "OTA_CHANNEL_TAG": "beta-dev", + "FILENAME_CHANNEL_TAG": "-dev"} + self.assertEqual(self.shell( + "get_firmware_version_string Heltec_v3_repeater_observer_mqtt v1.17.1 abc1234", settings), + "v1.17.1.9-dev-abc1234") + self.assertEqual(self.shell( + "get_firmware_version_string Heltec_v3_repeater_observer_mqtt v1.17.1 abc1234 embedded", settings), + "v1.17.1.9-observer-beta-dev-abc1234") + self.assertEqual(self.shell( + "get_firmware_version_string Heltec_v3_repeater v1.17.1 abc1234", settings), + "v1.17.1-abc1234") + self.assertEqual(self.shell( + "get_firmware_version_string Heltec_v3_repeater_observer_mqtt v1.17.1 abc1234 embedded"), + "v1.17.1-observer-abc1234") + + def test_variant_native_bases_do_not_override_workflow_channel(self): + for path in ROOT.glob("variants/*/platformio.ini"): + self.assertNotIn("-D OTA_MANIFEST_BASE=", path.read_text(), str(path)) + + @staticmethod + def blob(native=PROD, compat="2+keymind1"): + return (f"ota-base-native:{native}\0ota-base-stable:{PROD}\0" + f"ota-base-dev:{BETA}\0ota-compat:{compat}\0").encode() + + def test_verifier_requires_fork_capability_and_exact_channel(self): + self.assertEqual(VERIFY.check(self.blob(), "prod", PROD, PROD, BETA, ("keymind1",)), []) + self.assertTrue(VERIFY.check(self.blob(compat="2+eth"), "prod", PROD, PROD, BETA, ("keymind1",))) + self.assertTrue(VERIFY.check(self.blob(BETA), "prod", PROD, PROD, BETA, ("keymind1",))) + self.assertEqual(VERIFY.check(self.blob(BETA), "beta", BETA, PROD, BETA, ("keymind1",)), []) + + def test_verifier_checks_every_published_binary(self): + with tempfile.TemporaryDirectory(prefix="mesh-observer-channel-") as temporary: + directory = Path(temporary) + (directory / "one.bin").write_bytes(self.blob()) + (directory / "two-merged.bin").write_bytes(self.blob(BETA)) + result = subprocess.run([ + os.sys.executable, str(ROOT / "scripts/verify_ota_channel.py"), "--expect", "prod", + "--native-url", PROD, "--stable-url", PROD, "--dev-url", BETA, + "--required-cap", "keymind1", "--bin-dir", str(directory), + ], text=True, capture_output=True, timeout=10) + self.assertNotEqual(result.returncode, 0) + self.assertIn("two-merged.bin", result.stderr) + self.assertIn("1 of 2 builds", result.stderr) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_observer_ota_channel.py b/test/test_observer_ota_channel.py new file mode 100644 index 00000000..cfc4ed4a --- /dev/null +++ b/test/test_observer_ota_channel.py @@ -0,0 +1,247 @@ +"""Exercise the production observer OTA stream, channel commit, and deferred call.""" +from pathlib import Path +import os +import shutil +import subprocess +import tempfile +import unittest + +from test_replay_reset_integration import extract_braced + +ROOT = Path(__file__).resolve().parents[1] + + +def compile_run(code): + compiler = shutil.which("g++") or shutil.which("clang++") + if compiler is None: + raise unittest.SkipTest("a host C++17 compiler is required") + with tempfile.TemporaryDirectory(prefix="observer-ota-channel-") as directory: + cpp = Path(directory) / "test.cpp" + binary = Path(directory) / ("test.exe" if os.name == "nt" else "test") + cpp.write_text(code, encoding="utf-8") + result = subprocess.run( + [compiler, "-std=c++17", "-Wall", "-Wextra", "-Werror", "-I", str(ROOT / "src"), + str(cpp), "-o", str(binary)], text=True, capture_output=True, timeout=60) + if result.returncode: + raise AssertionError(result.stderr) + result = subprocess.run([str(binary)], text=True, capture_output=True, timeout=10) + if result.returncode: + raise AssertionError(f"exit {result.returncode}: {result.stdout}\n{result.stderr}") + + +class ObserverOtaChannelTest(unittest.TestCase): + def test_stream_refuses_unsafe_images_before_boot_commit(self): + board = (ROOT / "src/helpers/ESP32Board.cpp").read_text(encoding="utf-8") + stream = extract_braced(board, "static bool ota_streamFirmware(") + code = r''' +#include +#include +#include +#include +#include +#include +static uint32_t clock_ms=0, yields=0; +uint32_t millis() { return clock_ms; } +void delay(uint32_t ms) { clock_ms+=ms; ++yields; } +namespace mesh { +struct Logging { void printf(const char*, ...) {} }; +Logging& usbLoggingPort() { static Logging value; return value; } +} +static constexpr int U_FLASH=0; +struct UpdateMock { + bool begin_ok=true, write_ok=true, end_ok=true; + bool aborted=false, boot_committed=false; + int end_calls=0; + std::vector written; + bool begin(size_t, int) { return begin_ok; } + size_t write(const uint8_t* data, size_t size) { + if (!write_ok) return 0; + written.insert(written.end(), data, data+size); return size; + } + bool end() { ++end_calls; boot_committed=end_ok; return end_ok; } + void abort() { aborted=true; } + const char* errorString() { return "injected failure"; } +} Update; +struct Client { + std::string image; + size_t pos=0, chunk=1; + bool stalled=false, disconnect_on_read=false; + int available() { return stalled ? 1 : int(image.size()-pos); } + bool connected() { return stalled || poschunk) wanted=chunk; + if (wanted>image.size()-pos) wanted=image.size()-pos; + memcpy(out, image.data()+pos, wanted); pos+=wanted; return int(wanted); + } +}; +@STREAM@ +int main() { + char reply[160]={}; + auto run = [&](std::string image, size_t chunk, bool expect_ok) { + Update=UpdateMock(); clock_ms=0; yields=0; + Client client; client.image=std::move(image); client.chunk=chunk; + const bool ok=ota_streamFirmware(client, client.image.size(), reply); + assert(ok==expect_ok && Update.boot_committed==expect_ok); + assert(Update.end_calls==(expect_ok ? 1 : 0)); + assert(expect_ok ? !Update.aborted : Update.aborted); + return ok; + }; + const std::string tag(ota_compat_tag, sizeof(ota_compat_tag)); + const std::string literal("ota-compat:\0", 12); + const std::string compatible=literal+std::string(2111, 'x')+tag+"tail"; + for (size_t chunk : {size_t(1), size_t(7), size_t(63), size_t(64), size_t(2048)}) + run(compatible, chunk, true); + run(std::string("ota-compat:2\0", 13), 2048, false); // upstream JSON generation + run("untagged-image", 7, false); + run(literal+"only-search-literal", 1, false); + run(tag.substr(0, tag.size()-1), 1, false); // no complete NUL-terminated tag + run(tag+std::string("ota-compat:2\0", 13), 7, false); + run(std::string("ota-compat:2\0", 13)+tag, 2048, false); + run(tag+tag, 3, true); // duplicate identical constants are harmless + const char future[]="ota-compat:1+keymind1+future"; + run(tag+std::string(future, sizeof(future)), 5, false); + run(tag+"ota-compat:2+future", 1, false); // pending tag after a good one + std::string oversized=tag+"ota-compat:1+keymind1+"+std::string(128, 'a'); + oversized.push_back(0); + run(oversized, 1, false); + run(std::string("ota-compat:2147483648\0", 22)+tag, 2048, true); + + Update=UpdateMock(); Client incomplete; incomplete.image=tag; + assert(!ota_streamFirmware(incomplete, tag.size()+1, reply)); + assert(Update.aborted && !Update.boot_committed && Update.end_calls==0); + Update=UpdateMock(); Client stalled; stalled.stalled=true; clock_ms=0; yields=0; + assert(!ota_streamFirmware(stalled, tag.size(), reply)); + assert(Update.aborted && Update.end_calls==0 && yields>0); + assert(strstr(reply, "timeout")); + Update=UpdateMock(); stalled.stalled=true; stalled.disconnect_on_read=true; + assert(!ota_streamFirmware(stalled, tag.size(), reply)); + assert(Update.aborted && Update.end_calls==0 && strstr(reply, "incomplete")); + Update=UpdateMock(); Update.write_ok=false; Client bad_write; bad_write.image=tag; + assert(!ota_streamFirmware(bad_write, tag.size(), reply)); + assert(Update.aborted && Update.end_calls==0); + Update=UpdateMock(); Update.end_ok=false; Client bad_end; bad_end.image=tag; + assert(!ota_streamFirmware(bad_end, tag.size(), reply)); + assert(!Update.boot_committed && Update.end_calls==1); +} +'''.replace("@STREAM@", stream) + compile_run(code) + + def test_channel_setting_rolls_back_and_deferred_update_keeps_snapshot(self): + cli = (ROOT / "src/helpers/CommonCLI_Observer.cpp").read_text(encoding="utf-8") + branch = extract_braced(cli, 'if (memcmp(command, "ota branch", 10) == 0') + roles = [] + for role in ("simple_repeater", "simple_room_server"): + header = (ROOT / "examples" / role / "MyMesh.h").read_text(encoding="utf-8") + method = extract_braced(header, "bool beginDeferredOtaUpdate() override") + roles.append("struct " + role + " : Deferred { " + method + " };\n") + code = r''' +#define WITH_MQTT_BRIDGE 1 +#define OTA_MANIFEST_BASE "https://native.example/v" +#define OTA_MANIFEST_BASE_STABLE "https://prod.example/v" +#define OTA_MANIFEST_BASE_DEV "https://beta.example/v" +#include +#include +#include +#include +#include +static uint32_t now_ms=10; +uint32_t millis() { return now_ms; } +struct Prefs { uint8_t ota_channel=0; }; +struct Common { + Prefs prefs; Prefs* _prefs=&prefs; + bool save_ok=true; int saves=0; uint8_t persisted=0; + bool saveCommonPrefs() { + ++saves; if (!save_ok) return false; + persisted=_prefs->ota_channel; return true; + } + bool run(const char* command, char* reply) { @BRANCH@ return false; } +}; +struct Deferred { + Prefs _prefs; + unsigned long _ota_update_at=0; + uint8_t _ota_update_channel=0; + virtual bool beginDeferredOtaUpdate()=0; + void otaAlert(const char*) {} +}; +@ROLES@ +template void check_deferred() { + Role role; role._prefs.ota_channel=OTA_CH_DEV; + assert(role.beginDeferredOtaUpdate()); + role._prefs.ota_channel=OTA_CH_STABLE; + assert(role._ota_update_channel==OTA_CH_DEV); + assert(role._ota_update_at==2510); + assert(!strcmp(ota_resolve_base(role._ota_update_channel), "https://beta.example/v")); +} +int main() { + Common cli; char reply[160]={}; + assert(cli.run("ota branch", reply) && cli.saves==0); + assert(strstr(reply, "build: custom")); + assert(cli.run("ota branch beta", reply)); + assert(cli.prefs.ota_channel==OTA_CH_DEV && cli.persisted==OTA_CH_DEV && cli.saves==1); + cli.save_ok=false; + assert(cli.run("ota branch prod", reply)); + assert(cli.prefs.ota_channel==OTA_CH_DEV && cli.persisted==OTA_CH_DEV); + assert(strstr(reply, "ERR: OTA channel save failed")); + const int saves=cli.saves; + assert(cli.run("ota branch Beta", reply) && cli.saves==saves); + assert(!cli.run("ota branches", reply)); + cli.save_ok=true; + for (const char* choice : {"ota branch prod", "ota branch stable", "ota branch default", "ota branch dev"}) + assert(cli.run(choice, reply) && !strncmp(reply, "channel set", 11)); + check_deferred(); check_deferred(); +} +'''.replace("@BRANCH@", branch).replace("@ROLES@", "\n".join(roles)) + compile_run(code) + + def test_worker_releases_network_pin_after_task_failure_and_completion(self): + board = (ROOT / "src/helpers/ESP32Board.cpp").read_text(encoding="utf-8") + args = extract_braced(board, "struct OtaTaskArgs {") + ";" + entry = extract_braced(board, "static void ota_task_entry(") + worker = extract_braced(board, "bool ESP32Board::otaFromManifest(") + code = r''' +#include +#include +#include +using TaskHandle_t=void*; using BaseType_t=int; +static constexpr BaseType_t pdPASS=1; +static bool spawn_ok=false; +void delay(uint32_t) {} +void vTaskDelete(void*) {} +BaseType_t xTaskCreatePinnedToCore(void (*entry)(void*), const char*, int, void* arg, int, + TaskHandle_t*, int) { + if (!spawn_ok) return 0; + entry(arg); return pdPASS; +} +struct NetworkLink { + int locks=0, releases=0; + void lockSwitching() { ++locks; } + void unlockSwitching() { ++releases; } +} network; +NetworkLink& activeNetworkLink() { return network; } +struct ESP32Board { + bool otaFromManifest(const char*, const char*, bool, char[]); + bool otaFromManifestImpl(const char* base, const char* version, bool dry, char[]) { + assert(network.locks==network.releases+1); + assert(!strcmp(base, "base") && !strcmp(version, "version") && dry); + return false; + } +}; +@ARGS@ +@ENTRY@ +@WORKER@ +int main() { + ESP32Board board; char reply[160]={}; + assert(!board.otaFromManifest("base", "version", true, reply)); + assert(network.locks==1 && network.releases==1 && strstr(reply, "spawn failed")); + spawn_ok=true; + assert(!board.otaFromManifest("base", "version", true, reply)); + assert(network.locks==2 && network.releases==2); +} +'''.replace("@ARGS@", args).replace("@ENTRY@", entry).replace("@WORKER@", worker) + compile_run(code) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_ota_channel/test_ota_channel.cpp b/test/test_ota_channel/test_ota_channel.cpp new file mode 100644 index 00000000..3c751420 --- /dev/null +++ b/test/test_ota_channel/test_ota_channel.cpp @@ -0,0 +1,157 @@ +#include +#include +#include "helpers/OtaChannel.h" + +// The three base URLs are provided as -D macros by the test env (see platformio.ini). +TEST(OtaChannel, ResolvesNativeToBaseMacro) { + EXPECT_STREQ(ota_resolve_base(OTA_CH_NATIVE), "https://stable.example/mqtt/v"); +} +TEST(OtaChannel, ResolvesStable) { + EXPECT_STREQ(ota_resolve_base(OTA_CH_STABLE), "https://stable.example/mqtt/v"); +} +TEST(OtaChannel, ResolvesDev) { + EXPECT_STREQ(ota_resolve_base(OTA_CH_DEV), "https://dev.example/mqtt/dev/v"); +} +TEST(OtaChannel, BasesAreStoredBehindCiTags) { + EXPECT_STREQ(ota_tagged_native, "ota-base-native:https://stable.example/mqtt/v"); + EXPECT_STREQ(ota_tagged_stable, "ota-base-stable:https://stable.example/mqtt/v"); + EXPECT_STREQ(ota_tagged_dev, "ota-base-dev:https://dev.example/mqtt/dev/v"); +} +TEST(OtaChannel, ParseKnownKeywords) { + uint8_t ch = 99; + EXPECT_TRUE(ota_parse_channel("prod", &ch)); EXPECT_EQ(ch, OTA_CH_STABLE); + EXPECT_TRUE(ota_parse_channel("stable", &ch)); EXPECT_EQ(ch, OTA_CH_STABLE); + EXPECT_TRUE(ota_parse_channel("beta", &ch)); EXPECT_EQ(ch, OTA_CH_DEV); + EXPECT_TRUE(ota_parse_channel("default", &ch)); EXPECT_EQ(ch, OTA_CH_NATIVE); + EXPECT_TRUE(ota_parse_channel("dev", &ch)); EXPECT_EQ(ch, OTA_CH_DEV); +} +TEST(OtaChannel, ParseRejectsUnknownAndLeavesOutputUntouched) { + uint8_t ch = 7; + EXPECT_FALSE(ota_parse_channel("production", &ch)); + EXPECT_FALSE(ota_parse_channel("Beta", &ch)); + EXPECT_FALSE(ota_parse_channel("", &ch)); + EXPECT_EQ(ch, 7); +} +TEST(OtaChannel, NameLabels) { + EXPECT_STREQ(ota_channel_name(OTA_CH_NATIVE), "default"); + EXPECT_STREQ(ota_channel_name(OTA_CH_STABLE), "prod"); + EXPECT_STREQ(ota_channel_name(OTA_CH_DEV), "beta"); +} +TEST(OtaChannel, NativeChannelNameMatchesBase) { + EXPECT_STREQ(ota_native_channel_name(), "prod"); +} + +TEST(OtaCompat, OwnTagParses) { + OtaCompat own; + ASSERT_TRUE(ota_compat_parse(ota_compat_tag + sizeof(OTA_COMPAT_TAG) - 1, &own)); + EXPECT_EQ(own.gen, OTA_STATE_GEN); + EXPECT_EQ(own.caps, OTA_CAP_KEYMIND_PREFS); +} +TEST(OtaCompat, ParsesCapsAndRejectsJunk) { + OtaCompat c; + ASSERT_TRUE(ota_compat_parse("12+eth+future", &c)); + EXPECT_EQ(c.gen, 12); + EXPECT_EQ(c.caps, OTA_CAP_ETH); + EXPECT_FALSE(ota_compat_parse("", &c)); + EXPECT_FALSE(ota_compat_parse("x1", &c)); + EXPECT_FALSE(ota_compat_parse("2eth", &c)); + EXPECT_FALSE(ota_compat_parse("2+", &c)); + EXPECT_FALSE(ota_compat_parse("2147483648+keymind1", &c)); + ASSERT_TRUE(ota_compat_parse("1+keymind1", &c)); + EXPECT_EQ(c.caps, OTA_CAP_KEYMIND_PREFS); +} +TEST(OtaCompat, FindsCompleteTagOnly) { + const char img[] = "\xe9junk\0ota-compat:2+eth\0tail"; + const char* v = ota_compat_find((const uint8_t*)img, sizeof(img)); + ASSERT_NE(v, nullptr); + EXPECT_STREQ(v, "2+eth"); + const char cut[] = "junk ota-compat:2+e"; // value runs past the chunk end + EXPECT_EQ(ota_compat_find((const uint8_t*)cut, sizeof(cut) - 1), nullptr); + const char literal_first[] = "ota-compat:\0code\0ota-compat:1\0"; // search literal precedes the tag + v = ota_compat_find((const uint8_t*)literal_first, sizeof(literal_first)); + ASSERT_NE(v, nullptr); + EXPECT_STREQ(v, "1"); + const char none[] = "ota-compat"; + EXPECT_EQ(ota_compat_find((const uint8_t*)none, sizeof(none)), nullptr); +} +TEST(OtaCompat, TargetMustKeepStateAndTransports) { + EXPECT_TRUE(ota_compat_ok({2, 0}, {2, 0})); + EXPECT_TRUE(ota_compat_ok({1, 0}, {2, OTA_CAP_ETH})); + EXPECT_FALSE(ota_compat_ok({2, 0}, {1, 0})); // cannot read /mqtt.json + EXPECT_FALSE(ota_compat_ok({2, OTA_CAP_ETH}, {2, 0})); // drops Ethernet + EXPECT_TRUE(ota_compat_ok({2, OTA_CAP_ETH}, {3, OTA_CAP_ETH})); + EXPECT_FALSE(ota_compat_ok({1, OTA_CAP_KEYMIND_PREFS}, {2, 0})); // upstream JSON generation + EXPECT_TRUE(ota_compat_ok({1, OTA_CAP_KEYMIND_PREFS}, {1, OTA_CAP_KEYMIND_PREFS})); +} + +TEST(OtaCompat, ScannerHandlesEveryTagSplitAndSkipsBareLiteral) { + const char img[] = "ota-compat:\0junk\0ota-compat:1+keymind1\0tail"; + for (size_t chunk = 1; chunk <= sizeof(img); ++chunk) { + OtaCompatScanner scanner; + for (size_t offset = 0; offset < sizeof(img); offset += chunk) { + const size_t remaining = sizeof(img) - offset; + scanner.consume((const uint8_t*)img + offset, chunk < remaining ? chunk : remaining); + } + OtaCompat value; + ASSERT_TRUE(scanner.finish(&value)) << chunk; + EXPECT_EQ(value.gen, 1); + EXPECT_EQ(value.caps, OTA_CAP_KEYMIND_PREFS); + } +} + +TEST(OtaCompat, ScannerRejectsTruncatedAndSkipsMalformedCandidates) { + const char truncated[] = "ota-compat:1+keymind1"; + OtaCompatScanner scanner; + scanner.consume((const uint8_t*)truncated, sizeof(truncated) - 1); + OtaCompat value; + EXPECT_FALSE(scanner.finish(&value)); + + const char image[] = "ota-compat:2147483648\0ota-compat:1+keymind1\0"; + scanner = OtaCompatScanner(); + scanner.consume((const uint8_t*)image, sizeof(image)); + ASSERT_TRUE(scanner.finish(&value)); + EXPECT_EQ(value.caps, OTA_CAP_KEYMIND_PREFS); +} + +TEST(OtaCompat, ScannerRefusesConflictingTagsInAnyOrder) { + const char compatible[] = "ota-compat:1+keymind1"; + const char upstream[] = "ota-compat:2"; + OtaCompat value; + for (bool compatible_first : {true, false}) { + OtaCompatScanner scanner; + scanner.consume((const uint8_t*)(compatible_first ? compatible : upstream), + compatible_first ? sizeof(compatible) : sizeof(upstream)); + scanner.consume((const uint8_t*)(compatible_first ? upstream : compatible), + compatible_first ? sizeof(upstream) : sizeof(compatible)); + EXPECT_FALSE(scanner.finish(&value)); + } + OtaCompatScanner repeated; + repeated.consume((const uint8_t*)compatible, sizeof(compatible)); + repeated.consume((const uint8_t*)compatible, sizeof(compatible)); + EXPECT_TRUE(repeated.finish(&value)); + const char different_unknown[] = "ota-compat:1+keymind1+future"; + repeated.consume((const uint8_t*)different_unknown, sizeof(different_unknown)); + EXPECT_FALSE(repeated.finish(&value)); +} + +TEST(OtaCompat, ScannerRefusesOversizedOrIncompleteTagAfterValidTag) { + const char compatible[] = "ota-compat:1+keymind1"; + OtaCompatScanner scanner; + scanner.consume((const uint8_t*)compatible, sizeof(compatible)); + const char incomplete[] = "ota-compat:2+future"; + scanner.consume((const uint8_t*)incomplete, sizeof(incomplete) - 1); + OtaCompat value; + EXPECT_FALSE(scanner.finish(&value)); + + scanner = OtaCompatScanner(); + scanner.consume((const uint8_t*)compatible, sizeof(compatible)); + std::string oversized = "ota-compat:1+keymind1+" + std::string(128, 'a'); + oversized.push_back(0); + for (char byte : oversized) scanner.consume((const uint8_t*)&byte, 1); + EXPECT_FALSE(scanner.finish(&value)); +} + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/test/test_ota_channel_persistence.py b/test/test_ota_channel_persistence.py new file mode 100644 index 00000000..cdd08823 --- /dev/null +++ b/test/test_ota_channel_persistence.py @@ -0,0 +1,278 @@ +"""Exercise OTA channel persistence through the production common prefs store.""" +from pathlib import Path +import os +import re +import subprocess +import tempfile +import unittest + +from test_common_usb_debug import HARNESS +from test_replay_reset_integration import extract_braced + +ROOT = Path(__file__).resolve().parents[1] + +MAIN = r''' +struct Capture { + std::vector bytes; + std::map offsets; + size_t write(const uint8_t* data, size_t size) { + offsets[data] = bytes.size(); + bytes.insert(bytes.end(), data, data + size); + return size; + } + size_t offset(const void* field) const { return offsets.at(field); } +}; + +void seed(CommonCLI& cli) { + auto& p = cli.prefs; + strcpy(p.node_name, "OTA channel node"); + strcpy(p.password, "channel-pass"); + strcpy(p.owner_info, "owner information"); + p.node_lat = 40.125; p.node_lon = -105.25; + p.freq = 920.25f; p.bw = 125; p.sf = 9; p.cr = 6; + p.tx_power_dbm = 14; + p.primary_radio_preamble = 96; + p.gps_enabled = 1; p.gps_interval = 300; + p.gps_sync_interval_hours = 336; + p.espnow_bridge_enabled = 0; + p.usb_logging_enabled = 0; p.usb_debug_enabled = 1; + p.trace_when_repeat_off = 1; + setDefaultDirectRetryPrefs(&p); +} + +void assertExistingPrefs(const NodePrefs& actual, const NodePrefs& expected) { + assert(strcmp(actual.node_name, expected.node_name) == 0); + assert(strcmp(actual.password, expected.password) == 0); + assert(strcmp(actual.owner_info, expected.owner_info) == 0); + assert(actual.node_lat == expected.node_lat && actual.node_lon == expected.node_lon); + assert(actual.freq == expected.freq && actual.bw == expected.bw); + assert(actual.sf == expected.sf && actual.cr == expected.cr); + assert(actual.tx_power_dbm == expected.tx_power_dbm); + assert(actual.primary_radio_preamble == expected.primary_radio_preamble); + assert(actual.gps_enabled == expected.gps_enabled && actual.gps_interval == expected.gps_interval); + assert(actual.gps_sync_interval_hours == expected.gps_sync_interval_hours); + assert(actual.espnow_bridge_enabled == expected.espnow_bridge_enabled); + assert(actual.usb_logging_enabled == expected.usb_logging_enabled); + assert(actual.usb_debug_enabled == expected.usb_debug_enabled); + assert(actual.trace_when_repeat_off == expected.trace_when_repeat_off); +} + +void testRoundTripsAndLayout() { + CommonCLI cli; + seed(cli); + assert(cli.prefs.ota_channel == 0); + Capture original; + assert(writeCommonPrefsImage(original, &cli.prefs)); + const size_t channel_offset = original.offset(&cli.prefs.ota_channel); + const size_t trace_offset = original.offset(&cli.prefs.trace_when_repeat_off); + assert(channel_offset == trace_offset + sizeof(cli.prefs.trace_when_repeat_off)); + assert(channel_offset + sizeof(cli.prefs.ota_channel) == original.bytes.size()); + // The established common core remains at its public file offsets. + assert(original.offset(cli.prefs.node_name) == 4); + assert(original.offset(&cli.prefs.freq) == 72); + assert(original.offset(&cli.prefs.sf) == 112); + assert(original.offset(&cli.prefs.bw) == 116); + + for (uint8_t channel : {0, 1, 2}) { + cli.prefs.ota_channel = channel; + cli.savePrefs(&cli.fs, PrefsSaveRouting::Scope::Common); + assert(cli._common_save_succeeded); + const auto image = cli.fs.files.at("/com_prefs"); + Capture checked; + assert(writeCommonPrefsImage(checked, &cli.prefs)); + assert(checked.bytes == image); // Checked and ordinary writers agree. + assert(image.size() == original.bytes.size() && image[channel_offset] == channel); + for (size_t i = 0; i < image.size(); ++i) { + assert(i == channel_offset || image[i] == original.bytes[i]); + } + CommonCLI reader; + reader.prefs.ota_channel = 2; // A reused preference object must be replaced. + reader.fs.files["/com_prefs"] = image; + reader.loadPrefsInt(&reader.fs, "/com_prefs"); + assert(reader.prefs.ota_channel == channel); + assertExistingPrefs(reader.prefs, cli.prefs); + } +} + +void testLegacyTruncatedAndCorruptImages() { + CommonCLI writer; + seed(writer); + writer.prefs.ota_channel = 2; + Capture captured; + assert(writeCommonPrefsImage(captured, &writer.prefs)); + const size_t channel_offset = captured.offset(&writer.prefs.ota_channel); + const size_t gps_offset = captured.offset(&writer.prefs.gps_sync_interval_hours); + const size_t debug_offset = captured.offset(&writer.prefs.usb_debug_enabled); + const size_t trace_offset = captured.offset(&writer.prefs.trace_when_repeat_off); + const auto current = captured.bytes; + CommonCLI reader; + + // Derive the previous image from the append boundary, without hardcoding its size. + reader.fs.files["/com_prefs"] = current; + reader.loadPrefsInt(&reader.fs, "/com_prefs"); + assert(reader.prefs.ota_channel == 2); + reader.fs.files["/com_prefs"] = {current.begin(), current.begin() + channel_offset}; + reader.loadPrefsInt(&reader.fs, "/com_prefs"); + assert(reader.prefs.ota_channel == 0); + assertExistingPrefs(reader.prefs, writer.prefs); + + for (size_t length = 0; length <= channel_offset; ++length) { + reader.prefs.ota_channel = 2; + reader.prefs.usb_debug_enabled = 1; + reader.prefs.trace_when_repeat_off = 1; + reader.prefs.gps_sync_interval_hours = 336; + reader.fs.files["/com_prefs"] = {current.begin(), current.begin() + length}; + reader.loadPrefsInt(&reader.fs, "/com_prefs"); + assert(reader.prefs.ota_channel == 0); + assert(reader.prefs.gps_sync_interval_hours == (length >= gps_offset + 2 ? 336 : 0)); + assert(reader.prefs.usb_debug_enabled == (length > debug_offset ? 1 : 0)); + assert(reader.prefs.trace_when_repeat_off == (length > trace_offset ? 1 : 0)); + } + + for (unsigned invalid = 3; invalid <= 255; ++invalid) { + auto corrupt = current; + corrupt[channel_offset] = static_cast(invalid); + reader.prefs.ota_channel = 2; + reader.fs.files["/com_prefs"] = corrupt; + reader.loadPrefsInt(&reader.fs, "/com_prefs"); + assert(reader.prefs.ota_channel == 0); + assertExistingPrefs(reader.prefs, writer.prefs); + } + + // A file reporting a full size can still return a short/error read at the new byte. + reader.fs.files["/com_prefs"] = current; + reader.fs.fail_read_after = static_cast(channel_offset); + reader.prefs.ota_channel = 2; + reader.loadPrefsInt(&reader.fs, "/com_prefs"); + assert(reader.prefs.ota_channel == 0); + assertExistingPrefs(reader.prefs, writer.prefs); + reader.fs.fail_read_after = -1; + reader.prefs.ota_channel = 2; + reader.loadPrefsInt(&reader.fs, "/missing"); + assert(reader.prefs.ota_channel == 0); + reader.fs.fail_read_open = true; + reader.prefs.ota_channel = 2; + reader.loadPrefsInt(&reader.fs, "/com_prefs"); + assert(reader.prefs.ota_channel == 0); +} + +void testFailedTransactionsRetainPreviousChannel() { + for (uint8_t previous_channel : {1, 2}) { + for (int fault : {0, 1, 2, 3, 4, 5}) { +#ifdef WITH_MQTT_BRIDGE + // Observer finish() checks reopening and size; standard writers also read CRCs. + if (fault == 3) continue; +#endif + CommonCLI cli; + seed(cli); + cli.prefs.ota_channel = previous_channel; + cli.savePrefs(&cli.fs, PrefsSaveRouting::Scope::Common); + assert(cli._common_save_succeeded); + const auto previous = cli.fs.files.at("/com_prefs"); + const NodePrefs expected = cli.prefs; + Capture capture; + assert(writeCommonPrefsImage(capture, &cli.prefs)); + const size_t channel_offset = capture.offset(&cli.prefs.ota_channel); + if (fault == 0) cli.fs.fail_write = true; + if (fault == 1) cli.fs.fail_write_after = static_cast(channel_offset); + if (fault == 2) cli.fs.fail_read_open = true; + if (fault == 3) cli.fs.fail_read_after = static_cast(channel_offset); + if (fault == 4) cli.fs.fail_rename = 1; + if (fault == 5) cli.fs.fail_rename_from = {"/com_prefs.tmp"}; + cli.prefs.ota_channel = previous_channel == 1 ? 2 : 1; + assert(!cli.trySavePrefs()); + assert(cli.fs.files.at("/com_prefs") == previous); + cli.fs.fail_write = false; cli.fs.fail_write_after = -1; + cli.fs.fail_read_open = false; cli.fs.fail_read_after = -1; + cli.fs.fail_rename = 0; cli.fs.fail_rename_from.clear(); + assert(cli.recoverCommonPrefsFiles(&cli.fs)); + assert(cli.fs.files.at("/com_prefs") == previous); + cli.loadPrefsInt(&cli.fs, "/com_prefs"); + assert(cli.prefs.ota_channel == previous_channel); + assertExistingPrefs(cli.prefs, expected); + } + } +} + +int main() { + testRoundTripsAndLayout(); + testLegacyTruncatedAndCorruptImages(); + testFailedTransactionsRetainPreviousChannel(); +} +''' + + +def persistence_harness(): + source = (ROOT / "src/helpers/CommonCLI.cpp").read_text(encoding="utf-8") + header = (ROOT / "src/helpers/CommonCLI.h").read_text(encoding="utf-8") + fields = header.split("class NodePrefs :", 1)[1].split("private:", 1)[0] + fields = "\n".join(re.findall( + r"^\s*(?:float|double|char|u?int(?:8|16|32)_t)\s+[^;]+;", fields, re.M)) + constants = "\n".join(re.findall( + r"^\s*#define\s+\w+\s+(?:0x[\dA-Fa-f]+|\d+)\s*$", header, re.M)) + constants += "\n" + "\n".join(re.findall( + r"^static const size_t LEGACY_\w+\s*=[^;]+;", source, re.M)) + constants += "\n" + re.search( + r"^static constexpr uint8_t DEFAULT_ADVERT_LOC_POLICY\s*=[^;]+;", + header, re.M).group() + helpers = "\n".join(extract_braced(source, signature) for signature in ( + "static bool bwMatches(", "static bool isValidLoRaBandwidth(", + "static float defaultLoRaBandwidth(", "static void markDirectRetryPrefsValid(", + "static void applyFloodRetryPreset(", "static void applyDirectRetryPreset(", + "static void setDefaultDirectRetryPrefs(", "static bool directRetryPrefsValid(")) + methods = "\n".join(extract_braced(source, signature) for signature in ( + "static const char* commonPrefsSaveResultName(", + "bool CommonCLI::recoverCommonPrefsFiles(", + "bool CommonCLI::saveCommonPrefsImageAtomically(", + "void CommonCLI::savePrefs(FILESYSTEM*", + "void CommonCLI::savePrefs(PrefsSaveRouting::Scope scope)", + "bool CommonCLI::trySavePrefs(", "void CommonCLI::loadPrefsInt(")) + code = HARNESS[:HARNESS.index("struct Capture {")] + MAIN + replacements = { + "FIELDS": fields, "CONSTANTS": constants, "HELPERS": helpers, + "LEGACY": extract_braced(header, "struct LegacyObserverTail") + ";", + "SERIALIZER": "template\n" + extract_braced( + source, "static bool writeCommonPrefsImage("), + "STORE": extract_braced(source, "class CommonPrefsFileStore"), + "METHODS": methods, + "DYNAMIC": "", "SET_DEBUG": "", "SET_MASTER": "", + "GET_DEBUG": "", "GET_MASTER": "", + } + for key, value in replacements.items(): + code = code.replace("@" + key + "@", value) + return code + + +class OtaChannelPersistenceTests(unittest.TestCase): + def test_actual_serializers_loads_and_failed_commits_for_every_platform(self): + code = persistence_harness() + sanitizer_flags = [] if os.name == "nt" else [ + "-fsanitize=address,undefined", "-fno-sanitize-recover=all", + "-fno-pie", "-no-pie"] + variants = [("ENABLE_OTA", platform) for platform in ( + "NRF52_PLATFORM", "STM32_PLATFORM", "ESP32_PLATFORM", "RP2040_PLATFORM")] + variants.append(("ENABLE_OTA", "ESP32_PLATFORM", "WITH_MQTT_BRIDGE")) + variants.extend((("NRF52_PLATFORM",), ("ESP32_PLATFORM", "WITH_MQTT_BRIDGE"))) + with tempfile.TemporaryDirectory(prefix="common-ota-channel-") as directory: + work = Path(directory) + transaction = (ROOT / "src/helpers/ContactFileTransaction.h").read_text() + (work / "ContactFileTransaction.h").write_text(transaction.replace( + '#include "IdentityStore.h"', '#include ')) + (work / "test.cpp").write_text(code, encoding="utf-8") + for macros in variants: + with self.subTest(macros=macros): + exe = work / ("test.exe" if os.name == "nt" else "test") + built = subprocess.run([ + os.environ.get("CXX", "g++"), "-std=c++17", + *["-D" + macro + "=1" for macro in macros], *sanitizer_flags, + "-I" + str(work), "-I" + str(ROOT / "test/fixtures/radio_profiles/mocks"), + "-I" + str(ROOT / "src"), "-I" + str(ROOT / "src/helpers"), + str(work / "test.cpp"), "-o", str(exe)], + capture_output=True, text=True, timeout=60) + self.assertEqual(built.returncode, 0, built.stderr) + tested = subprocess.run([str(exe)], capture_output=True, text=True, timeout=10) + self.assertEqual(tested.returncode, 0, tested.stderr) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_repeater_trace_repeat.py b/test/test_repeater_trace_repeat.py index 9bd00e1a..0efa9246 100644 --- a/test/test_repeater_trace_repeat.py +++ b/test/test_repeater_trace_repeat.py @@ -21,7 +21,7 @@ int main() { cli.savePrefs(&cli.fs, PrefsSaveRouting::Scope::Common); assert(cli._common_save_succeeded); const auto baseline = cli.fs.files["/com_prefs"]; - assert(baseline.size() == 873); + assert(baseline.size() == 874); const size_t trace_offset = 872, debug_offset = 871, gps_offset = 869; assert(baseline[trace_offset] == 0 && baseline[debug_offset] == 1); assert(baseline[866] == 48 && baseline[867] == 0 && baseline[868] == 1); @@ -69,7 +69,7 @@ int main() { assert(cli.prefs.trace_when_repeat_off == 0); // Both enable and disable must preserve the saved and requested state when - // staging, the new final-byte write, readback or publication fails. + // staging, the trace-byte write, readback or publication fails. for (uint8_t desired : {1, 0}) { cli.set(desired ? "repeat.trace off" : "repeat.trace on", reply); assert(cli.prefs.trace_when_repeat_off == uint8_t(!desired)); @@ -128,7 +128,7 @@ int main() { // reset prior RAM intent to OFF. GPS was published before local debug/trace; // a complete GPS-only image must not reinterpret either GPS byte as intent. auto image = enabled; - for (size_t size = 0; size < image.size(); ++size) { + for (size_t size = 0; size <= trace_offset; ++size) { CommonCLI reader; reader.prefs.trace_when_repeat_off = 1; reader.prefs.usb_debug_enabled = 1; @@ -139,6 +139,12 @@ int main() { else assert(reader.prefs.usb_debug_enabled == 0); if (size >= gps_offset + 2) assert(reader.prefs.gps_sync_interval_hours == 336); } + // An old image containing trace but lacking the later channel byte keeps trace ON. + CommonCLI old_reader; + old_reader.prefs.ota_channel = 2; + old_reader.fs.files["/com_prefs"] = {image.begin(), image.begin() + trace_offset + 1}; + old_reader.loadPrefsInt(&old_reader.fs, "/com_prefs"); + assert(old_reader.prefs.trace_when_repeat_off == 1 && old_reader.prefs.ota_channel == 0); // Explicit old GPS-only files with either byte equal to one must not arm // the local boolean preferences, regardless of their previous RAM values. for (uint16_t hours : {1, 256, 257, 336}) { diff --git a/variants/lilygo_tbeam_SX1262/platformio.ini b/variants/lilygo_tbeam_SX1262/platformio.ini index 8a9cecc1..335799a6 100644 --- a/variants/lilygo_tbeam_SX1262/platformio.ini +++ b/variants/lilygo_tbeam_SX1262/platformio.ini @@ -178,7 +178,6 @@ build_flags = -D MAX_NEIGHBOURS=50 -D WITH_MQTT_BRIDGE=1 -D FLOOD_CHANNEL_SCOPE_SLOTS=31 ; retain scope support within this observer's tight internal DRAM - -D OTA_MANIFEST_BASE='"https://observer.gessaman.com/v"' -D MQTT_MAX_PACKET_SIZE=1024 ; -D MQTT_DEBUG=1 ; -D MESH_PACKET_LOGGING=1 diff --git a/variants/lilygo_tbeam_SX1276/platformio.ini b/variants/lilygo_tbeam_SX1276/platformio.ini index caa44039..2d60affb 100644 --- a/variants/lilygo_tbeam_SX1276/platformio.ini +++ b/variants/lilygo_tbeam_SX1276/platformio.ini @@ -174,7 +174,6 @@ build_flags = -D PERSISTANT_GPS=1 -D WITH_MQTT_BRIDGE=1 -D FLOOD_CHANNEL_SCOPE_SLOTS=31 ; retain scope support within this observer's tight internal DRAM - -D OTA_MANIFEST_BASE='"https://observer.gessaman.com/v"' -D MQTT_MAX_PACKET_SIZE=1024 ; -D MQTT_DEBUG=1 ; -D MESH_PACKET_LOGGING=1 diff --git a/variants/lilygo_tlora_v2_1/platformio.ini b/variants/lilygo_tlora_v2_1/platformio.ini index a9eb93ff..2c176cd0 100644 --- a/variants/lilygo_tlora_v2_1/platformio.ini +++ b/variants/lilygo_tlora_v2_1/platformio.ini @@ -193,7 +193,6 @@ build_flags = -D WITH_MQTT_BRIDGE=1 -D WEBCONFIG_DISABLED=1 ; async portal exceeds this 4 MB target's dual-OTA app slot; use CLI setup -D FLOOD_CHANNEL_SCOPE_SLOTS=4 ; no-PSRAM observer must retain internal DRAM for MQTT/TLS - -D OTA_MANIFEST_BASE='"https://observer.gessaman.com/v"' -D MQTT_MAX_PACKET_SIZE=1024 -D MQTT_TASK_STACK_SIZE=16384 -D ESP32_CPU_FREQ=240 @@ -240,7 +239,6 @@ build_flags = -D ROOM_PASSWORD='"hello"' -D WITH_MQTT_BRIDGE=1 -D WEBCONFIG_DISABLED=1 ; async portal exceeds this 4 MB target's dual-OTA app slot; use CLI setup - -D OTA_MANIFEST_BASE='"https://observer.gessaman.com/v"' -D MQTT_MAX_PACKET_SIZE=1024 -D MQTT_TASK_STACK_SIZE=16384 -D ESP32_CPU_FREQ=240 diff --git a/webui/index.html b/webui/index.html index 47acd710..918811e4 100644 --- a/webui/index.html +++ b/webui/index.html @@ -1877,6 +1877,8 @@ var CLI_VERBS=[ ["alert test","Send a test alert on the configured channel"], ["ota check","Check for a newer build (does not flash)"], ["ota update","Download and flash the newer build, then reboot"], + ["ota branch","Show the OTA release channel"], + ["ota branch ","Set the OTA release channel {prod|beta|default}"], // `start ota` is absent: it binds port 80, which this portal is already using. ["start webconfig","Start this portal on the LAN"], ["start webconfig ap","Start this portal on its own setup AP"],