From 3963eaa06e0a6b717e77625d27f070dbad1f161d Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 25 May 2024 20:07:30 +0800 Subject: [PATCH] Changes for May 2024, syncing up to 20240508 --- .../0001-Disable-FP-lockouts-optionally.patch | 15 +- ...0002-Disable-vendor-mismatch-warning.patch | 20 +- ...d-Allow-locking-to-any-rotation-mode.patch | 8 +- ...olors-of-slices-not-updating-on-doze.patch | 12 +- ...005-UI-Adjust-default-navbar-layouts.patch | 8 +- .../0006-UI-Adjust-split-screen-divider.patch | 10 +- .../0007-UI-Disable-wallpaper-zoom.patch | 8 +- ...-and-light-dark-theme-in-user-1-icon.patch | 8 +- .../0009-UI-Hide-QS-footer-background.patch | 40 + ...-Increase-default-status-bar-height.patch} | 6 +- .../0010-UI-Remove-QS-footer-background.patch | 26 - ...-layout-tuning-via-sysui_nav_bar-tun.patch | 82 + ...XED_RATIO-for-multi-window-globally.patch} | 8 +- ...re-Remove-old-app-target-SDK-dialog.patch} | 8 +- ...d-support-for-app-signature-spoofing.patch | 163 - ...ubpixel-text-positioning-by-default.patch} | 8 +- ...e-requirement-for-signature-spoofing.patch | 28 + ...stemUI-to-new-notification-color-spe.patch | 879 + ...amework-to-new-notification-color-sp.patch | 181 + ...ake-QS-always-use-dark-theme-colors.patch} | 8 +- ...inflate-QS-and-SB-when-CONFIG_UI_MO.patch} | 4 +- ...-light-dark-theme-in-quick-settings.patch} | 16 +- ...ewrapper-for-QSCustomizer-and-tune-.patch} | 14 +- ...itialize-QS-tiles-in-inactive-state.patch} | 8 +- ...l-tone-light-and-dark-themes-for-QS.patch} | 16 +- ...llow-light-dark-theme-in-power-menu.patch} | 12 +- ...uate-system-theme-on-UI-mode-change.patch} | 23 +- ...-SystemUI-Fix-QS-header-clock-color.patch} | 10 +- ...late-paged-QS-tiles-height-properly.patch} | 8 +- ...te-QS-and-SB-when-CONFIG_SCREEN_LAY.patch} | 4 +- ...ight-dark-theme-in-SplitShade-Heade.patch} | 53 +- ...isibility-check-in-setting-QSCarrie.patch} | 6 +- ...otification-background-to-monet-on-.patch} | 14 +- ...ark-Light-theme-for-Safe-Mode-dialo.patch} | 14 +- ...w-monet-theme-on-privacy-indicators.patch} | 10 +- ...-Follow-monet-theme-on-battery-chip.patch} | 30 +- ...izard-Remove-step-for-changing-theme.patch | 65 + ...ild-Integrate-prop-modifications-1-2.patch | 12 +- .../0002-build-Remove-Stk-1-2.patch | 4 +- ...001-Add-MotoHelloUINavbarOverlay-1-2.patch | 159 + ...r-Backbone-One-for-Android-with-AB-X.patch | 52 - .../0002-Add-MiuiNavbarOverlay.patch | 389 - ...> 0002-Disable-Bluetooth-by-default.patch} | 6 +- ...ag-by-default-for-editable-TextView.patch} | 4 +- ...004-Disable-RESTRICTED-bucket-toast.patch} | 6 +- ...=> 0005-Keyguard-Adjust-clock-style.patch} | 31 +- ...Hide-padlock-unless-UDFPS-is-in-use.patch} | 8 +- ...-Keyguard-Default-to-small-clock-1-3.patch | 28 + ...-Keyguard-Default-to-small-clock-1-3.patch | 28 - ...008-Keyguard-Refine-indication-text.patch} | 16 +- ...tatus-bar-quick-settings-margins-an.patch} | 71 +- ...dd-left-padding-for-keyguard-slices.patch} | 12 +- ...date-RAT-icons-to-match-Silk-design.patch} | 4 +- ...fault-top-clock-margin-on-h800-devi.patch} | 4 +- ... 0013-UI-Always-render-into-cutouts.patch} | 20 +- ...unded-corners-in-notification-scrim.patch} | 12 +- ...015-UI-Reconfigure-power-menu-items.patch} | 8 +- ...UI-Reconfigure-quick-settings-tiles.patch} | 10 +- ...irement-for-HINT_SUPPORTS_DARK_TEXT.patch} | 4 +- ...patch => 0018-UI-Remove-privacy-dot.patch} | 8 +- ...-quick-settings-fonts-to-pre-T-QPR2.patch} | 6 +- ...-luminance-for-wallpaper-dark-hints.patch} | 4 +- .../0001-sdk-I-have-Trust-issues.patch | 14 +- ...uashed-revert-of-LOS-widget-redesign.patch | 69 +- .../0002-DeskClock-Remove-night-mode.patch | 8 +- ...lock-Adapt-digital-clocks-to-S-style.patch | 6 +- ...per-based-text-coloring-for-digital-.patch | 4 +- ...01-NfcService-Disable-NFC-by-default.patch | 12 +- ...-Keyguard-Default-to-small-clock-2-3.patch | 26 - ...SetupWizard-Least-Action-s-Principle.patch | 200 +- ...ake-overview-scrim-transparent-again.patch | 8 +- ...02-Trebuchet-Kill-haptics-in-recents.patch | 14 +- ...nverted-rounded-corners-above-the-ta.patch | 28 +- ...001-Add-MotoHelloUINavbarOverlay-2-2.patch | 80 + ...ld-Integrate-prop-modifications-2-2.patch} | 4 +- ....patch => 0003-build-Remove-Stk-2-2.patch} | 8 +- ...r_lineage-Ignore-neverallows.-again.patch} | 4 +- ...endor_lineage-Personal-theme-as-SRO.patch} | 117 +- .../0001-treble-Lineage-ify.patch | 6 +- ...ARD_EXT4_SHARE_DUP_BLOCKS-explicitly.patch | 2 +- ...treble-Set-TARGET_NO_KERNEL_OVERRIDE.patch | 2 +- .../0004-treble-Enable-call-recording.patch | 2 +- .../0005-treble-Switch-to-MindTheGapps.patch | 2 +- .../0006-treble-Stop-securing-ADB.patch | 8 +- .../0007-treble-Securize-on-demand.patch | 16 +- ...lso-use-data-adb-for-securize-status.patch | 10 +- ...treble-Import-prebuilt-PHH-Superuser.patch | 2 +- ...estore-sbin-for-Magisk-compatibility.patch | 20 +- ...e-to-CheckBoxPreference-and-persist-.patch | 99 + .../0001-TEMP-Up-TrebleApp-to-20240216.patch | 36419 ---------------- ...ong-Disable-generated_kernel_headers.patch | 6 +- ...r_lineage-Disable-ADB-authentication.patch | 8 +- .../0001-Add-Meizu-18-vibrator-support.patch | 12 +- .../0002-Revert-Include-sim-toolkit-app.patch | 4 +- ...t-BOARD_EXT4_SHARE_DUP_BLOCKS-explic.patch | 2 +- ...Squashed-revert-of-LOS-UDFPS-changes.patch | 88 +- ...s-Allow-disabling-of-fingerprint-cle.patch | 16 +- ...onEngine-Request-device-composition-.patch | 10 +- ...inger-Add-support-for-Udfps-extensio.patch | 34 +- .../0001-Disable-vndklite-handling.patch | 8 +- ...m-to-fake-vendor-props-on-a-per-proc.patch | 14 +- ...t-reboot-if-we-couldn-t-get-bootctrl.patch | 2 +- ...1-Include-vndk-v28-sepolicy-support.patch} | 10 +- ...-build-remove-emulator-crap-from-GSI.patch | 34 - .../0002-build-Bypass-vendor-calls.patch | 30 - ...te-build-display-id-to-product-prop.patch} | 8 +- ...-log_level-to-get-actual-selinux-err.patch | 2 +- ...Make-an-unknown-permission-an-error-.patch | 2 +- ...e-phh-treble-conflict-with-SELinux-p.patch | 2 +- ...rtual-block-genfscon-conflict-seen-o.patch | 2 +- ...rcs-accept-conflict.-Seen-on-Moto-E5.patch | 2 +- ...6-Allow-mismatches-of-exfat-genfscon.patch | 2 +- ...-on-Moto-devices-using-unknown-class.patch | 2 +- ...policy-workaround-on-device-phh-treb.patch | 2 +- ...ermark_scale_factor-conflict-seen-on.patch | 2 +- .../0010-Allow-conflict-on-fuseblk.patch | 2 +- ...and-Q-behavior-respectively-for-tele.patch | 28 +- .../0002-Fix-BT-in-call-on-CAF-devices.patch | 8 +- ...id-is-hardcoded-support-for-Asus-ZF6.patch | 30 +- ...orce-load-audio-policy-for-system-si.patch | 6 +- ...2DP-audio-ports-from-the-primary-HAL.patch | 8 +- ...again-with-trimmed-audio-port-name-i.patch | 14 +- ...-property-to-override-default-camera.patch | 10 +- ...SCO-devices.-Fallback-from-one-to-th.patch | 4 +- ...phh.samsung.camera_ids-property-to-a.patch | 30 +- ...rty-to-force-camera-timestamp-source.patch | 6 +- ...IH-devices-Fix-Earpiece-audio-output.patch | 6 +- ...e-assigning-legacy-audio-groups-fata.patch | 6 +- ...-Make-camera-IDs-filter-out-optional.patch | 8 +- .../0014-Support-Samsung-R-multi-cams.patch | 26 +- ...Don-t-crash-on-unknown-audio-devices.patch | 26 - ...n-a-route-are-valid.-Dont-ignore-th.patch} | 22 +- ...ume-policy-when-none-has-been-found.patch} | 4 +- ...port-for-audio-HAL-V2-from-the-fram.patch} | 14 +- ...op-to-change-Samsung-flash-strength.patch} | 26 +- ...h-pitched-voice-on-Qualcomm-devices.patch} | 6 +- ...broken-mic-while-video-recording-on-.patch | 40 + ...able-AUDIO_OUTPUT_FLAG_FAST-from-au.patch} | 6 +- ...broken-mic-while-video-recording-on-.patch | 64 - ...-echo-on-incoming-or-outgoing-calls.patch} | 29 +- ...023-Include-Samsung-AIDL-camera-ids.patch} | 24 +- ...ra-modes-declared-in-Samsung-proprie.patch | 106 + ...id-autobrightness-if-brightness-valu.patch | 18 +- ...Fix-env-empty-string-ANDROID_STORAGE.patch | 2 +- ...uirement-for-visible-flag-to-sdcards.patch | 6 +- ...h-if-there-is-IR-HAL-is-not-declared.patch | 2 +- ...istent-property-to-override-the-defa.patch | 10 +- ...-Show-APN-Settings-for-CDMA-carriers.patch | 6 +- ...s-so-that-it-works-even-without-qtag.patch | 10 +- ...-Support-samsung-Pie-and-Q-light-hal.patch | 6 +- ...samsung-touch-physical-and-hover-pro.patch | 8 +- ...erriding-the-number-of-work-profiles.patch | 6 +- ...-wake-up-devices-just-as-well-as-bac.patch | 6 +- ...e-proximity-sensor-reporting-NaN-as-.patch | 6 +- ...ange-not-being-complete-on-Samsung-d.patch | 6 +- ...atch-like-behaviour-for-RRO-java-sid.patch | 4 +- ...otification-about-console-service-be.patch | 6 +- ...t-Remove-unused-SystemProperties.set.patch | 6 +- ...nyManager-bring-back-getNetworkClass.patch | 6 +- ...-add-API-annotations-for-setTelephon.patch | 8 +- .../0019-Fix-Wakelock-issue.patch | 2 +- ...tect-pick-up-sensor-so-that-an-overl.patch | 2 +- ...nBuiltInDisplayCutoutRectApproximati.patch | 2 +- ...t-Fix-backlight-control-on-Galaxy-S9.patch | 10 +- ...ch-long-press-power-behavior-in-AOSP.patch | 8 +- ...of-fingerprint-cleanups-needed-on-so.patch | 6 +- ...ze-boot-animation-to-match-screen-si.patch | 6 +- ...more-FDE-methods-from-StorageManager.patch | 39 +- ...ngerprint-sensors-to-security-strong.patch | 8 +- ...SehSysInputDev-to-report-screen-stat.patch | 34 +- ...-constrainNitsAndBacklightArrays-and.patch | 6 +- ...30-Add-Mediatek-power-hints-on-touch.patch | 22 +- ...Detect-Moto-dynamic-hardware-feature.patch | 6 +- ...ateForSlotIndex-in-SubscriptionManag.patch | 6 +- ...CallingIdentity-variant-with-both-ex.patch | 15 +- .../0034-Catch-NPE-in-SystemUI.patch | 6 +- ...e-Samsung-Power-hal-in-libpowermanag.patch | 6 +- ...Asus-Samsung-recent-Xiaomi-and-RedMa.patch | 298 +- ...htness-slider-curve-for-some-devices.patch | 2 +- .../0038-Ignore-cgroup-creation-errors.patch | 10 +- ...use-SW_MACHINE_COVER-rather-than-SW_.patch | 16 +- ...rt-Removed-IWLAN-legacy-mode-support.patch | 12 +- ...prop-to-use-linear-backlight-control.patch | 8 +- ...amsung-full-brightness-on-their-AID.patch} | 14 +- ...ix-fod-Extra-Dim-overlap-fod-overlay.patch | 86 - ....patch => 0043-Add-Samsung-sysinput.patch} | 8 +- ...f-commonize-refreshing-the-services.patch} | 20 +- ...m-vendors-implementing-fingerprint-p.patch | 33 - ...FPS-infos-on-AIDL-fingerprints-neede.patch | 92 - ...ces-use-SW_FLIP-0x15-rather-than-SW.patch} | 10 +- ...amsung.hardware.radio.network-V1-jav.patch | 25 + .../0046-Try-catch-the-Xiaomi-calls.patch | 45 - ...amsung.hardware.radio-V2.2-java-HIDL.patch | 25 + ...Typo-in-observing-Samsung-brightness.patch | 25 - ...precated-IRadio-1.4-APIs-and-referen.patch | 88 + ...em_server-if-we-fail-to-parse-dynami.patch | 42 + ...sable-animation-in-for-sysui-media-c.patch | 34 + ...-behavior-of-isValid-It-is-legal-to-.patch | 52 - ...ed-to-send-a-hack-message-to-HAL-to-.patch | 14 +- ...n-input-with-a-display-uses-uniqueId.patch | 8 +- ...n-t-exist-in-O-P-so-detect-its-suppo.patch | 4 +- ...Samsung-system-permission-on-sensors.patch | 6 +- ...er-input-as-sensor-exclusively-if-th.patch | 8 +- ...ide-their-vibrator-HAL-behind-non-de.patch | 4 +- ...er-Add-support-Samsung-miscpower-HAL.patch | 130 +- ...008-FOD-support-for-Samsung-and-Asus.patch | 59 +- ...support-to-fix-broken-Mediatek-gpufr.patch | 20 +- .../0010-Fix-loading-unnamed-GLES.patch | 8 +- .../0011-Increase-SW_MAX-4.patch | 44 +- ...le-gpuservice-on-old-BPF-less-kernel.patch | 25 + ...s-static-ImsManager.updateImsService.patch | 6 +- ...roller-Do-not-override-default-calli.patch | 10 +- ...ot-call-onUssdRelease-for-Huawei-RIL.patch | 8 +- ...ng-too-long-to-fit-into-a-91-chars-p.patch | 8 +- ...ic-void-TelephonyMetrics.writeRilSen.patch | 4 +- ...precated-IRadio-1.4-APIs-and-referen.patch | 1579 + ...e-deprecated-HAL-versions-for-IRadio.patch | 8469 ++++ ...ngth-for-huawei-kirin-hi6250-hi3670.patch} | 10 +- ...ard-port-support-for-forceCognitive.patch} | 4 +- ...Fix-NPE-with-1.0-and-1.1-CardStatus.patch} | 8 +- ...Slot-ignore-error-if-we-cant-print-.patch} | 4 +- ...t-Removed-IWLAN-legacy-mode-support.patch} | 90 +- ...ng-AIDL-ISehRadioNetwork.-Fixes-5G-o.patch | 208 + ...ng-HIDL-ISehRadio.-Fixes-5G-on-S20-U.patch | 231 + ...hen-reading-SMSC-ignore-invalid-SMSC.patch | 48 + ...command-to-be-able-to-call-vendor-sp.patch | 4 +- ...-Fix-light-sensor-crash-on-Xiaomi-13.patch | 4 +- ...sung-S23-using-stock-properties-beca.patch | 4 +- ...-t-crash-when-there-is-no-VR-service.patch | 30 - ...e-when-there-is-no-hal-but-we-believ.patch | 6 +- ...-fingerprint-events-they-are-expecte.patch | 25 +- ...ash-when-we-get-no-DeviceLockManager.patch | 40 - ...ve-Do-not-validate-option-in-CA-cer.patch} | 56 +- ...k-if-domain-field-is-not-empty-when.patch} | 12 +- ..._interface-Optionally-use-sysbta-HAL.patch | 54 +- ...n-to-change-eSCO-Transport-Unit-Size.patch | 22 +- ...en-failing-to-get-real-time-priority.patch | 26 +- ...es-we-need-to-tell-Audio-HAL-if-we-r.patch | 30 +- ...o-disable-some-features-commands-sta.patch | 14 +- ...o-cap-declared-le-vendor-version.-Fo.patch | 12 +- ...mmand-READ_REMOTE_VERSION_INFORMATIO.patch | 6 +- ...-load-bpf-programs-for-BPF-less-devi.patch | 8 +- ...e-UID-from-BpfMap-on-BPF-less-kernel.patch | 25 - ...king-BPF-maps-on-old-BPF-less-kernel.patch | 307 + ...affic-indicators-for-legacy-devices.patch} | 51 +- ...03-Make-the-use-of-IBpfMaps-optional.patch | 78 - ...ort-for-V-gsi-on-pixel-5-R-base-kern.patch | 44 + ...-if-map-is-null-to-prevent-crash-on-.patch | 29 - ...ignore-there-are-some-4.14-without-t.patch | 44 + ...n-working-BPF-maps-on-old-BPF-less-k.patch | 120 + ...ash-when-we-get-no-DeviceLockManager.patch | 4 +- ...e-DnsHelper-failed-to-init-on-BPF-le.patch | 24 + ...phh.wifi_disable_sae-property-to-dis.patch | 37 + .../0001-Include-vndk-v28-apex.patch | 6 +- ...precated-IRadio-1.4-APIs-and-referen.patch | 86 + ...001-Disable-O_DIRECT-for-old-kernels.patch | 54 + .../0001-Support-no-bpf-usecase.patch | 14 +- ...ability-to-write-to-index-0-of-bpf-m.patch | 34 - ...et-system-override-ro.apex.updatable.patch | 6 +- ...ating-property-tree-if-there-is-a-c.patch} | 4 +- ...-If-Vboot2-fails-fall-back-to-Vboot1.patch | 46 - ...03-Revert-Remove-support-for-AVB-1.0.patch | 896 - ...art-console-service-when-debuggable.patch} | 8 +- ...into-recovery-rather-than-bootloader.patch | 29 + ...llowed-sdcard-options-based-on-vndk.patch} | 4 +- ...into-recovery-rather-than-bootloader.patch | 38 - ...et-dev-uinput-as-0666-to-fix-finger.patch} | 8 +- ...-Set-system-xbin-permissions-to-750.patch} | 8 +- ...y-own-OTA-mechanism-going-over-data.patch} | 36 +- ...eep-allowing-encryptable-fstab-flag.patch} | 21 +- ...back-FDE-to-no-encryption-and-FDE-F.patch} | 18 +- ...de-adb-secure-props-so-we-dont-get-.patch} | 8 +- ...-kernels.-This-is-needed-because-on.patch} | 19 +- ...hdogd-Support-pinging-two-watchdogs.patch} | 4 +- ...-offline-charger-fix-screen-off-3-3.patch} | 4 +- ...-legacy-devices-with-encryption-dis.patch} | 6 +- ...re_mnt.-Moto-Razr-2019-look-for-fir.patch} | 6 +- ... 0017-Ignore-dm-verity-setup-issues.patch} | 8 +- ...or-devices-without-cgroupv2-support.patch} | 19 +- ...uota-on-old-devices-but-new-enough-.patch} | 6 +- ...es-custom-rc-action-prop-validation.patch} | 4 +- ...s-when-setting-fscrypt-directory.-S.patch} | 8 +- ...ion-of-ro.logd.kernel.-We-do-want-l.patch} | 8 +- ...-capex-when-there-are-vendor-apexes.patch} | 8 +- ...pex.updatable-actually-set-the-valu.patch} | 8 +- ...0025-If-AVB-fails-ignore-disable-AVB.patch | 41 + ...-no-longer-exist-we-ll-deal-with-it-.patch | 53 + ...-Bail-out-if-we-can-t-open-directory.patch | 2 +- .../0001-Disable-vndklite-handling.patch | 6 +- ...rin-960-accept-broken-rpfilter-match.patch | 4 +- ...n-t-fail-on-FTP-conntracking-failing.patch | 4 +- .../0003-Support-no-bpf-usecase.patch | 6 +- ...ase-of-cgroup-bpf-setup-fail-since-s.patch | 6 +- ...priority-over-NFC-config-file-rather.patch | 2 +- ...01-Revert-Remove-28.0-compat-support.patch | 28 +- ...-kernel-5.10-that-doesn-t-support-bp.patch | 31 + .../0001-Allow-deletion-of-symlink.patch | 8 +- ...o-create-facedata-shouldn-t-be-fatal.patch | 10 +- ...003-Don-t-unmount-rw-system.sh-binds.patch | 8 +- ...ery-voldmanaged-storage-is-adoptable.patch | 8 +- 300 files changed, 15353 insertions(+), 40472 deletions(-) create mode 100644 patches_platform/frameworks_base/0009-UI-Hide-QS-footer-background.patch rename patches_platform/frameworks_base/{0009-UI-Increase-default-status-bar-height.patch => 0010-UI-Increase-default-status-bar-height.patch} (88%) delete mode 100644 patches_platform/frameworks_base/0010-UI-Remove-QS-footer-background.patch create mode 100644 patches_platform/frameworks_base/0011-UI-Revive-navbar-layout-tuning-via-sysui_nav_bar-tun.patch rename patches_platform/frameworks_base/{0011-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch => 0012-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch} (95%) rename patches_platform/frameworks_base/{0012-core-Remove-old-app-target-SDK-dialog.patch => 0013-core-Remove-old-app-target-SDK-dialog.patch} (83%) delete mode 100644 patches_platform/frameworks_base/0014-Add-support-for-app-signature-spoofing.patch rename patches_platform/frameworks_base/{0013-Paint-Enable-subpixel-text-positioning-by-default.patch => 0014-Paint-Enable-subpixel-text-positioning-by-default.patch} (88%) create mode 100644 patches_platform/frameworks_base/0015-Remove-debuggable-requirement-for-signature-spoofing.patch create mode 100644 patches_platform/frameworks_base/0016-Revert-Update-SystemUI-to-new-notification-color-spe.patch create mode 100644 patches_platform/frameworks_base/0017-Revert-Update-framework-to-new-notification-color-sp.patch rename patches_platform/frameworks_base/{0015-Revert-Make-QS-always-use-dark-theme-colors.patch => 0018-Revert-Make-QS-always-use-dark-theme-colors.patch} (84%) rename patches_platform/frameworks_base/{0016-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch => 0019-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch} (91%) rename patches_platform/frameworks_base/{0017-SystemUI-Follow-light-dark-theme-in-quick-settings.patch => 0020-SystemUI-Follow-light-dark-theme-in-quick-settings.patch} (96%) rename patches_platform/frameworks_base/{0018-SystemUI-Use-themewrapper-for-QSCustomizer-and-tune-.patch => 0021-SystemUI-Use-themewrapper-for-QSCustomizer-and-tune-.patch} (86%) rename patches_platform/frameworks_base/{0019-SystemUI-Initialize-QS-tiles-in-inactive-state.patch => 0022-SystemUI-Initialize-QS-tiles-in-inactive-state.patch} (86%) rename patches_platform/frameworks_base/{0020-SystemUI-Add-dual-tone-light-and-dark-themes-for-QS.patch => 0023-SystemUI-Add-dual-tone-light-and-dark-themes-for-QS.patch} (92%) rename patches_platform/frameworks_base/{0021-SystemUI-Follow-light-dark-theme-in-power-menu.patch => 0024-SystemUI-Follow-light-dark-theme-in-power-menu.patch} (92%) rename patches_platform/frameworks_base/{0022-SystemUI-Re-evaluate-system-theme-on-UI-mode-change.patch => 0025-SystemUI-Re-evaluate-system-theme-on-UI-mode-change.patch} (81%) rename patches_platform/frameworks_base/{0023-SystemUI-Fix-QS-header-clock-color.patch => 0026-SystemUI-Fix-QS-header-clock-color.patch} (85%) rename patches_platform/frameworks_base/{0024-SystemUI-Calculate-paged-QS-tiles-height-properly.patch => 0027-SystemUI-Calculate-paged-QS-tiles-height-properly.patch} (87%) rename patches_platform/frameworks_base/{0025-SystemUI-Re-inflate-QS-and-SB-when-CONFIG_SCREEN_LAY.patch => 0028-SystemUI-Re-inflate-QS-and-SB-when-CONFIG_SCREEN_LAY.patch} (91%) rename patches_platform/frameworks_base/{0026-SystemUI-Follow-light-dark-theme-in-SplitShade-Heade.patch => 0029-SystemUI-Follow-light-dark-theme-in-SplitShade-Heade.patch} (77%) rename patches_platform/frameworks_base/{0027-SystemUI-Remove-visibility-check-in-setting-QSCarrie.patch => 0030-SystemUI-Remove-visibility-check-in-setting-QSCarrie.patch} (90%) rename patches_platform/frameworks_base/{0028-SystemUI-Switch-notification-background-to-monet-on-.patch => 0031-SystemUI-Switch-notification-background-to-monet-on-.patch} (90%) rename patches_platform/frameworks_base/{0029-SystemUI-Follow-Dark-Light-theme-for-Safe-Mode-dialo.patch => 0032-SystemUI-Follow-Dark-Light-theme-for-Safe-Mode-dialo.patch} (83%) rename patches_platform/frameworks_base/{0030-SystemUI-Follow-monet-theme-on-privacy-indicators.patch => 0033-SystemUI-Follow-monet-theme-on-privacy-indicators.patch} (89%) rename patches_platform/frameworks_base/{0031-SystemUI-Follow-monet-theme-on-battery-chip.patch => 0034-SystemUI-Follow-monet-theme-on-battery-chip.patch} (69%) create mode 100644 patches_platform/packages_apps_SetupWizard/0001-SetupWizard-Remove-step-for-changing-theme.patch create mode 100644 patches_platform_personal/frameworks_base/0001-Add-MotoHelloUINavbarOverlay-1-2.patch delete mode 100644 patches_platform_personal/frameworks_base/0001-Add-keylayout-for-Backbone-One-for-Android-with-AB-X.patch delete mode 100644 patches_platform_personal/frameworks_base/0002-Add-MiuiNavbarOverlay.patch rename patches_platform_personal/frameworks_base/{0003-Disable-Bluetooth-by-default.patch => 0002-Disable-Bluetooth-by-default.patch} (84%) rename patches_platform_personal/frameworks_base/{0004-Disable-cursor-drag-by-default-for-editable-TextView.patch => 0003-Disable-cursor-drag-by-default-for-editable-TextView.patch} (88%) rename patches_platform_personal/frameworks_base/{0005-Disable-RESTRICTED-bucket-toast.patch => 0004-Disable-RESTRICTED-bucket-toast.patch} (93%) rename patches_platform_personal/frameworks_base/{0006-Keyguard-Adjust-clock-style.patch => 0005-Keyguard-Adjust-clock-style.patch} (93%) rename patches_platform_personal/frameworks_base/{0007-Keyguard-Hide-padlock-unless-UDFPS-is-in-use.patch => 0006-Keyguard-Hide-padlock-unless-UDFPS-is-in-use.patch} (88%) create mode 100644 patches_platform_personal/frameworks_base/0007-Keyguard-Default-to-small-clock-1-3.patch delete mode 100644 patches_platform_personal/frameworks_base/0008-Keyguard-Default-to-small-clock-1-3.patch rename patches_platform_personal/frameworks_base/{0009-Keyguard-Refine-indication-text.patch => 0008-Keyguard-Refine-indication-text.patch} (94%) rename patches_platform_personal/frameworks_base/{0010-Keyguard-UI-Fix-status-bar-quick-settings-margins-an.patch => 0009-Keyguard-UI-Fix-status-bar-quick-settings-margins-an.patch} (76%) rename patches_platform_personal/frameworks_base/{0011-Revert-SystemUI-Add-left-padding-for-keyguard-slices.patch => 0010-Revert-SystemUI-Add-left-padding-for-keyguard-slices.patch} (84%) rename patches_platform_personal/frameworks_base/{0012-Revert-Update-RAT-icons-to-match-Silk-design.patch => 0011-Revert-Update-RAT-icons-to-match-Silk-design.patch} (99%) rename patches_platform_personal/frameworks_base/{0013-Revert-Use-the-default-top-clock-margin-on-h800-devi.patch => 0012-Revert-Use-the-default-top-clock-margin-on-h800-devi.patch} (87%) rename patches_platform_personal/frameworks_base/{0014-UI-Always-render-into-cutouts.patch => 0013-UI-Always-render-into-cutouts.patch} (88%) rename patches_platform_personal/frameworks_base/{0015-UI-Kill-rounded-corners-in-notification-scrim.patch => 0014-UI-Kill-rounded-corners-in-notification-scrim.patch} (70%) rename patches_platform_personal/frameworks_base/{0016-UI-Reconfigure-power-menu-items.patch => 0015-UI-Reconfigure-power-menu-items.patch} (82%) rename patches_platform_personal/frameworks_base/{0017-UI-Reconfigure-quick-settings-tiles.patch => 0016-UI-Reconfigure-quick-settings-tiles.patch} (75%) rename patches_platform_personal/frameworks_base/{0018-UI-Relax-requirement-for-HINT_SUPPORTS_DARK_TEXT.patch => 0017-UI-Relax-requirement-for-HINT_SUPPORTS_DARK_TEXT.patch} (88%) rename patches_platform_personal/frameworks_base/{0019-UI-Remove-privacy-dot.patch => 0018-UI-Remove-privacy-dot.patch} (88%) rename patches_platform_personal/frameworks_base/{0020-UI-Restore-quick-settings-fonts-to-pre-T-QPR2.patch => 0019-UI-Restore-quick-settings-fonts-to-pre-T-QPR2.patch} (88%) rename patches_platform_personal/frameworks_base/{0021-UI-Revert-to-HSL-luminance-for-wallpaper-dark-hints.patch => 0020-UI-Revert-to-HSL-luminance-for-wallpaper-dark-hints.patch} (93%) delete mode 100644 patches_platform_personal/packages_apps_Settings/0001-Keyguard-Default-to-small-clock-2-3.patch create mode 100644 patches_platform_personal/vendor_lineage/0001-Add-MotoHelloUINavbarOverlay-2-2.patch rename patches_platform_personal/vendor_lineage/{0001-build-Integrate-prop-modifications-2-2.patch => 0002-build-Integrate-prop-modifications-2-2.patch} (90%) rename patches_platform_personal/vendor_lineage/{0002-build-Remove-Stk-2-2.patch => 0003-build-Remove-Stk-2-2.patch} (81%) rename patches_platform_personal/vendor_lineage/{0003-vendor_lineage-Ignore-neverallows.-again.patch => 0004-vendor_lineage-Ignore-neverallows.-again.patch} (88%) rename patches_platform_personal/vendor_lineage/{0004-vendor_lineage-Personal-theme-as-SRO.patch => 0005-vendor_lineage-Personal-theme-as-SRO.patch} (97%) create mode 100644 patches_treble/treble_app/0001-Simplify-Securize-to-CheckBoxPreference-and-persist-.patch delete mode 100644 patches_treble/vendor_hardware_overlay/0001-TEMP-Up-TrebleApp-to-20240216.patch rename patches_treble_td/platform_build/{0003-Include-vndk-v28-sepolicy-support.patch => 0001-Include-vndk-v28-sepolicy-support.patch} (59%) delete mode 100644 patches_treble_td/platform_build/0001-build-remove-emulator-crap-from-GSI.patch delete mode 100644 patches_treble_td/platform_build/0002-build-Bypass-vendor-calls.patch rename patches_treble_td/platform_build/{0004-core-sysprop-Write-build-display-id-to-product-prop.patch => 0002-core-sysprop-Write-build-display-id-to-product-prop.patch} (76%) delete mode 100644 patches_treble_td/platform_frameworks_av/0015-Don-t-crash-on-unknown-audio-devices.patch rename patches_treble_td/platform_frameworks_av/{0016-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch => 0015-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch} (60%) rename patches_treble_td/platform_frameworks_av/{0017-Use-a-fake-volume-policy-when-none-has-been-found.patch => 0016-Use-a-fake-volume-policy-when-none-has-been-found.patch} (92%) rename patches_treble_td/platform_frameworks_av/{0018-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch => 0017-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch} (93%) rename patches_treble_td/platform_frameworks_av/{0019-Add-a-prop-to-change-Samsung-flash-strength.patch => 0018-Add-a-prop-to-change-Samsung-flash-strength.patch} (81%) rename patches_treble_td/platform_frameworks_av/{0020-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch => 0019-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch} (92%) create mode 100644 patches_treble_td/platform_frameworks_av/0020-audiopolicy-Fix-broken-mic-while-video-recording-on-.patch rename patches_treble_td/platform_frameworks_av/{0022-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch => 0021-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch} (88%) delete mode 100644 patches_treble_td/platform_frameworks_av/0021-audiopolicy-Fix-broken-mic-while-video-recording-on-.patch rename patches_treble_td/platform_frameworks_av/{0023-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch => 0022-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch} (64%) rename patches_treble_td/platform_frameworks_av/{0024-Include-Samsung-AIDL-camera-ids.patch => 0023-Include-Samsung-AIDL-camera-ids.patch} (79%) create mode 100644 patches_treble_td/platform_frameworks_av/0024-Allow-using-camera-modes-declared-in-Samsung-proprie.patch rename patches_treble_td/platform_frameworks_base/{0043-Add-support-for-Samsung-full-brightness-on-their-AID.patch => 0042-Add-support-for-Samsung-full-brightness-on-their-AID.patch} (92%) delete mode 100644 patches_treble_td/platform_frameworks_base/0042-fix-fod-Extra-Dim-overlap-fod-overlay.patch rename patches_treble_td/platform_frameworks_base/{0048-Add-Samsung-sysinput.patch => 0043-Add-Samsung-sysinput.patch} (74%) rename patches_treble_td/platform_frameworks_base/{0049-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch => 0044-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch} (95%) delete mode 100644 patches_treble_td/platform_frameworks_base/0044-Fix-Xiaomi-custom-vendors-implementing-fingerprint-p.patch delete mode 100644 patches_treble_td/platform_frameworks_base/0045-Also-override-UDFPS-infos-on-AIDL-fingerprints-neede.patch rename patches_treble_td/platform_frameworks_base/{0050-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch => 0045-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch} (88%) create mode 100644 patches_treble_td/platform_frameworks_base/0046-Include-vendor.samsung.hardware.radio.network-V1-jav.patch delete mode 100644 patches_treble_td/platform_frameworks_base/0046-Try-catch-the-Xiaomi-calls.patch create mode 100644 patches_treble_td/platform_frameworks_base/0047-Include-vendor.samsung.hardware.radio-V2.2-java-HIDL.patch delete mode 100644 patches_treble_td/platform_frameworks_base/0047-Typo-in-observing-Samsung-brightness.patch create mode 100644 patches_treble_td/platform_frameworks_base/0048-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch create mode 100644 patches_treble_td/platform_frameworks_base/0049-Don-t-crash-system_server-if-we-fail-to-parse-dynami.patch create mode 100644 patches_treble_td/platform_frameworks_base/0050-Add-a-prop-to-disable-animation-in-for-sysui-media-c.patch delete mode 100644 patches_treble_td/platform_frameworks_libs_net/0001-Restore-back-the-behavior-of-isValid-It-is-legal-to-.patch create mode 100644 patches_treble_td/platform_frameworks_native/0012-Disable-gpuservice-on-old-BPF-less-kernel.patch create mode 100644 patches_treble_td/platform_frameworks_opt_telephony/0005-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch create mode 100644 patches_treble_td/platform_frameworks_opt_telephony/0006-Revert-Remove-deprecated-HAL-versions-for-IRadio.patch rename patches_treble_td/platform_frameworks_opt_telephony/{0005-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch => 0007-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch} (97%) rename patches_treble_td/platform_frameworks_opt_telephony/{0006-telephony-forward-port-support-for-forceCognitive.patch => 0008-telephony-forward-port-support-for-forceCognitive.patch} (92%) rename patches_treble_td/platform_frameworks_opt_telephony/{0007-Fix-NPE-with-1.0-and-1.1-CardStatus.patch => 0009-Fix-NPE-with-1.0-and-1.1-CardStatus.patch} (81%) rename patches_treble_td/platform_frameworks_opt_telephony/{0008-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch => 0010-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch} (90%) rename patches_treble_td/platform_frameworks_opt_telephony/{0009-Revert-Removed-IWLAN-legacy-mode-support.patch => 0011-Revert-Removed-IWLAN-legacy-mode-support.patch} (87%) create mode 100644 patches_treble_td/platform_frameworks_opt_telephony/0012-Initialize-Samsung-AIDL-ISehRadioNetwork.-Fixes-5G-o.patch create mode 100644 patches_treble_td/platform_frameworks_opt_telephony/0013-Initialize-Samsung-HIDL-ISehRadio.-Fixes-5G-on-S20-U.patch create mode 100644 patches_treble_td/platform_frameworks_opt_telephony/0014-When-reading-SMSC-ignore-invalid-SMSC.patch delete mode 100644 patches_treble_td/platform_packages_apps_Nfc/0001-Don-t-crash-when-there-is-no-VR-service.patch delete mode 100644 patches_treble_td/platform_packages_apps_Settings/0003-Don-t-crash-when-we-get-no-DeviceLockManager.patch rename patches_treble_td/platform_packages_apps_Settings/{0004-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch => 0003-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch} (90%) rename patches_treble_td/platform_packages_apps_Settings/{0005-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch => 0004-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch} (93%) delete mode 100644 patches_treble_td/platform_packages_modules_Connectivity/0002-Dont-delete-UID-from-BpfMap-on-BPF-less-kernel.patch create mode 100644 patches_treble_td/platform_packages_modules_Connectivity/0002-Support-non-working-BPF-maps-on-old-BPF-less-kernel.patch rename patches_treble_td/platform_packages_modules_Connectivity/{0004-Bring-back-traffic-indicators-for-legacy-devices.patch => 0003-Bring-back-traffic-indicators-for-legacy-devices.patch} (69%) delete mode 100644 patches_treble_td/platform_packages_modules_Connectivity/0003-Make-the-use-of-IBpfMaps-optional.patch create mode 100644 patches_treble_td/platform_packages_modules_Connectivity/0004-Revert-drop-support-for-V-gsi-on-pixel-5-R-base-kern.patch delete mode 100644 patches_treble_td/platform_packages_modules_Connectivity/0005-BpfNetMaps-check-if-map-is-null-to-prevent-crash-on-.patch create mode 100644 patches_treble_td/platform_packages_modules_Connectivity/0005-More-bpf-errors-ignore-there-are-some-4.14-without-t.patch create mode 100644 patches_treble_td/platform_packages_modules_Connectivity/0006-Fixup-Support-non-working-BPF-maps-on-old-BPF-less-k.patch create mode 100644 patches_treble_td/platform_packages_modules_DnsResolver/0001-Dont-abort-if-the-DnsHelper-failed-to-init-on-BPF-le.patch create mode 100644 patches_treble_td/platform_packages_modules_Wifi/0001-Add-persist.sys.phh.wifi_disable_sae-property-to-dis.patch create mode 100644 patches_treble_td/platform_packages_services_Telephony/0001-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch create mode 100644 patches_treble_td/platform_system_apex/0001-Disable-O_DIRECT-for-old-kernels.patch delete mode 100644 patches_treble_td/platform_system_bpf/0002-Revert-detect-inability-to-write-to-index-0-of-bpf-m.patch rename patches_treble_td/platform_system_core/{0004-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch => 0002-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch} (90%) delete mode 100644 patches_treble_td/platform_system_core/0002-If-Vboot2-fails-fall-back-to-Vboot1.patch delete mode 100644 patches_treble_td/platform_system_core/0003-Revert-Remove-support-for-AVB-1.0.patch rename patches_treble_td/platform_system_core/{0005-init-Do-not-start-console-service-when-debuggable.patch => 0003-init-Do-not-start-console-service-when-debuggable.patch} (78%) create mode 100644 patches_treble_td/platform_system_core/0004-Panic-into-recovery-rather-than-bootloader.patch rename patches_treble_td/platform_system_core/{0007-Detect-allowed-sdcard-options-based-on-vndk.patch => 0005-Detect-allowed-sdcard-options-based-on-vndk.patch} (93%) delete mode 100644 patches_treble_td/platform_system_core/0006-Panic-into-recovery-rather-than-bootloader.patch rename patches_treble_td/platform_system_core/{0008-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch => 0006-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch} (83%) rename patches_treble_td/platform_system_core/{0009-Revert-Set-system-xbin-permissions-to-750.patch => 0007-Revert-Set-system-xbin-permissions-to-750.patch} (82%) rename patches_treble_td/platform_system_core/{0010-Add-my-own-OTA-mechanism-going-over-data.patch => 0008-Add-my-own-OTA-mechanism-going-over-data.patch} (84%) rename patches_treble_td/platform_system_core/{0011-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch => 0009-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch} (65%) rename patches_treble_td/platform_system_core/{0012-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch => 0010-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch} (74%) rename patches_treble_td/platform_system_core/{0013-Let-system-override-adb-secure-props-so-we-dont-get-.patch => 0011-Let-system-override-adb-secure-props-so-we-dont-get-.patch} (80%) rename patches_treble_td/platform_system_core/{0014-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch => 0012-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch} (81%) rename patches_treble_td/platform_system_core/{0015-watchdogd-Support-pinging-two-watchdogs.patch => 0013-watchdogd-Support-pinging-two-watchdogs.patch} (94%) rename patches_treble_td/platform_system_core/{0016-healthd-offline-charger-fix-screen-off-3-3.patch => 0014-healthd-offline-charger-fix-screen-off-3-3.patch} (98%) rename patches_treble_td/platform_system_core/{0017-Disable-quotas-on-legacy-devices-with-encryption-dis.patch => 0015-Disable-quotas-on-legacy-devices-with-encryption-dis.patch} (86%) rename patches_treble_td/platform_system_core/{0018-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch => 0016-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch} (80%) rename patches_treble_td/platform_system_core/{0019-Ignore-dm-verity-setup-issues.patch => 0017-Ignore-dm-verity-setup-issues.patch} (79%) rename patches_treble_td/platform_system_core/{0020-Fix-support-for-devices-without-cgroupv2-support.patch => 0018-Fix-support-for-devices-without-cgroupv2-support.patch} (56%) rename patches_treble_td/platform_system_core/{0021-Disable-project_quota-on-old-devices-but-new-enough-.patch => 0019-Disable-project_quota-on-old-devices-but-new-enough-.patch} (84%) rename patches_treble_td/platform_system_core/{0022-fix-Nubia-6-series-custom-rc-action-prop-validation.patch => 0020-fix-Nubia-6-series-custom-rc-action-prop-validation.patch} (85%) rename patches_treble_td/platform_system_core/{0023-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch => 0021-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch} (84%) rename patches_treble_td/platform_system_core/{0024-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch => 0022-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch} (81%) rename patches_treble_td/platform_system_core/{0025-Keep-capex-when-there-are-vendor-apexes.patch => 0023-Keep-capex-when-there-are-vendor-apexes.patch} (82%) rename patches_treble_td/platform_system_core/{0026-When-setting-ro.apex.updatable-actually-set-the-valu.patch => 0024-When-setting-ro.apex.updatable-actually-set-the-valu.patch} (90%) create mode 100644 patches_treble_td/platform_system_core/0025-If-AVB-fails-ignore-disable-AVB.patch create mode 100644 patches_treble_td/platform_system_core/0026-Flattened-apexes-no-longer-exist-we-ll-deal-with-it-.patch create mode 100644 patches_treble_td/platform_system_sepolicy/0002-Fix-sepolicy-for-kernel-5.10-that-doesn-t-support-bp.patch diff --git a/patches_platform/frameworks_base/0001-Disable-FP-lockouts-optionally.patch b/patches_platform/frameworks_base/0001-Disable-FP-lockouts-optionally.patch index 20d8bc1..7896cbb 100644 --- a/patches_platform/frameworks_base/0001-Disable-FP-lockouts-optionally.patch +++ b/patches_platform/frameworks_base/0001-Disable-FP-lockouts-optionally.patch @@ -1,7 +1,7 @@ -From 9d54280afa329e036ba97cd5f39e1371c4beea0a Mon Sep 17 00:00:00 2001 +From 92d00894b0d84c8d3fd0a6ba253132ac96402251 Mon Sep 17 00:00:00 2001 From: AndyCGYan Date: Fri, 22 Mar 2019 00:41:20 +0800 -Subject: [PATCH 01/31] Disable FP lockouts optionally +Subject: [PATCH 01/34] Disable FP lockouts optionally Both timed and permanent lockouts - GET THE FUCK OUT Now targeting LockoutFramework, introduced in Android 12 @@ -13,7 +13,7 @@ Change-Id: I2d4b091f3546d4d7903bfb4d5585629212dc9915 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java -index 36d56c8a1544..7ee15e97a383 100644 +index 0730c672acd9..972421758223 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java @@ -27,6 +27,7 @@ import android.content.IntentFilter; @@ -32,10 +32,10 @@ index 36d56c8a1544..7ee15e97a383 100644 private final class LockoutReceiver extends BroadcastReceiver { @Override -@@ -105,23 +107,27 @@ public class LockoutFrameworkImpl implements LockoutTracker { - } +@@ -107,24 +109,28 @@ public class LockoutFrameworkImpl implements LockoutTracker { - void addFailedAttemptForUser(int userId) { + @Override + public void addFailedAttemptForUser(int userId) { - mFailedAttempts.put(userId, mFailedAttempts.get(userId, 0) + 1); - mTimedLockoutCleared.put(userId, false); + if (!SystemProperties.getBoolean(DISABLE_FP_LOCKOUTS_PROPERTY, false)) { @@ -51,7 +51,8 @@ index 36d56c8a1544..7ee15e97a383 100644 } @Override - public @LockoutMode int getLockoutModeForUser(int userId) { + @LockoutMode + public int getLockoutModeForUser(int userId) { - final int failedAttempts = mFailedAttempts.get(userId, 0); - if (failedAttempts >= MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT) { - return LOCKOUT_PERMANENT; diff --git a/patches_platform/frameworks_base/0002-Disable-vendor-mismatch-warning.patch b/patches_platform/frameworks_base/0002-Disable-vendor-mismatch-warning.patch index c808c25..a5b706b 100644 --- a/patches_platform/frameworks_base/0002-Disable-vendor-mismatch-warning.patch +++ b/patches_platform/frameworks_base/0002-Disable-vendor-mismatch-warning.patch @@ -1,22 +1,21 @@ -From cdbb1b13a0c0577db791e0826e55cbd922a3d533 Mon Sep 17 00:00:00 2001 +From b3aa7feea26bb5d713a8511f5720f33f0c204002 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Thu, 5 Apr 2018 10:01:19 +0800 -Subject: [PATCH 02/31] Disable vendor mismatch warning +Subject: [PATCH 02/34] Disable vendor mismatch warning Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b --- - .../server/wm/ActivityTaskManagerService.java | 16 ++-------------- - 1 file changed, 2 insertions(+), 14 deletions(-) + .../server/wm/ActivityTaskManagerService.java | 14 +------------- + 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java -index 8382fa97c5c5..a3e37193d513 100644 +index ad9ac201e22b..b42e4e2e22dc 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java -@@ -6116,20 +6116,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { - } +@@ -6237,19 +6237,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { - if (!Build.isBuildConsistent()) { -- Slog.e(TAG, "Build fingerprint is not consistent, warning user"); + if (!isBuildConsistent) { + Slog.e(TAG, "Build fingerprint is not consistent, warning user"); - mUiHandler.post(() -> { - if (mShowDialogs) { - AlertDialog d = new BaseErrorDialog(mUiContext); @@ -30,11 +29,10 @@ index 8382fa97c5c5..a3e37193d513 100644 - d.show(); - } - }); -+ Slog.e(TAG, "Build fingerprint is not consistent"); + // Do not emit warning about vendor mismatch } } - } + Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); -- 2.34.1 diff --git a/patches_platform/frameworks_base/0003-Keyguard-Allow-locking-to-any-rotation-mode.patch b/patches_platform/frameworks_base/0003-Keyguard-Allow-locking-to-any-rotation-mode.patch index 3e770af..86f97ca 100644 --- a/patches_platform/frameworks_base/0003-Keyguard-Allow-locking-to-any-rotation-mode.patch +++ b/patches_platform/frameworks_base/0003-Keyguard-Allow-locking-to-any-rotation-mode.patch @@ -1,7 +1,7 @@ -From dc1b9d58a7f5522fb1c5b7155b52c733b9f5080d Mon Sep 17 00:00:00 2001 +From e492a141400c534bfc1f08b904e7e7f60e92164e Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 21 Jan 2024 22:03:47 +0800 -Subject: [PATCH 03/31] Keyguard: Allow locking to any rotation mode +Subject: [PATCH 03/34] Keyguard: Allow locking to any rotation mode Change-Id: I0f12c433f3547e9bfcdbc2cf50e2a4f3ec8ca311 --- @@ -9,10 +9,10 @@ Change-Id: I0f12c433f3547e9bfcdbc2cf50e2a4f3ec8ca311 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java -index 2ebe2bcf7099..6e51746c6ea7 100644 +index b4082694bbe5..f9f3dd911a74 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java -@@ -382,12 +382,9 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW +@@ -431,12 +431,9 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW } private void adjustScreenOrientation(NotificationShadeWindowState state) { diff --git a/patches_platform/frameworks_base/0004-Keyguard-Fix-colors-of-slices-not-updating-on-doze.patch b/patches_platform/frameworks_base/0004-Keyguard-Fix-colors-of-slices-not-updating-on-doze.patch index 1f58627..d78eb60 100644 --- a/patches_platform/frameworks_base/0004-Keyguard-Fix-colors-of-slices-not-updating-on-doze.patch +++ b/patches_platform/frameworks_base/0004-Keyguard-Fix-colors-of-slices-not-updating-on-doze.patch @@ -1,7 +1,7 @@ -From 966dbb52453bb6bd3d301a23c6ab4101951a2489 Mon Sep 17 00:00:00 2001 +From beea20462b965e2c790549f7d854ed71b46b54e9 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Tue, 17 Jan 2023 17:19:19 +0000 -Subject: [PATCH 04/31] Keyguard: Fix colors of slices not updating on doze +Subject: [PATCH 04/34] Keyguard: Fix colors of slices not updating on doze Slices were invisible (black) in doze when using light wallpapers Introduced in https://github.com/LineageOS/android_frameworks_base/commit/a19e59d717ec6d573c11c7e8277bba3c4de189c2 @@ -13,10 +13,10 @@ Change-Id: I06abd8bf2e28655cc9e6d81366fd82a13454ec5a 2 files changed, 8 insertions(+) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java -index c314586e4a21..5262a2c04c00 100644 +index 2a54a4eee657..de2d1ec89b61 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java -@@ -207,6 +207,13 @@ public class KeyguardStatusViewController extends ViewController Date: Sat, 16 Oct 2021 02:23:48 +0000 -Subject: [PATCH 05/31] UI: Adjust default navbar layouts +Subject: [PATCH 05/34] UI: Adjust default navbar layouts - Slightly tighten nodpi layout - Remove sw372dp layout - looks terrible, probably meant for legacy phablets, but most modern phones qualify @@ -45,10 +45,10 @@ index 07b797a32428..000000000000 - left[.25W],back[.5WC];home;recent[.5WC],right[.25W] - diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml -index f530d0d6e06f..9cd22313e0a1 100644 +index 038e9da33b83..4791ad8969f0 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml -@@ -315,7 +315,7 @@ +@@ -325,7 +325,7 @@ diff --git a/patches_platform/frameworks_base/0006-UI-Adjust-split-screen-divider.patch b/patches_platform/frameworks_base/0006-UI-Adjust-split-screen-divider.patch index 9cfdfd8..ef1447e 100644 --- a/patches_platform/frameworks_base/0006-UI-Adjust-split-screen-divider.patch +++ b/patches_platform/frameworks_base/0006-UI-Adjust-split-screen-divider.patch @@ -1,7 +1,7 @@ -From 78487f8b35969298a76f61ae71651f537fe8e90e Mon Sep 17 00:00:00 2001 +From 5b8bc8a9cf51ed8fb40101b7a5234fccaee36327 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 19 Mar 2022 09:22:24 +0000 -Subject: [PATCH 06/31] UI: Adjust split-screen divider +Subject: [PATCH 06/34] UI: Adjust split-screen divider - Kill rounded corners - where two rectangles collide should be perfectly straight - Make it black (pre-Sv2) for phones @@ -150,7 +150,7 @@ index 000000000000..8a1907da76e5 + @color/taskbar_background + diff --git a/libs/WindowManager/Shell/res/values/colors.xml b/libs/WindowManager/Shell/res/values/colors.xml -index b2ec98bc1b15..b21a6f50c9ab 100644 +index fae71efe3b39..fb50f0119b43 100644 --- a/libs/WindowManager/Shell/res/values/colors.xml +++ b/libs/WindowManager/Shell/res/values/colors.xml @@ -18,7 +18,7 @@ @@ -163,10 +163,10 @@ index b2ec98bc1b15..b21a6f50c9ab 100644 #60000000 #00000000 diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java -index 755dba0c895f..9a2c9bfdab5d 100644 +index 53caddb52f23..fae5008283cc 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java -@@ -157,23 +157,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange +@@ -168,23 +168,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange } private void updateDividerConfig(Context context) { diff --git a/patches_platform/frameworks_base/0007-UI-Disable-wallpaper-zoom.patch b/patches_platform/frameworks_base/0007-UI-Disable-wallpaper-zoom.patch index 8632a7f..c44dac8 100644 --- a/patches_platform/frameworks_base/0007-UI-Disable-wallpaper-zoom.patch +++ b/patches_platform/frameworks_base/0007-UI-Disable-wallpaper-zoom.patch @@ -1,7 +1,7 @@ -From 2df74582c930fc05aa5eeed48ed766d74652bf45 Mon Sep 17 00:00:00 2001 +From f9879e5977ca089dae074c63e609a2a5bc734199 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 10 Jan 2021 11:44:29 +0000 -Subject: [PATCH 07/31] UI: Disable wallpaper zoom +Subject: [PATCH 07/34] UI: Disable wallpaper zoom It does little more than inducing motion sickness @@ -11,10 +11,10 @@ Change-Id: I78cc5484930b27f172cd8d8a5bd9042dce3478d0 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml -index 04a69f8c1e6d..15c4a37b76cd 100644 +index 3bc33bac37bc..369eb84ccd84 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml -@@ -5534,7 +5534,7 @@ +@@ -5768,7 +5768,7 @@ 1 diff --git a/patches_platform/frameworks_base/0008-UI-Follow-Monet-and-light-dark-theme-in-user-1-icon.patch b/patches_platform/frameworks_base/0008-UI-Follow-Monet-and-light-dark-theme-in-user-1-icon.patch index 2378e8e..ae45b70 100644 --- a/patches_platform/frameworks_base/0008-UI-Follow-Monet-and-light-dark-theme-in-user-1-icon.patch +++ b/patches_platform/frameworks_base/0008-UI-Follow-Monet-and-light-dark-theme-in-user-1-icon.patch @@ -1,7 +1,7 @@ -From 1f5882a5305f1a5e01ebfcd3cc7fb30faaa69074 Mon Sep 17 00:00:00 2001 +From 2ffb66fa7c00b63536c3de706bd6e36b2b696512 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 25 Sep 2022 02:20:52 +0000 -Subject: [PATCH 08/31] UI: Follow Monet and light/dark theme in user 1 icon +Subject: [PATCH 08/34] UI: Follow Monet and light/dark theme in user 1 icon Change-Id: I755077c6003c39ddc9428da1defe6a6ddd0e5ff8 --- @@ -22,10 +22,10 @@ index d3f998fb70cf..4f7b9e093bb7 100644 #ff4ecde6 #fffbbc04 diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml -index a6830a6e3793..bbeb4e371018 100644 +index eddd81e78692..00cf4243cfa9 100644 --- a/core/res/res/values/colors.xml +++ b/core/res/res/values/colors.xml -@@ -176,7 +176,7 @@ +@@ -177,7 +177,7 @@ #00000000 diff --git a/patches_platform/frameworks_base/0009-UI-Hide-QS-footer-background.patch b/patches_platform/frameworks_base/0009-UI-Hide-QS-footer-background.patch new file mode 100644 index 0000000..b16f456 --- /dev/null +++ b/patches_platform/frameworks_base/0009-UI-Hide-QS-footer-background.patch @@ -0,0 +1,40 @@ +From 17eb4477f1607ea91917ddce4137d7e337d3037b Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Thu, 4 Apr 2024 18:19:19 +0800 +Subject: [PATCH 09/34] UI: Hide QS footer background + +Change-Id: I4d83037e9206dec4181f9b0acd302114fa4a98c1 +--- + .../com/android/systemui/qs/footer/ui/compose/FooterActions.kt | 2 +- + packages/SystemUI/res/drawable/qs_footer_actions_background.xml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt +index eb71490f049a..8242afefc56b 100644 +--- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt ++++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt +@@ -119,7 +119,7 @@ fun FooterActions( + } + } + +- val backgroundColor = colorAttr(R.attr.underSurface) ++ val backgroundColor = colorAttr(android.R.color.transparent) + val contentColor = LocalAndroidColorScheme.current.onSurface + val backgroundTopRadius = dimensionResource(R.dimen.qs_corner_radius) + val backgroundModifier = +diff --git a/packages/SystemUI/res/drawable/qs_footer_actions_background.xml b/packages/SystemUI/res/drawable/qs_footer_actions_background.xml +index a7e8762a2593..6bfa8f75de03 100644 +--- a/packages/SystemUI/res/drawable/qs_footer_actions_background.xml ++++ b/packages/SystemUI/res/drawable/qs_footer_actions_background.xml +@@ -15,7 +15,7 @@ + --> + + +- ++ + + +-- +2.34.1 + diff --git a/patches_platform/frameworks_base/0009-UI-Increase-default-status-bar-height.patch b/patches_platform/frameworks_base/0010-UI-Increase-default-status-bar-height.patch similarity index 88% rename from patches_platform/frameworks_base/0009-UI-Increase-default-status-bar-height.patch rename to patches_platform/frameworks_base/0010-UI-Increase-default-status-bar-height.patch index 23c5447..27220be 100644 --- a/patches_platform/frameworks_base/0009-UI-Increase-default-status-bar-height.patch +++ b/patches_platform/frameworks_base/0010-UI-Increase-default-status-bar-height.patch @@ -1,7 +1,7 @@ -From 0f62a57ac11e78a3595ba7598f151e7fd891e7c1 Mon Sep 17 00:00:00 2001 +From 0e9361f835650e386bb6b797ebb1b6852d40c762 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Wed, 3 Jun 2020 01:31:34 +0000 -Subject: [PATCH 09/31] UI: Increase default status bar height +Subject: [PATCH 10/34] UI: Increase default status bar height Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07 --- @@ -9,7 +9,7 @@ Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml -index 190b7a62e2e0..32589b542a1d 100644 +index 96c4bf432c05..a086f16c769e 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -41,7 +41,7 @@ diff --git a/patches_platform/frameworks_base/0010-UI-Remove-QS-footer-background.patch b/patches_platform/frameworks_base/0010-UI-Remove-QS-footer-background.patch deleted file mode 100644 index 0075ec4..0000000 --- a/patches_platform/frameworks_base/0010-UI-Remove-QS-footer-background.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7efb158bc07f7366ff2d2d92752e663e16c9e03d Mon Sep 17 00:00:00 2001 -From: Andy CrossGate Yan -Date: Sun, 25 Sep 2022 02:20:20 +0000 -Subject: [PATCH 10/31] UI: Remove QS footer background - -Change-Id: I68e82e0c5e3eddb2d3f767fe792b1436eae506ef ---- - packages/SystemUI/res-keyguard/layout/footer_actions.xml | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/packages/SystemUI/res-keyguard/layout/footer_actions.xml b/packages/SystemUI/res-keyguard/layout/footer_actions.xml -index 4a2a1cb9dc6d..b7f30d9e4344 100644 ---- a/packages/SystemUI/res-keyguard/layout/footer_actions.xml -+++ b/packages/SystemUI/res-keyguard/layout/footer_actions.xml -@@ -23,7 +23,6 @@ - android:elevation="@dimen/qs_panel_elevation" - android:paddingTop="@dimen/qs_footer_actions_top_padding" - android:paddingBottom="@dimen/qs_footer_actions_bottom_padding" -- android:background="@drawable/qs_footer_actions_background" - android:gravity="center_vertical|end" - android:layout_gravity="bottom" - /> -\ No newline at end of file --- -2.34.1 - diff --git a/patches_platform/frameworks_base/0011-UI-Revive-navbar-layout-tuning-via-sysui_nav_bar-tun.patch b/patches_platform/frameworks_base/0011-UI-Revive-navbar-layout-tuning-via-sysui_nav_bar-tun.patch new file mode 100644 index 0000000..31960ef --- /dev/null +++ b/patches_platform/frameworks_base/0011-UI-Revive-navbar-layout-tuning-via-sysui_nav_bar-tun.patch @@ -0,0 +1,82 @@ +From 635207ed57659f3c89cfa144de981706c569d9c8 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Tue, 6 Oct 2020 01:41:16 +0000 +Subject: [PATCH 11/34] UI: Revive navbar layout tuning via sysui_nav_bar + tunable + +Google keeps fixing what ain't broken. + +Change-Id: Ied7d7859e50fd0fcc346219964e747c5d5f4c352 +--- + .../NavigationBarInflaterView.java | 21 +++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java +index 73ca35557133..bbb312c4e56b 100644 +--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java ++++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java +@@ -135,6 +135,7 @@ public class NavigationBarInflaterView extends FrameLayout { + + private boolean mInverseLayout; + private boolean mIsHintEnabled; ++ private boolean mUsingCustomLayout; + + private final ContentObserver mContentObserver; + +@@ -159,6 +160,9 @@ public class NavigationBarInflaterView extends FrameLayout { + mContext.getMainExecutor().execute(() -> { + onLikelyDefaultLayoutChange(); + }); ++ } else if (Settings.Secure.getUriFor(NAV_BAR_VIEWS).equals(uri)) { ++ setNavigationBarLayout(Settings.Secure.getString(mContext.getContentResolver(), ++ NAV_BAR_VIEWS)); + } + } + }; +@@ -215,12 +219,16 @@ public class NavigationBarInflaterView extends FrameLayout { + Uri navBarInverse = Settings.Secure.getUriFor(NAV_BAR_INVERSE); + Uri navigationBarHint = LineageSettings.System.getUriFor( + LineageSettings.System.NAVIGATION_BAR_HINT); ++ Uri navBarViews = Settings.Secure.getUriFor(NAV_BAR_VIEWS); + mContext.getContentResolver().registerContentObserver(navBarInverse, false, + mContentObserver); + mContext.getContentResolver().registerContentObserver(navigationBarHint, false, + mContentObserver); ++ mContext.getContentResolver().registerContentObserver(navBarViews, false, ++ mContentObserver); + mContentObserver.onChange(true, navBarInverse); + mContentObserver.onChange(true, navigationBarHint); ++ mContentObserver.onChange(true, navBarViews); + } + + @Override +@@ -237,6 +245,9 @@ public class NavigationBarInflaterView extends FrameLayout { + } + + public void onLikelyDefaultLayoutChange() { ++ // Don't override custom layouts ++ if (mUsingCustomLayout) return; ++ + // Reevaluate new layout + final String newValue = getDefaultLayout(); + if (!Objects.equals(mCurrentLayout, newValue)) { +@@ -245,6 +256,16 @@ public class NavigationBarInflaterView extends FrameLayout { + } + } + ++ public void setNavigationBarLayout(String layoutValue) { ++ mContext.getMainExecutor().execute(() -> { ++ if (!Objects.equals(mCurrentLayout, layoutValue)) { ++ mUsingCustomLayout = layoutValue != null; ++ clearViews(); ++ inflateLayout(layoutValue); ++ } ++ }); ++ } ++ + public void setButtonDispatchers(SparseArray buttonDispatchers) { + mButtonDispatchers = buttonDispatchers; + clearDispatcherViews(); +-- +2.34.1 + diff --git a/patches_platform/frameworks_base/0011-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch b/patches_platform/frameworks_base/0012-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch similarity index 95% rename from patches_platform/frameworks_base/0011-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch rename to patches_platform/frameworks_base/0012-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch index e7d313f..5267a34 100644 --- a/patches_platform/frameworks_base/0011-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch +++ b/patches_platform/frameworks_base/0012-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch @@ -1,7 +1,7 @@ -From 1edb91ecfa56336cc94aa2bd49c1a3e07274447a Mon Sep 17 00:00:00 2001 +From b2ca16f3b497b0f69e125eb9f47f2324d2a2019e Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 26 Apr 2020 08:56:13 +0000 -Subject: [PATCH 11/31] UI: Use SNAP_FIXED_RATIO for multi-window globally +Subject: [PATCH 12/34] UI: Use SNAP_FIXED_RATIO for multi-window globally Enables multiple snap targets under landscape for phone UI @@ -78,10 +78,10 @@ index 34b6a54be493..3921c9edfeac 100644 Only applies if the device display is not square. --> false diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml -index 15c4a37b76cd..43dbb1513f8a 100644 +index 369eb84ccd84..c223ec0d6ed0 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml -@@ -4081,7 +4081,7 @@ +@@ -4203,7 +4203,7 @@ 1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio) 2 - 1 snap target: 1:1 --> diff --git a/patches_platform/frameworks_base/0012-core-Remove-old-app-target-SDK-dialog.patch b/patches_platform/frameworks_base/0013-core-Remove-old-app-target-SDK-dialog.patch similarity index 83% rename from patches_platform/frameworks_base/0012-core-Remove-old-app-target-SDK-dialog.patch rename to patches_platform/frameworks_base/0013-core-Remove-old-app-target-SDK-dialog.patch index 20a362d..5b8f183 100644 --- a/patches_platform/frameworks_base/0012-core-Remove-old-app-target-SDK-dialog.patch +++ b/patches_platform/frameworks_base/0013-core-Remove-old-app-target-SDK-dialog.patch @@ -1,7 +1,7 @@ -From 5dbac2415145bea20ff01debbe03e815bce09334 Mon Sep 17 00:00:00 2001 +From 77275322ff6606110bec9f11bbdc90932ab1fded Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Tue, 3 Nov 2020 22:43:12 -0800 -Subject: [PATCH 12/31] core: Remove old app target SDK dialog +Subject: [PATCH 13/34] core: Remove old app target SDK dialog If an app is old, users should already know that, and there's usually no point in warning them about it because they would already be using a @@ -15,10 +15,10 @@ Change-Id: I1a3021f0f9bec1ab6ff7641776391e1bd4c3cc49 1 file changed, 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/AppWarnings.java b/services/core/java/com/android/server/wm/AppWarnings.java -index 0273a30e157c..d54aadfd6d24 100644 +index ad5f4427fbc4..94ccee7b4771 100644 --- a/services/core/java/com/android/server/wm/AppWarnings.java +++ b/services/core/java/com/android/server/wm/AppWarnings.java -@@ -206,7 +206,6 @@ class AppWarnings { +@@ -210,7 +210,6 @@ class AppWarnings { public void onStartActivity(ActivityRecord r) { showUnsupportedCompileSdkDialogIfNeeded(r); showUnsupportedDisplaySizeDialogIfNeeded(r); diff --git a/patches_platform/frameworks_base/0014-Add-support-for-app-signature-spoofing.patch b/patches_platform/frameworks_base/0014-Add-support-for-app-signature-spoofing.patch deleted file mode 100644 index ffcc2d3..0000000 --- a/patches_platform/frameworks_base/0014-Add-support-for-app-signature-spoofing.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 1001116630f817f53c2b6adbe51499ca6ff6ab4f Mon Sep 17 00:00:00 2001 -From: Danny Lin -Date: Sat, 16 Oct 2021 05:27:57 -0700 -Subject: [PATCH 14/31] Add support for app signature spoofing - -This is needed by microG GmsCore to pretend to be the official Google -Play Services package, because client apps check the package signature -to make sure it matches Google's official certificate. - -This was forward-ported from the Android 10 patch by gudenau: -https://github.com/microg/android_packages_apps_GmsCore/pull/957 - -Changes made for Android 11: - - Updated PackageInfo calls - - Added new permission to public API surface, needed for - PermissionController which is now an updatable APEX on 11 - - Added a dummy permission group to allow users to manage the - permission through the PermissionController UI - (by Vachounet ) - - Updated location provider comment for conciseness - -Changes made for Android 12: - - Moved mayFakeSignature into lock-free Computer subclass - - Always get permissions for packages that request signature spoofing - (otherwise permissions are usually ommitted and thus the permission - check doesn't work properly) - - Optimize mayFakeSignature check order to improve performance - -Changes made for Android 13: - - Computer subclass is now an independent class. - -Change-Id: Ied7d6ce0b83a2d2345c3abba0429998d86494a88 ---- - core/api/current.txt | 2 ++ - core/res/AndroidManifest.xml | 15 ++++++++++ - core/res/res/values/strings.xml | 12 ++++++++ - .../com/android/server/pm/ComputerEngine.java | 30 +++++++++++++++++-- - 4 files changed, 56 insertions(+), 3 deletions(-) - -diff --git a/core/api/current.txt b/core/api/current.txt -index 288ab479c0fb..2124d89c6e6f 100644 ---- a/core/api/current.txt -+++ b/core/api/current.txt -@@ -95,6 +95,7 @@ package android { - field public static final String EXECUTE_APP_ACTION = "android.permission.EXECUTE_APP_ACTION"; - field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR"; - field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST"; -+ field public static final String FAKE_PACKAGE_SIGNATURE = "android.permission.FAKE_PACKAGE_SIGNATURE"; - field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE"; - field public static final String FOREGROUND_SERVICE_CAMERA = "android.permission.FOREGROUND_SERVICE_CAMERA"; - field public static final String FOREGROUND_SERVICE_CONNECTED_DEVICE = "android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"; -@@ -326,6 +327,7 @@ package android { - field public static final String CALL_LOG = "android.permission-group.CALL_LOG"; - field public static final String CAMERA = "android.permission-group.CAMERA"; - field public static final String CONTACTS = "android.permission-group.CONTACTS"; -+ field public static final String FAKE_PACKAGE = "android.permission-group.FAKE_PACKAGE"; - field public static final String LOCATION = "android.permission-group.LOCATION"; - field public static final String MICROPHONE = "android.permission-group.MICROPHONE"; - field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES"; -diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml -index 14cb052b121f..09dc7b293b73 100644 ---- a/core/res/AndroidManifest.xml -+++ b/core/res/AndroidManifest.xml -@@ -4258,6 +4258,21 @@ - android:description="@string/permdesc_getPackageSize" - android:protectionLevel="normal" /> - -+ -+ -+ -+ -+ -+ - -diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml -index 9c018c30f9e3..966fec172070 100644 ---- a/core/res/res/values/strings.xml -+++ b/core/res/res/values/strings.xml -@@ -991,6 +991,18 @@ - - - -+ -+ Spoof package signature -+ -+ Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Legitimate uses include an emulator pretending to be what it emulates. Grant this permission with caution only! -+ -+ Spoof package signature -+ -+ allow to spoof package signature -+ -+ Allow -+ <b>%1$s</b> to spoof package signature? -+ - - disable or modify status bar - -diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java -index 78f1fa60b69f..fb2f7da97cda 100644 ---- a/services/core/java/com/android/server/pm/ComputerEngine.java -+++ b/services/core/java/com/android/server/pm/ComputerEngine.java -@@ -1450,6 +1450,29 @@ public class ComputerEngine implements Computer { - return result; - } - -+ private boolean requestsFakeSignature(AndroidPackage p) { -+ return p.getMetaData() != null && -+ p.getMetaData().getString("fake-signature") != null; -+ } -+ -+ private PackageInfo mayFakeSignature(AndroidPackage p, PackageInfo pi, -+ Set permissions) { -+ try { -+ if (p.getMetaData() != null && -+ p.getTargetSdkVersion() > Build.VERSION_CODES.LOLLIPOP_MR1) { -+ String sig = p.getMetaData().getString("fake-signature"); -+ if (sig != null && -+ permissions.contains("android.permission.FAKE_PACKAGE_SIGNATURE")) { -+ pi.signatures = new Signature[] {new Signature(sig)}; -+ } -+ } -+ } catch (Throwable t) { -+ // We should never die because of any failures, this is system code! -+ Log.w("PackageManagerService.FAKE_PACKAGE_SIGNATURE", t); -+ } -+ return pi; -+ } -+ - public final PackageInfo generatePackageInfo(PackageStateInternal ps, - @PackageManager.PackageInfoFlagsBits long flags, int userId) { - if (!mUserManager.exists(userId)) return null; -@@ -1483,13 +1506,14 @@ public class ComputerEngine implements Computer { - || ArrayUtils.isEmpty(p.getPermissions())) ? Collections.emptySet() - : mPermissionManager.getInstalledPermissions(ps.getPackageName()); - // Compute granted permissions only if package has requested permissions -- final Set grantedPermissions = ((flags & PackageManager.GET_PERMISSIONS) == 0 -+ final Set grantedPermissions = (((flags & PackageManager.GET_PERMISSIONS) == 0 -+ && !requestsFakeSignature(p)) - || ArrayUtils.isEmpty(p.getRequestedPermissions())) ? Collections.emptySet() - : mPermissionManager.getGrantedPermissions(ps.getPackageName(), userId); - -- PackageInfo packageInfo = PackageInfoUtils.generate(p, gids, flags, -+ PackageInfo packageInfo = mayFakeSignature(p, PackageInfoUtils.generate(p, gids, flags, - state.getFirstInstallTimeMillis(), ps.getLastUpdateTime(), installedPermissions, -- grantedPermissions, state, userId, ps); -+ grantedPermissions, state, userId, ps), grantedPermissions); - - if (packageInfo == null) { - return null; --- -2.34.1 - diff --git a/patches_platform/frameworks_base/0013-Paint-Enable-subpixel-text-positioning-by-default.patch b/patches_platform/frameworks_base/0014-Paint-Enable-subpixel-text-positioning-by-default.patch similarity index 88% rename from patches_platform/frameworks_base/0013-Paint-Enable-subpixel-text-positioning-by-default.patch rename to patches_platform/frameworks_base/0014-Paint-Enable-subpixel-text-positioning-by-default.patch index f8ff41a..8d3edc5 100644 --- a/patches_platform/frameworks_base/0013-Paint-Enable-subpixel-text-positioning-by-default.patch +++ b/patches_platform/frameworks_base/0014-Paint-Enable-subpixel-text-positioning-by-default.patch @@ -1,7 +1,7 @@ -From 11a651e734f3b32ca60f6a17d7b8a1f11cca5800 Mon Sep 17 00:00:00 2001 +From 4639be840945f29ba14ed58de8c2f538e2f487fb Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Tue, 5 Oct 2021 21:01:50 -0700 -Subject: [PATCH 13/31] Paint: Enable subpixel text positioning by default +Subject: [PATCH 14/34] Paint: Enable subpixel text positioning by default On desktop Linux, subpixel text positioning is necessary to avoid kerning issues, and Android is no different. Even though most phone @@ -24,10 +24,10 @@ Change-Id: I8d71e5848a745c5a2d457a28c68458920928ee09 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java -index d35dcab11f49..e4e814a1c941 100644 +index f10cdb82022e..a083c723f9c3 100644 --- a/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java -@@ -260,7 +260,7 @@ public class Paint { +@@ -266,7 +266,7 @@ public class Paint { // These flags are always set on a new/reset paint, even if flags 0 is passed. static final int HIDDEN_DEFAULT_PAINT_FLAGS = DEV_KERN_TEXT_FLAG | EMBEDDED_BITMAP_TEXT_FLAG diff --git a/patches_platform/frameworks_base/0015-Remove-debuggable-requirement-for-signature-spoofing.patch b/patches_platform/frameworks_base/0015-Remove-debuggable-requirement-for-signature-spoofing.patch new file mode 100644 index 0000000..df57460 --- /dev/null +++ b/patches_platform/frameworks_base/0015-Remove-debuggable-requirement-for-signature-spoofing.patch @@ -0,0 +1,28 @@ +From 33ea20cb105c85d2c7bc0bab20c5d87ecf2d3df6 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Sun, 17 Mar 2024 17:10:38 +0800 +Subject: [PATCH 15/34] Remove debuggable requirement for signature spoofing + +Change-Id: I8d637ddbbd117a9c5b1d9c5e462b0f4b30d98333 +--- + services/core/java/com/android/server/pm/ComputerEngine.java | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java +index d8cbe9d5e7c7..13af78f56462 100644 +--- a/services/core/java/com/android/server/pm/ComputerEngine.java ++++ b/services/core/java/com/android/server/pm/ComputerEngine.java +@@ -1472,10 +1472,6 @@ public class ComputerEngine implements Computer { + private static native boolean isDebuggable(); + + public static boolean isMicrogSigned(AndroidPackage p) { +- if (!isDebuggable()) { +- return false; +- } +- + // Allowlist the following apps: + // * com.android.vending - microG Companion + // * com.google.android.gms - microG Services +-- +2.34.1 + diff --git a/patches_platform/frameworks_base/0016-Revert-Update-SystemUI-to-new-notification-color-spe.patch b/patches_platform/frameworks_base/0016-Revert-Update-SystemUI-to-new-notification-color-spe.patch new file mode 100644 index 0000000..37333ce --- /dev/null +++ b/patches_platform/frameworks_base/0016-Revert-Update-SystemUI-to-new-notification-color-spe.patch @@ -0,0 +1,879 @@ +From c650743c1e67f48640774af517a2ce77f04e1141 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Thu, 4 Apr 2024 18:26:02 +0800 +Subject: [PATCH 16/34] Revert "Update SystemUI to new notification color spec" + +This reverts commit db2c5554ac653567d1433d3ff99328c5d855c233. + +Change-Id: Iddbe46f4d01d05d6579c1e8b9dab266dd605e199 +--- + ...ication_guts_priority_button_bg_stroke.xml | 5 ++-- + .../notification_guts_priority_contents.xml | 5 ++-- + .../SystemUI/res/color/remote_input_hint.xml | 5 ++-- + .../SystemUI/res/color/remote_input_send.xml | 7 ++--- + .../SystemUI/res/color/remote_input_text.xml | 7 ++--- + .../drawable/notif_footer_btn_background.xml | 2 +- + .../res/drawable/notification_guts_bg.xml | 2 +- + .../res/drawable/notification_material_bg.xml | 2 +- + .../drawable/remote_input_view_text_bg.xml | 5 ++-- + ..._notification_section_header_clear_btn.xml | 3 +- + .../SystemUI/res/layout/notif_half_shelf.xml | 3 +- + .../res/layout/notif_half_shelf_row.xml | 5 ++-- + .../layout/notification_children_divider.xml | 3 +- + .../layout/notification_conversation_info.xml | 3 +- + .../SystemUI/res/layout/notification_info.xml | 5 ++-- + .../res/layout/notification_snooze.xml | 4 +-- + .../res/layout/notification_snooze_option.xml | 3 +- + .../layout/status_bar_notification_footer.xml | 6 ++-- + ...status_bar_notification_section_header.xml | 2 +- + packages/SystemUI/res/values-night/colors.xml | 2 +- + packages/SystemUI/res/values/colors.xml | 2 +- + packages/SystemUI/res/values/styles.xml | 30 ++++--------------- + .../systemui/statusbar/EmptyShadeView.java | 8 ++--- + .../footer/ui/view/FooterView.java | 29 +++++++++--------- + .../row/ActivatableNotificationView.java | 2 +- + .../row/HybridNotificationView.java | 5 ++-- + .../row/NotificationConversationInfo.java | 9 +++--- + .../row/wrapper/NotificationViewWrapper.java | 3 +- + .../stack/NotificationChildrenContainer.java | 2 +- + .../stack/NotificationSectionsManager.kt | 8 ++--- + .../stack/NotificationStackScrollLayout.java | 25 +++++++--------- + .../notification/stack/SectionHeaderView.java | 6 ++-- + .../statusbar/phone/ScrimController.java | 5 ++-- + .../statusbar/phone/TapAgainView.java | 7 ++--- + .../statusbar/policy/RemoteInputView.java | 15 +++++----- + .../row/ActivatableNotificationViewTest.kt | 5 ++-- + 36 files changed, 101 insertions(+), 139 deletions(-) + +diff --git a/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml b/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml +index d1b8a064724d..015e9f99212d 100644 +--- a/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml ++++ b/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml +@@ -14,9 +14,8 @@ + ~ limitations under the License + --> + +- ++ + ++ android:color="?android:attr/colorAccent" /> + + +diff --git a/packages/SystemUI/res/color/notification_guts_priority_contents.xml b/packages/SystemUI/res/color/notification_guts_priority_contents.xml +index cc8c25a2d1ec..42f01896d7a1 100644 +--- a/packages/SystemUI/res/color/notification_guts_priority_contents.xml ++++ b/packages/SystemUI/res/color/notification_guts_priority_contents.xml +@@ -14,9 +14,8 @@ + ~ limitations under the License. + --> + +- ++ + ++ android:color="?android:attr/colorAccent" /> + + +diff --git a/packages/SystemUI/res/color/remote_input_hint.xml b/packages/SystemUI/res/color/remote_input_hint.xml +index 0d90ee6b47c6..7fe58dbcf822 100644 +--- a/packages/SystemUI/res/color/remote_input_hint.xml ++++ b/packages/SystemUI/res/color/remote_input_hint.xml +@@ -14,7 +14,6 @@ + ~ limitations under the License. + --> + +- +- ++ ++ + +\ No newline at end of file +diff --git a/packages/SystemUI/res/color/remote_input_send.xml b/packages/SystemUI/res/color/remote_input_send.xml +index 0acc66b9050f..4dcd3dd229fb 100644 +--- a/packages/SystemUI/res/color/remote_input_send.xml ++++ b/packages/SystemUI/res/color/remote_input_send.xml +@@ -15,8 +15,7 @@ + ~ limitations under the License + --> + +- +- +- ++ ++ ++ + +\ No newline at end of file +diff --git a/packages/SystemUI/res/color/remote_input_text.xml b/packages/SystemUI/res/color/remote_input_text.xml +index bf2c198fe540..13bb1d7cbe7d 100644 +--- a/packages/SystemUI/res/color/remote_input_text.xml ++++ b/packages/SystemUI/res/color/remote_input_text.xml +@@ -15,8 +15,7 @@ + ~ limitations under the License + --> + +- +- +- ++ ++ ++ + +\ No newline at end of file +diff --git a/packages/SystemUI/res/drawable/notif_footer_btn_background.xml b/packages/SystemUI/res/drawable/notif_footer_btn_background.xml +index b9597375c3df..e6266754c0af 100644 +--- a/packages/SystemUI/res/drawable/notif_footer_btn_background.xml ++++ b/packages/SystemUI/res/drawable/notif_footer_btn_background.xml +@@ -26,7 +26,7 @@ + +- ++ + + + +diff --git a/packages/SystemUI/res/drawable/notification_guts_bg.xml b/packages/SystemUI/res/drawable/notification_guts_bg.xml +index 84e2231738d4..bd9394bf9f8a 100644 +--- a/packages/SystemUI/res/drawable/notification_guts_bg.xml ++++ b/packages/SystemUI/res/drawable/notification_guts_bg.xml +@@ -17,7 +17,7 @@ + + +- ++ + + + +diff --git a/packages/SystemUI/res/drawable/notification_material_bg.xml b/packages/SystemUI/res/drawable/notification_material_bg.xml +index 355e75d0716b..3eaa6180ba1b 100644 +--- a/packages/SystemUI/res/drawable/notification_material_bg.xml ++++ b/packages/SystemUI/res/drawable/notification_material_bg.xml +@@ -20,7 +20,7 @@ + android:color="?android:attr/colorControlHighlight"> + + +- ++ + + + +diff --git a/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml b/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml +index 45d1a530cd20..535b35497b5c 100644 +--- a/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml ++++ b/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml +@@ -14,13 +14,12 @@ + ~ limitations under the License. + --> + + +- ++ + ++ android:color="?android:attr/colorAccent"/> + + + + +diff --git a/packages/SystemUI/res/layout/notif_half_shelf.xml b/packages/SystemUI/res/layout/notif_half_shelf.xml +index 68c8dd96d188..c70f8e2b1c07 100644 +--- a/packages/SystemUI/res/layout/notif_half_shelf.xml ++++ b/packages/SystemUI/res/layout/notif_half_shelf.xml +@@ -16,7 +16,6 @@ + + +diff --git a/packages/SystemUI/res/layout/notif_half_shelf_row.xml b/packages/SystemUI/res/layout/notif_half_shelf_row.xml +index 9ef342ce5220..190f9994b1dc 100644 +--- a/packages/SystemUI/res/layout/notif_half_shelf_row.xml ++++ b/packages/SystemUI/res/layout/notif_half_shelf_row.xml +@@ -16,7 +16,6 @@ + + + +@@ -75,7 +74,7 @@ + android:maxLines="1" + android:layout_below="@id/channel_name" + android:fontFamily="@*android:string/config_bodyFontFamily" +- android:textColor="?androidprv:attr/materialColorOnSurfaceVariant" ++ android:textColor="?android:attr/textColorSecondary" + android:textSize="14sp" + /> + +diff --git a/packages/SystemUI/res/layout/notification_children_divider.xml b/packages/SystemUI/res/layout/notification_children_divider.xml +index 13e24a9ea277..eb743067933d 100644 +--- a/packages/SystemUI/res/layout/notification_children_divider.xml ++++ b/packages/SystemUI/res/layout/notification_children_divider.xml +@@ -17,8 +17,7 @@ + + ++ android:background="@color/notification_divider_color" /> +diff --git a/packages/SystemUI/res/layout/notification_conversation_info.xml b/packages/SystemUI/res/layout/notification_conversation_info.xml +index 3a752c81b95a..4f6e88c2266f 100644 +--- a/packages/SystemUI/res/layout/notification_conversation_info.xml ++++ b/packages/SystemUI/res/layout/notification_conversation_info.xml +@@ -17,7 +17,6 @@ + + + + +diff --git a/packages/SystemUI/res/layout/notification_info.xml b/packages/SystemUI/res/layout/notification_info.xml +index 19a3f2fd521c..852db1b8fb91 100644 +--- a/packages/SystemUI/res/layout/notification_info.xml ++++ b/packages/SystemUI/res/layout/notification_info.xml +@@ -17,7 +17,6 @@ + + + android:contentDescription="@string/notification_app_settings" + android:src="@drawable/ic_info" + android:layout_toStartOf="@id/info" +- android:tint="?androidprv:attr/materialColorPrimary"/> ++ android:tint="@color/notification_guts_link_icon_tint"/> + + android:contentDescription="@string/notification_more_settings" + android:background="@drawable/ripple_drawable_20dp" + android:src="@drawable/ic_settings" +- android:tint="?androidprv:attr/materialColorPrimary" ++ android:tint="?android:attr/colorAccent" + android:layout_alignParentEnd="true" /> + + +diff --git a/packages/SystemUI/res/layout/notification_snooze.xml b/packages/SystemUI/res/layout/notification_snooze.xml +index 6e541a7a5f32..8b5368098c00 100644 +--- a/packages/SystemUI/res/layout/notification_snooze.xml ++++ b/packages/SystemUI/res/layout/notification_snooze.xml +@@ -23,7 +23,7 @@ + android:orientation="vertical" + android:paddingTop="2dp" + android:paddingBottom="2dp" +- android:background="?androidprv:attr/materialColorSurfaceContainerHigh" ++ android:background="?androidprv:attr/colorSurface" + android:theme="@style/Theme.SystemUI"> + + + + + +\ No newline at end of file ++ android:textColor="?android:attr/textColorSecondary"/> +\ No newline at end of file +diff --git a/packages/SystemUI/res/layout/status_bar_notification_footer.xml b/packages/SystemUI/res/layout/status_bar_notification_footer.xml +index 72424a13d0f1..c1bac3151049 100644 +--- a/packages/SystemUI/res/layout/status_bar_notification_footer.xml ++++ b/packages/SystemUI/res/layout/status_bar_notification_footer.xml +@@ -41,7 +41,7 @@ + android:layout_height="wrap_content" + > + + +diff --git a/packages/SystemUI/res/layout/status_bar_notification_section_header.xml b/packages/SystemUI/res/layout/status_bar_notification_section_header.xml +index 53abe87e7c12..c4d8d55f74e2 100644 +--- a/packages/SystemUI/res/layout/status_bar_notification_section_header.xml ++++ b/packages/SystemUI/res/layout/status_bar_notification_section_header.xml +@@ -40,7 +40,7 @@ + android:layout_weight="1"> + + + @*android:color/notification_primary_text_color_dark + +- @android:color/system_on_surface_dark ++ @color/material_dynamic_neutral95 + + @color/GM2_grey_500 + @color/GM2_grey_300 +diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml +index 34dcd655b8e7..91a72922fd0a 100644 +--- a/packages/SystemUI/res/values/colors.xml ++++ b/packages/SystemUI/res/values/colors.xml +@@ -116,7 +116,7 @@ + + #99000000 + +- @android:color/system_on_surface_light ++ @color/material_dynamic_neutral10 + + + #fff44336 +diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml +index e3d4419afceb..7852608df57d 100644 +--- a/packages/SystemUI/res/values/styles.xml ++++ b/packages/SystemUI/res/values/styles.xml +@@ -602,34 +602,34 @@ + + + + + + + + + + +@@ -640,28 +640,10 @@ + center + + +- +- + +- +- diff --git a/patches_platform/frameworks_base/0016-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch b/patches_platform/frameworks_base/0019-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch similarity index 91% rename from patches_platform/frameworks_base/0016-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch rename to patches_platform/frameworks_base/0019-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch index a55e69b..873dfac 100644 --- a/patches_platform/frameworks_base/0016-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch +++ b/patches_platform/frameworks_base/0019-Revert-Do-not-re-inflate-QS-and-SB-when-CONFIG_UI_MO.patch @@ -1,7 +1,7 @@ -From 7a570109ab3deea49d6c77e2fd731629e4edabb2 Mon Sep 17 00:00:00 2001 +From 2ae2df9278711f93390bede651b69a56099af35b Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Wed, 6 Oct 2021 18:41:11 -0700 -Subject: [PATCH 16/31] Revert "Do not re-inflate QS and SB when +Subject: [PATCH 19/34] Revert "Do not re-inflate QS and SB when CONFIG_UI_MODE" This reverts commit 8a40ff855b86bc86e23367017002289920855a4e. diff --git a/patches_platform/frameworks_base/0017-SystemUI-Follow-light-dark-theme-in-quick-settings.patch b/patches_platform/frameworks_base/0020-SystemUI-Follow-light-dark-theme-in-quick-settings.patch similarity index 96% rename from patches_platform/frameworks_base/0017-SystemUI-Follow-light-dark-theme-in-quick-settings.patch rename to patches_platform/frameworks_base/0020-SystemUI-Follow-light-dark-theme-in-quick-settings.patch index fd5d297..c959ab6 100644 --- a/patches_platform/frameworks_base/0017-SystemUI-Follow-light-dark-theme-in-quick-settings.patch +++ b/patches_platform/frameworks_base/0020-SystemUI-Follow-light-dark-theme-in-quick-settings.patch @@ -1,7 +1,7 @@ -From 48c44b93881a1d839f9906c666a8f40e110bab93 Mon Sep 17 00:00:00 2001 +From 5f65456d8135c74d48cd0528fdf7005e235ffd43 Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Mon, 11 Oct 2021 19:24:58 -0700 -Subject: [PATCH 17/31] SystemUI: Follow light/dark theme in quick settings +Subject: [PATCH 20/34] SystemUI: Follow light/dark theme in quick settings Android 12's dual-tone style where the quick settings panel is always dark makes the light theme look like a second-class citizen. Pure black @@ -86,10 +86,10 @@ index b6971d3c1fa4..8972df2b7490 100644 -@@ -634,7 +634,7 @@ +@@ -663,7 +663,7 @@ diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java -index b54a500c5..fb1b30aa7 100644 +index 709835ebc..621b39132 100644 --- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java +++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java @@ -223,7 +223,7 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -540,7 +540,7 @@ index c3739bac8..5b931a46d 100644 return (String) DateFormat.format(pattern, time); } diff --git a/src/com/android/deskclock/ClockFragment.java b/src/com/android/deskclock/ClockFragment.java -index bf53584e4..7a0e3ae0b 100644 +index 2a1f2770f..eaf796659 100644 --- a/src/com/android/deskclock/ClockFragment.java +++ b/src/com/android/deskclock/ClockFragment.java @@ -123,7 +123,6 @@ public final class ClockFragment extends DeskClockFragment { diff --git a/patches_platform_personal/packages_apps_DeskClock/0004-DeskClock-Wallpaper-based-text-coloring-for-digital-.patch b/patches_platform_personal/packages_apps_DeskClock/0004-DeskClock-Wallpaper-based-text-coloring-for-digital-.patch index 1b116ae..958f663 100644 --- a/patches_platform_personal/packages_apps_DeskClock/0004-DeskClock-Wallpaper-based-text-coloring-for-digital-.patch +++ b/patches_platform_personal/packages_apps_DeskClock/0004-DeskClock-Wallpaper-based-text-coloring-for-digital-.patch @@ -1,4 +1,4 @@ -From 13cd5543d2d0a253c86fa84030bb3dfb636ceea1 Mon Sep 17 00:00:00 2001 +From 8183a51d8cac2772c1e8d17a264218a4fa0a0287 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Thu, 20 Jan 2022 04:42:03 +0000 Subject: [PATCH 4/4] DeskClock: Wallpaper-based text coloring for digital @@ -12,7 +12,7 @@ Change-Id: Ie22c4980526575f73ebb4e56780d4c2193cc45d3 1 file changed, 57 insertions(+) diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java -index fb1b30aa7..c04528240 100644 +index 621b39132..1031a65b2 100644 --- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java +++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java @@ -38,6 +38,8 @@ import static java.lang.Math.round; diff --git a/patches_platform_personal/packages_apps_Nfc/0001-NfcService-Disable-NFC-by-default.patch b/patches_platform_personal/packages_apps_Nfc/0001-NfcService-Disable-NFC-by-default.patch index 307e8b2..7c0a649 100644 --- a/patches_platform_personal/packages_apps_Nfc/0001-NfcService-Disable-NFC-by-default.patch +++ b/patches_platform_personal/packages_apps_Nfc/0001-NfcService-Disable-NFC-by-default.patch @@ -1,4 +1,4 @@ -From 61630e83287a097f512b03203722f7385100bd5f Mon Sep 17 00:00:00 2001 +From ed635e14cc220e49b736c8071f368201931dd4b0 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sat, 6 Jun 2015 10:40:51 -0400 Subject: [PATCH] NfcService: Disable NFC by default @@ -9,18 +9,18 @@ Change-Id: Ibe6abec7fa84c6fde476b8a083f57a3f61b50909 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java -index f22dc9da..28aedc59 100644 +index f74e78ab..a4654977 100644 --- a/src/com/android/nfc/NfcService.java +++ b/src/com/android/nfc/NfcService.java -@@ -141,7 +141,7 @@ public class NfcService implements DeviceHostListener, ForegroundUtils.Callback +@@ -144,7 +144,7 @@ public class NfcService implements DeviceHostListener, ForegroundUtils.Callback public static final String PREF_TAG_APP_LIST = "TagIntentAppPreferenceListPrefs"; static final String PREF_NFC_ON = "nfc_on"; - static final boolean NFC_ON_DEFAULT = true; + static final boolean NFC_ON_DEFAULT = false; - static final String PREF_SECURE_NFC_ON = "secure_nfc_on"; - static final boolean SECURE_NFC_ON_DEFAULT = false; - static final String PREF_FIRST_BOOT = "first_boot"; + + static final String PREF_NFC_READER_OPTION_ON = "nfc_reader_on"; + static final boolean NFC_READER_OPTION_DEFAULT = true; -- 2.34.1 diff --git a/patches_platform_personal/packages_apps_Settings/0001-Keyguard-Default-to-small-clock-2-3.patch b/patches_platform_personal/packages_apps_Settings/0001-Keyguard-Default-to-small-clock-2-3.patch deleted file mode 100644 index f281001..0000000 --- a/patches_platform_personal/packages_apps_Settings/0001-Keyguard-Default-to-small-clock-2-3.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4dad46e31da483f2b0818e81791cac4a4a674385 Mon Sep 17 00:00:00 2001 -From: Andy CrossGate Yan -Date: Mon, 20 Nov 2023 10:42:58 +0800 -Subject: [PATCH] Keyguard: Default to small clock (2/3) - -Change-Id: Ieb39c323e99fd2795f683a8a2930bb3a27212a6d ---- - .../settings/display/LockscreenClockPreferenceController.java | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/com/android/settings/display/LockscreenClockPreferenceController.java b/src/com/android/settings/display/LockscreenClockPreferenceController.java -index 70ae55eaf9..fd6e0fe248 100644 ---- a/src/com/android/settings/display/LockscreenClockPreferenceController.java -+++ b/src/com/android/settings/display/LockscreenClockPreferenceController.java -@@ -37,7 +37,7 @@ public class LockscreenClockPreferenceController extends TogglePreferenceControl - - @Override - public boolean isChecked() { -- return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0; -+ return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 0) != 0; - } - - @Override --- -2.34.1 - diff --git a/patches_platform_personal/packages_apps_SetupWizard/0001-SetupWizard-Least-Action-s-Principle.patch b/patches_platform_personal/packages_apps_SetupWizard/0001-SetupWizard-Least-Action-s-Principle.patch index a10d283..eb28053 100644 --- a/patches_platform_personal/packages_apps_SetupWizard/0001-SetupWizard-Least-Action-s-Principle.patch +++ b/patches_platform_personal/packages_apps_SetupWizard/0001-SetupWizard-Least-Action-s-Principle.patch @@ -1,163 +1,189 @@ -From 7f78c8c7ea3b7aad4c234338263ed88eef8485e7 Mon Sep 17 00:00:00 2001 +From 132abfada735742924b1d02a044fb56072d43f0d Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Thu, 23 Nov 2023 23:21:58 +0800 Subject: [PATCH] SetupWizard: Least Action(s) Principle Change-Id: I892634b8ffc7beafa5a223de0afdc64276efd2f5 --- - res/raw/lineage_wizard_script.xml | 43 +------------------ - .../lineage_wizard_script_managed_profile.xml | 15 +------ - res/raw/lineage_wizard_script_user.xml | 27 +----------- - 3 files changed, 5 insertions(+), 80 deletions(-) + res/raw/lineage_wizard_script.xml | 62 +------------------ + .../lineage_wizard_script_managed_profile.xml | 22 +------ + res/raw/lineage_wizard_script_user.xml | 39 +----------- + 3 files changed, 3 insertions(+), 120 deletions(-) diff --git a/res/raw/lineage_wizard_script.xml b/res/raw/lineage_wizard_script.xml -index 616f6ed..e7c9b7f 100644 +index 511ac7b..21cd2ef 100644 --- a/res/raw/lineage_wizard_script.xml +++ b/res/raw/lineage_wizard_script.xml -@@ -18,21 +18,13 @@ +@@ -5,13 +5,7 @@ + SPDX-License-Identifier: Apache-2.0 --> - - -- +- - - + wizard:firstAction="welcome"> - - - - - + - - - -- +- -@@ -41,44 +33,13 @@ - - - +@@ -41,54 +29,6 @@ + +- +- +- +- - - - -- +- - - - -- +- - - - -- +- - - - -- +- - - - -- +- - - - -- -- -- -- -- +- - - - -- +- - - - -+ - - - diff --git a/res/raw/lineage_wizard_script_managed_profile.xml b/res/raw/lineage_wizard_script_managed_profile.xml -index 00a66e3..4f8b867 100644 +index 36f80c6..47e99c5 100644 --- a/res/raw/lineage_wizard_script_managed_profile.xml +++ b/res/raw/lineage_wizard_script_managed_profile.xml -@@ -2,7 +2,6 @@ - +@@ -1,31 +1,11 @@ + - +- wizard:firstAction="welcome"> - -- -- -- -- -- +- +- - - - -- -- -- -+ wizard:firstAction="finish"> - - - -diff --git a/res/raw/lineage_wizard_script_user.xml b/res/raw/lineage_wizard_script_user.xml -index d480901..4f8b867 100644 ---- a/res/raw/lineage_wizard_script_user.xml -+++ b/res/raw/lineage_wizard_script_user.xml -@@ -17,35 +17,12 @@ - --> - - -- -- +- - - - -- +- +- +- ++ wizard:firstAction="finish"> + + + +- +- +- +- +- +- +- +- +- +- +- - - - -- +- - - - -- -- -- -- -- +- - - - -- +- - - -+ wizard:firstAction="finish"> ++ wizard:firstAction="finish"> - - - -+ - - - + Date: Thu, 28 Oct 2021 02:30:59 +0000 Subject: [PATCH 1/3] Trebuchet: Make overview scrim transparent again @@ -23,7 +23,7 @@ Change-Id: I78c84865eb06b8e59c9c271cd2e267ae4cd7cc08 delete mode 100644 res/color-v33/overview_scrim_dark.xml diff --git a/quickstep/res/values/styles.xml b/quickstep/res/values/styles.xml -index fc0370421d..61ca1e05d6 100644 +index bdc86b217d..7c47d126a8 100644 --- a/quickstep/res/values/styles.xml +++ b/quickstep/res/values/styles.xml @@ -227,7 +227,7 @@ @@ -36,10 +36,10 @@ index fc0370421d..61ca1e05d6 100644 false diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java -index 23fcbea42f..9b151394fa 100644 +index 08ec0398a7..e1ab7311dd 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java -@@ -793,7 +793,7 @@ public abstract class RecentsView Date: Fri, 18 Mar 2022 08:42:18 +0000 Subject: [PATCH 2/3] Trebuchet: Kill haptics in recents @@ -13,10 +13,10 @@ Change-Id: Ie3b0eabe8cc0421e696720740edc492cae2f5153 3 files changed, 1 insertion(+), 32 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java -index 6f421eb14a..655797da62 100644 +index 968faf07c7..bb93664b46 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java -@@ -438,14 +438,7 @@ public class NoButtonQuickSwitchTouchController implements TouchController, +@@ -437,14 +437,7 @@ public class NoButtonQuickSwitchTouchController implements TouchController, nonOverviewAnim.setFloatValues(startProgress, endProgress); mNonOverviewAnim.dispatchOnStart(); } @@ -33,10 +33,10 @@ index 6f421eb14a..655797da62 100644 } diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java -index 3d94857848..849b9fd2d1 100644 +index 19bfe069c8..f6cb2c7024 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java -@@ -369,11 +369,6 @@ public abstract class TaskViewTouchController +@@ -370,11 +370,6 @@ public abstract class TaskViewTouchController mCurrentAnimation.startWithVelocity(mActivity, goingToEnd, velocity * orientationHandler.getSecondaryTranslationDirectionFactor(), mEndDisplacement, animationDuration); @@ -49,10 +49,10 @@ index 3d94857848..849b9fd2d1 100644 private void clearState() { diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java -index 9b151394fa..0ce5537d2e 100644 +index e1ab7311dd..c2f848c71a 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java -@@ -1558,25 +1558,6 @@ public abstract class RecentsView Date: Mon, 20 Nov 2023 14:09:32 +0800 Subject: [PATCH 3/3] Trebuchet: Kill inverted rounded corners above the @@ -12,23 +12,23 @@ Change-Id: Ibf03a84cb8f3866b5151b02fe8a0e74167cf90ce 1 file changed, 7 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt -index d237c1f997..d7142eef59 100644 +index d6016f1304..c77fadb9aa 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt -@@ -131,13 +131,6 @@ class TaskbarBackgroundRenderer(context: TaskbarActivityContext) { - canvas.translate(0f, canvas.height - backgroundHeight - bottomMargin) +@@ -159,13 +159,6 @@ class TaskbarBackgroundRenderer(private val context: TaskbarActivityContext) { // Draw the background behind taskbar content. - canvas.drawRect(0f, 0f, canvas.width.toFloat(), backgroundHeight, paint) + canvas.drawRect(0f, 0f, canvas.width.toFloat(), persistentTaskbarHeight, paint) + } - -- // Draw the inverted rounded corners above the taskbar. -- canvas.translate(0f, -leftCornerRadius) -- canvas.drawPath(invertedLeftCornerPath, paint) -- canvas.translate(0f, leftCornerRadius) -- canvas.translate(canvas.width - rightCornerRadius, -rightCornerRadius) -- canvas.drawPath(invertedRightCornerPath, paint) - } else if (!isInSetup) { - // backgroundHeight is a value from [0...maxBackgroundHeight], so we can use it as a - // proxy to figure out the animation progress of the stash/unstash animation. +- // Draw the inverted rounded corners above the taskbar. +- canvas.translate(0f, -leftCornerRadius) +- canvas.drawPath(invertedLeftCornerPath, paint) +- canvas.translate(0f, leftCornerRadius) +- canvas.translate(canvas.width - rightCornerRadius, -rightCornerRadius) +- canvas.drawPath(invertedRightCornerPath, paint) + } + + private fun drawTransientBackground(canvas: Canvas) { -- 2.34.1 diff --git a/patches_platform_personal/vendor_lineage/0001-Add-MotoHelloUINavbarOverlay-2-2.patch b/patches_platform_personal/vendor_lineage/0001-Add-MotoHelloUINavbarOverlay-2-2.patch new file mode 100644 index 0000000..7e215c4 --- /dev/null +++ b/patches_platform_personal/vendor_lineage/0001-Add-MotoHelloUINavbarOverlay-2-2.patch @@ -0,0 +1,80 @@ +From 240e06c899c59d96de4764219c7f0e23b0d077c3 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Fri, 10 May 2024 01:25:37 +0800 +Subject: [PATCH 1/5] Add MotoHelloUINavbarOverlay (2/2) + +Redrawn after extracted SVGs, resized and adjusted stroke width + +Change-Id: Ifba5adfd10b3eee31e97baa52ce897db31f019d9 +--- + .../res/drawable/ic_sysbar_back.xml | 12 ++++++++++++ + .../res/drawable/ic_sysbar_home.xml | 11 +++++++++++ + .../res/drawable/ic_sysbar_recent.xml | 19 +++++++++++++++++++ + 3 files changed, 42 insertions(+) + create mode 100644 overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_back.xml + create mode 100644 overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_home.xml + create mode 100644 overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_recent.xml + +diff --git a/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_back.xml b/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_back.xml +new file mode 100644 +index 00000000..2fe4ba43 +--- /dev/null ++++ b/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_back.xml +@@ -0,0 +1,12 @@ ++ ++ ++ ++ +diff --git a/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_home.xml b/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_home.xml +new file mode 100644 +index 00000000..14110ab5 +--- /dev/null ++++ b/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_home.xml +@@ -0,0 +1,11 @@ ++ ++ ++ ++ +diff --git a/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_recent.xml b/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_recent.xml +new file mode 100644 +index 00000000..7436752d +--- /dev/null ++++ b/overlay/rro_packages/TrebuchetOverlay/res/drawable/ic_sysbar_recent.xml +@@ -0,0 +1,19 @@ ++ ++ ++ ++ ++ ++ +-- +2.34.1 + diff --git a/patches_platform_personal/vendor_lineage/0001-build-Integrate-prop-modifications-2-2.patch b/patches_platform_personal/vendor_lineage/0002-build-Integrate-prop-modifications-2-2.patch similarity index 90% rename from patches_platform_personal/vendor_lineage/0001-build-Integrate-prop-modifications-2-2.patch rename to patches_platform_personal/vendor_lineage/0002-build-Integrate-prop-modifications-2-2.patch index daf0271..9527dfd 100644 --- a/patches_platform_personal/vendor_lineage/0001-build-Integrate-prop-modifications-2-2.patch +++ b/patches_platform_personal/vendor_lineage/0002-build-Integrate-prop-modifications-2-2.patch @@ -1,7 +1,7 @@ -From 863e8f70e3a4f987938ff4ad01c22822bc38e409 Mon Sep 17 00:00:00 2001 +From 9bde413afbac1f96c43c4b4ed0e3846937a93f4f Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 20 Jun 2021 09:09:15 +0000 -Subject: [PATCH 1/4] build: Integrate prop modifications (2/2) +Subject: [PATCH 2/5] build: Integrate prop modifications (2/2) Change-Id: I076973f902ab20011964e50955e4326c18d5b34e --- diff --git a/patches_platform_personal/vendor_lineage/0002-build-Remove-Stk-2-2.patch b/patches_platform_personal/vendor_lineage/0003-build-Remove-Stk-2-2.patch similarity index 81% rename from patches_platform_personal/vendor_lineage/0002-build-Remove-Stk-2-2.patch rename to patches_platform_personal/vendor_lineage/0003-build-Remove-Stk-2-2.patch index 17e272f..9a88ff5 100644 --- a/patches_platform_personal/vendor_lineage/0002-build-Remove-Stk-2-2.patch +++ b/patches_platform_personal/vendor_lineage/0003-build-Remove-Stk-2-2.patch @@ -1,7 +1,7 @@ -From 34f8aa093286970f82014f1dae0e86e4cbeba896 Mon Sep 17 00:00:00 2001 +From e244927e57dc90182935201595635e0649d9101c Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 16 Oct 2021 00:41:07 +0000 -Subject: [PATCH 2/4] build: Remove Stk (2/2) +Subject: [PATCH 3/5] build: Remove Stk (2/2) Change-Id: I4e1cfacd296e47ef1731f3c32555089a5fca6f0c --- @@ -22,10 +22,10 @@ index 5ff877c9..ab70301b 100644 -PRODUCT_PACKAGES += \ - Stk diff --git a/config/telephony.mk b/config/telephony.mk -index 6adf48d9..e63b320d 100644 +index 0c6ebba8..47437035 100644 --- a/config/telephony.mk +++ b/config/telephony.mk -@@ -8,8 +8,7 @@ PRODUCT_PACKAGES += \ +@@ -13,8 +13,7 @@ PRODUCT_PACKAGES += \ # Telephony packages PRODUCT_PACKAGES += \ diff --git a/patches_platform_personal/vendor_lineage/0003-vendor_lineage-Ignore-neverallows.-again.patch b/patches_platform_personal/vendor_lineage/0004-vendor_lineage-Ignore-neverallows.-again.patch similarity index 88% rename from patches_platform_personal/vendor_lineage/0003-vendor_lineage-Ignore-neverallows.-again.patch rename to patches_platform_personal/vendor_lineage/0004-vendor_lineage-Ignore-neverallows.-again.patch index 1ca2a1e..3ca2df8 100644 --- a/patches_platform_personal/vendor_lineage/0003-vendor_lineage-Ignore-neverallows.-again.patch +++ b/patches_platform_personal/vendor_lineage/0004-vendor_lineage-Ignore-neverallows.-again.patch @@ -1,7 +1,7 @@ -From 84b5b23519166701423a324cac955e9110e36eae Mon Sep 17 00:00:00 2001 +From 9f3c9c81bcfa84269f99ae4e2577ab937ac9c32a Mon Sep 17 00:00:00 2001 From: AndyCGYan Date: Mon, 1 Jul 2019 07:03:04 +0000 -Subject: [PATCH 3/4] vendor_lineage: Ignore neverallows... again +Subject: [PATCH 4/5] vendor_lineage: Ignore neverallows... again Because unofficial builds are better than no builds! diff --git a/patches_platform_personal/vendor_lineage/0004-vendor_lineage-Personal-theme-as-SRO.patch b/patches_platform_personal/vendor_lineage/0005-vendor_lineage-Personal-theme-as-SRO.patch similarity index 97% rename from patches_platform_personal/vendor_lineage/0004-vendor_lineage-Personal-theme-as-SRO.patch rename to patches_platform_personal/vendor_lineage/0005-vendor_lineage-Personal-theme-as-SRO.patch index 890250b..90f2167 100644 --- a/patches_platform_personal/vendor_lineage/0004-vendor_lineage-Personal-theme-as-SRO.patch +++ b/patches_platform_personal/vendor_lineage/0005-vendor_lineage-Personal-theme-as-SRO.patch @@ -1,9 +1,9 @@ -From 05700475543c1dece33a8f49bcb84d5b709a3164 Mon Sep 17 00:00:00 2001 +From 0986eff9b1f734268f330f13389cb9e7ee8798f9 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 9 Apr 2022 02:48:55 +0000 -Subject: [PATCH 4/4] vendor_lineage: Personal theme as SRO +Subject: [PATCH 5/5] vendor_lineage: Personal theme as SRO -Last revised on 2023/02/11 +Last revised on 2024/02/26 ... @@ -70,12 +70,12 @@ Change-Id: I43164b7a4145616d162c6b4b4b84d1953cb483cc .../res/drawable/ic_launcher_foreground.xml | 60 +++++++++ .../res/drawable/ic_launcher_background.xml | 24 ++++ .../res/drawable/ic_launcher_foreground.xml | 34 +++++ + .../res/drawable/ic_launcher_background.xml | 24 ++++ + .../res/drawable/ic_launcher_foreground.xml | 34 +++++ .../res/drawable/ic_launcher_background.xml | 17 +++ .../res/drawable/ic_launcher_foreground.xml | 33 +++++ .../res/drawable/ic_launcher_background.xml | 18 +++ .../res/drawable/ic_launcher_foreground.xml | 34 +++++ - .../apps/Messaging/res/values/colors.xml | 7 ++ - .../Messaging/res/values/lineage_colors.xml | 4 + .../res/drawable/ic_launcher_background.xml | 23 ++++ .../res/drawable/ic_launcher_foreground.xml | 33 +++++ .../res/drawable/ic_launcher_background.xml | 18 +++ @@ -84,7 +84,7 @@ Change-Id: I43164b7a4145616d162c6b4b4b84d1953cb483cc .../res/drawable/ic_launcher_foreground.xml | 34 +++++ .../res/drawable/ic_launcher_background.xml | 20 +++ .../res/drawable/ic_launcher_foreground.xml | 34 +++++ - 73 files changed, 1632 insertions(+), 2 deletions(-) + 73 files changed, 1679 insertions(+), 2 deletions(-) create mode 100644 overlay/personal/packages/apps/Aperture/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 overlay/personal/packages/apps/Aperture/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 overlay/personal/packages/apps/AudioFX/res/drawable/ic_launcher_background.xml @@ -143,12 +143,12 @@ Change-Id: I43164b7a4145616d162c6b4b4b84d1953cb483cc create mode 100644 overlay/personal/packages/apps/ExactCalculator/res/drawable/ic_launcher_foreground.xml create mode 100644 overlay/personal/packages/apps/Gallery2/res/drawable/ic_launcher_background.xml create mode 100644 overlay/personal/packages/apps/Gallery2/res/drawable/ic_launcher_foreground.xml + create mode 100644 overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_background.xml + create mode 100644 overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 overlay/personal/packages/apps/Jelly/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 overlay/personal/packages/apps/Jelly/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 overlay/personal/packages/apps/Messaging/res/drawable/ic_launcher_background.xml create mode 100644 overlay/personal/packages/apps/Messaging/res/drawable/ic_launcher_foreground.xml - create mode 100644 overlay/personal/packages/apps/Messaging/res/values/colors.xml - create mode 100644 overlay/personal/packages/apps/Messaging/res/values/lineage_colors.xml create mode 100644 overlay/personal/packages/apps/Recorder/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 overlay/personal/packages/apps/Recorder/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 overlay/personal/packages/apps/Settings/res/drawable/ic_launcher_background.xml @@ -159,12 +159,12 @@ Change-Id: I43164b7a4145616d162c6b4b4b84d1953cb483cc create mode 100644 overlay/personal/packages/inputmethods/LatinIME/java/res/drawable/ic_launcher_foreground.xml diff --git a/config/common.mk b/config/common.mk -index 70e0cbaf..4da11943 100644 +index 460a0085..f37187ad 100644 --- a/config/common.mk +++ b/config/common.mk -@@ -189,10 +189,13 @@ PRODUCT_DEXPREOPT_SPEED_APPS += \ - PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ - dalvik.vm.systemuicompilerfilter=speed +@@ -219,10 +219,13 @@ PRODUCT_PRODUCT_PROPERTIES += \ + setupwizard.theme=glif_v4 \ + setupwizard.feature.day_night_mode_enabled=true -PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/no-rro +PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += \ @@ -1822,6 +1822,76 @@ index 00000000..03b51d0c + + + +diff --git a/overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_background.xml b/overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_background.xml +new file mode 100644 +index 00000000..32abe0b8 +--- /dev/null ++++ b/overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_background.xml +@@ -0,0 +1,24 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_foreground.xml b/overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_foreground.xml +new file mode 100644 +index 00000000..03b51d0c +--- /dev/null ++++ b/overlay/personal/packages/apps/Glimpse/app/src/main/res/drawable/ic_launcher_foreground.xml +@@ -0,0 +1,34 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/overlay/personal/packages/apps/Jelly/app/src/main/res/drawable/ic_launcher_background.xml b/overlay/personal/packages/apps/Jelly/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..bf75b615 @@ -1948,29 +2018,6 @@ index 00000000..ab598892 + + + -diff --git a/overlay/personal/packages/apps/Messaging/res/values/colors.xml b/overlay/personal/packages/apps/Messaging/res/values/colors.xml -new file mode 100644 -index 00000000..6e1ef338 ---- /dev/null -+++ b/overlay/personal/packages/apps/Messaging/res/values/colors.xml -@@ -0,0 +1,7 @@ -+ -+ -+ #2A56C6 -+ #1C3AA9 -+ #802A56C6 -+ #802A56C6 -+ -diff --git a/overlay/personal/packages/apps/Messaging/res/values/lineage_colors.xml b/overlay/personal/packages/apps/Messaging/res/values/lineage_colors.xml -new file mode 100644 -index 00000000..7b407a1c ---- /dev/null -+++ b/overlay/personal/packages/apps/Messaging/res/values/lineage_colors.xml -@@ -0,0 +1,4 @@ -+ -+ -+ #F50057 -+ diff --git a/overlay/personal/packages/apps/Recorder/app/src/main/res/drawable/ic_launcher_background.xml b/overlay/personal/packages/apps/Recorder/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..afc988fc diff --git a/patches_treble/device_phh_treble/0001-treble-Lineage-ify.patch b/patches_treble/device_phh_treble/0001-treble-Lineage-ify.patch index b2f3531..f509b20 100644 --- a/patches_treble/device_phh_treble/0001-treble-Lineage-ify.patch +++ b/patches_treble/device_phh_treble/0001-treble-Lineage-ify.patch @@ -1,4 +1,4 @@ -From b444ea5ab4942f4877aee7227a8e4408dd12ba98 Mon Sep 17 00:00:00 2001 +From e50480813b4a96cb3f3105dc5b1ccb7e5928ac68 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 8 Aug 2021 01:43:40 +0000 Subject: [PATCH 1/9] treble: Lineage-ify @@ -31,7 +31,7 @@ Change-Id: I25eee7a3804f335430a447ae1424402d7e37851b create mode 100644 overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml diff --git a/base.mk b/base.mk -index 620fb96..d7b71b0 100644 +index 22525cd..e40af53 100644 --- a/base.mk +++ b/base.mk @@ -18,7 +18,13 @@ PRODUCT_COPY_FILES += \ @@ -57314,7 +57314,7 @@ index 0000000..8df673a + 127 + diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml -index 52f44a2..0561e2b 100644 +index b832a66..4e9b176 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -22,7 +22,6 @@ diff --git a/patches_treble/device_phh_treble/0002-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explicitly.patch b/patches_treble/device_phh_treble/0002-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explicitly.patch index 6e01161..45719af 100644 --- a/patches_treble/device_phh_treble/0002-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explicitly.patch +++ b/patches_treble/device_phh_treble/0002-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explicitly.patch @@ -1,4 +1,4 @@ -From ae62c13bca7549786b4705d4fb7913ccceb6917e Mon Sep 17 00:00:00 2001 +From 50987c84d728f49fc04c78e4a935231caaf6317f Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 8 Aug 2021 09:29:32 +0000 Subject: [PATCH 2/9] treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS explicitly diff --git a/patches_treble/device_phh_treble/0003-treble-Set-TARGET_NO_KERNEL_OVERRIDE.patch b/patches_treble/device_phh_treble/0003-treble-Set-TARGET_NO_KERNEL_OVERRIDE.patch index 3edc9f9..4c77694 100644 --- a/patches_treble/device_phh_treble/0003-treble-Set-TARGET_NO_KERNEL_OVERRIDE.patch +++ b/patches_treble/device_phh_treble/0003-treble-Set-TARGET_NO_KERNEL_OVERRIDE.patch @@ -1,4 +1,4 @@ -From bb54a87ee1d14bd80308129c1ab38ad042d807a2 Mon Sep 17 00:00:00 2001 +From aece8f5deb59a054729539eef6957bd5db325bb5 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Wed, 20 Oct 2021 11:30:25 +0000 Subject: [PATCH 3/9] treble: Set TARGET_NO_KERNEL_OVERRIDE diff --git a/patches_treble/device_phh_treble/0004-treble-Enable-call-recording.patch b/patches_treble/device_phh_treble/0004-treble-Enable-call-recording.patch index 014353c..db7f7dc 100644 --- a/patches_treble/device_phh_treble/0004-treble-Enable-call-recording.patch +++ b/patches_treble/device_phh_treble/0004-treble-Enable-call-recording.patch @@ -1,4 +1,4 @@ -From c4cf51f21f0b23e57fd4eb49cce0056f459ebc65 Mon Sep 17 00:00:00 2001 +From 29d58c7756130f41aaa10d457cef3806792b5d13 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Tue, 11 Oct 2022 11:29:02 +0000 Subject: [PATCH 4/9] treble: Enable call recording diff --git a/patches_treble/device_phh_treble/0005-treble-Switch-to-MindTheGapps.patch b/patches_treble/device_phh_treble/0005-treble-Switch-to-MindTheGapps.patch index 9ff2b79..ee44f3c 100644 --- a/patches_treble/device_phh_treble/0005-treble-Switch-to-MindTheGapps.patch +++ b/patches_treble/device_phh_treble/0005-treble-Switch-to-MindTheGapps.patch @@ -1,4 +1,4 @@ -From 7295a2f4cd712111205bcbc356e468f2a8ad01fd Mon Sep 17 00:00:00 2001 +From 1a5f992428f38427b3d3e25984bc0b425ff6d4f1 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 5 Nov 2022 23:49:11 +0000 Subject: [PATCH 5/9] treble: Switch to MindTheGapps diff --git a/patches_treble/device_phh_treble/0006-treble-Stop-securing-ADB.patch b/patches_treble/device_phh_treble/0006-treble-Stop-securing-ADB.patch index 0fcc150..6cc6b2b 100644 --- a/patches_treble/device_phh_treble/0006-treble-Stop-securing-ADB.patch +++ b/patches_treble/device_phh_treble/0006-treble-Stop-securing-ADB.patch @@ -1,4 +1,4 @@ -From 86cd9fa8131d6a7534b7ee7944e7ac177d032442 Mon Sep 17 00:00:00 2001 +From d0c31b8531c239d6c550ed14690496fa9d6b13d2 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Tue, 22 Nov 2022 00:36:15 +0000 Subject: [PATCH 6/9] treble: Stop securing ADB @@ -13,17 +13,17 @@ Change-Id: I0215b3ed970dd53a124f48e30ca2cf4b0c6d2899 1 file changed, 3 deletions(-) diff --git a/rw-system.sh b/rw-system.sh -index 358f232..e631b64 100644 +index 968b903..4dd61f3 100644 --- a/rw-system.sh +++ b/rw-system.sh -@@ -793,13 +793,10 @@ if [ -f /system/phh/secure ] || [ -f /metadata/phh/secure ];then +@@ -804,13 +804,10 @@ if [ -f /system/phh/secure ] || [ -f /metadata/phh/secure ];then resetprop_phh ro.boot.veritymode enforcing resetprop_phh ro.boot.warranty_bit 0 resetprop_phh ro.warranty_bit 0 - resetprop_phh ro.debuggable 0 resetprop_phh ro.secure 1 resetprop_phh ro.build.type user - resetprop_phh ro.build.selinux 0 + resetprop_phh --delete ro.build.selinux - resetprop_phh ro.adb.secure 1 - diff --git a/patches_treble/device_phh_treble/0007-treble-Securize-on-demand.patch b/patches_treble/device_phh_treble/0007-treble-Securize-on-demand.patch index 2056cb6..09354ad 100644 --- a/patches_treble/device_phh_treble/0007-treble-Securize-on-demand.patch +++ b/patches_treble/device_phh_treble/0007-treble-Securize-on-demand.patch @@ -1,4 +1,4 @@ -From 211c16eca1949b5813b7e4d65eaa0fa8cdeb2b01 Mon Sep 17 00:00:00 2001 +From 77488a9ec7f97c5b658cd6224b0ef147ef9752cd Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Thu, 29 Dec 2022 15:12:03 +0000 Subject: [PATCH 7/9] treble: Securize on-demand @@ -12,10 +12,10 @@ Change-Id: I8069b6f471ad87ab34c18b743689ab3584cee35b 2 files changed, 17 insertions(+) diff --git a/phh-prop-handler.sh b/phh-prop-handler.sh -index aea5bb0..0020d21 100644 +index e187466..fe857b7 100644 --- a/phh-prop-handler.sh +++ b/phh-prop-handler.sh -@@ -279,3 +279,17 @@ if [ "$1" == "persist.bluetooth.system_audio_hal.enabled" ]; then +@@ -281,3 +281,17 @@ if [ "$1" == "persist.bluetooth.system_audio_hal.enabled" ]; then restartAudio exit fi @@ -34,13 +34,13 @@ index aea5bb0..0020d21 100644 + exit +fi diff --git a/vndk.rc b/vndk.rc -index 3029abf..d75bc9e 100644 +index 9f74ffd..dfcfcfe 100644 --- a/vndk.rc +++ b/vndk.rc -@@ -102,3 +102,6 @@ service watchdogd-gsi /system/bin/watchdogd 10 20 - class core - oneshot - seclabel u:r:watchdogd:s0 +@@ -112,3 +112,6 @@ service watchdogd-gsi /system/bin/watchdogd 10 20 + # Fix for non-AMOLED Transsion devices where brightness would be dimmer than usual + on property:ro.vendor.transsion.backlight_12bit=* + setprop ro.vendor.transsion.backlight_hal.optimization ${ro.vendor.transsion.backlight_12bit} + +on property:persist.sys.phh.securize=* + exec u:r:phhsu_daemon:s0 root -- /system/bin/phh-prop-handler.sh "persist.sys.phh.securize" diff --git a/patches_treble/device_phh_treble/0008-treble-Also-use-data-adb-for-securize-status.patch b/patches_treble/device_phh_treble/0008-treble-Also-use-data-adb-for-securize-status.patch index a574f65..b23a649 100644 --- a/patches_treble/device_phh_treble/0008-treble-Also-use-data-adb-for-securize-status.patch +++ b/patches_treble/device_phh_treble/0008-treble-Also-use-data-adb-for-securize-status.patch @@ -1,4 +1,4 @@ -From 985159eedef9f48dececcef108b9bee809adef3b Mon Sep 17 00:00:00 2001 +From 74ec0afa2767a82f22e16d8499ef1a48ffa34f1c Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Wed, 22 Mar 2023 23:37:05 +0000 Subject: [PATCH 8/9] treble: Also use /data/adb for securize status @@ -10,10 +10,10 @@ Change-Id: I778f2be5407ae0a548a098c72031cce9be83cf96 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/phh-prop-handler.sh b/phh-prop-handler.sh -index 0020d21..750f1eb 100644 +index fe857b7..c21438c 100644 --- a/phh-prop-handler.sh +++ b/phh-prop-handler.sh -@@ -286,10 +286,13 @@ if [ "$1" == "persist.sys.phh.securize" ];then +@@ -288,10 +288,13 @@ if [ "$1" == "persist.sys.phh.securize" ];then fi if [[ "$prop_value" == "true" ]]; then @@ -29,10 +29,10 @@ index 0020d21..750f1eb 100644 exit fi diff --git a/rw-system.sh b/rw-system.sh -index e631b64..c5df982 100644 +index 4dd61f3..2817795 100644 --- a/rw-system.sh +++ b/rw-system.sh -@@ -756,7 +756,7 @@ copyprop() { +@@ -767,7 +767,7 @@ copyprop() { resetprop_phh "$1" "$(getprop "$2")" fi } diff --git a/patches_treble/device_phh_treble/0009-treble-Import-prebuilt-PHH-Superuser.patch b/patches_treble/device_phh_treble/0009-treble-Import-prebuilt-PHH-Superuser.patch index 8b47600..6a38e4a 100644 --- a/patches_treble/device_phh_treble/0009-treble-Import-prebuilt-PHH-Superuser.patch +++ b/patches_treble/device_phh_treble/0009-treble-Import-prebuilt-PHH-Superuser.patch @@ -1,4 +1,4 @@ -From b931a3f8b6b6c9744881b7d88b730b1a6e7fa02c Mon Sep 17 00:00:00 2001 +From 4f32c09f61ab0c69b3768257764d1257e812839e Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 15 Jul 2023 17:01:27 +0800 Subject: [PATCH 9/9] treble: Import prebuilt PHH Superuser diff --git a/patches_treble/system_core/0001-Restore-sbin-for-Magisk-compatibility.patch b/patches_treble/system_core/0001-Restore-sbin-for-Magisk-compatibility.patch index e27f346..d72d7bb 100644 --- a/patches_treble/system_core/0001-Restore-sbin-for-Magisk-compatibility.patch +++ b/patches_treble/system_core/0001-Restore-sbin-for-Magisk-compatibility.patch @@ -1,4 +1,4 @@ -From 10c70671dc889ac496c433ee312a5b7259bed22e Mon Sep 17 00:00:00 2001 +From 7b5af6750bdcfd107e607906b886a3034d52cb53 Mon Sep 17 00:00:00 2001 From: Victor Bo Date: Wed, 3 Mar 2021 06:31:17 -0500 Subject: [PATCH] Restore /sbin for Magisk compatibility @@ -30,10 +30,10 @@ index 0a534a2bd..81150a0fa 100644 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/product_services.img) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/product_services) diff --git a/libcutils/fs_config.cpp b/libcutils/fs_config.cpp -index 8aadc3bb7..5535425e2 100644 +index 9ab7f4305..c45317d0f 100644 --- a/libcutils/fs_config.cpp +++ b/libcutils/fs_config.cpp -@@ -80,6 +80,7 @@ static const struct fs_path_config android_dirs[] = { +@@ -76,6 +76,7 @@ static const struct fs_path_config android_dirs[] = { { 00771, AID_SYSTEM, AID_SYSTEM, 0, "data" }, { 00755, AID_ROOT, AID_SYSTEM, 0, "mnt" }, { 00751, AID_ROOT, AID_SHELL, 0, "product/bin" }, @@ -41,7 +41,7 @@ index 8aadc3bb7..5535425e2 100644 { 00751, AID_ROOT, AID_SHELL, 0, "product/apex/*/bin" }, { 00777, AID_ROOT, AID_ROOT, 0, "sdcard" }, { 00751, AID_ROOT, AID_SDCARD_R, 0, "storage" }, -@@ -168,6 +169,7 @@ static const struct fs_path_config android_files[] = { +@@ -164,6 +165,7 @@ static const struct fs_path_config android_files[] = { { 00600, AID_ROOT, AID_ROOT, 0, "system_ext/build.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, system_ext_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, system_ext_conf_file + 1 }, @@ -49,7 +49,7 @@ index 8aadc3bb7..5535425e2 100644 { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump32" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump64" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/debuggerd" }, -@@ -222,6 +224,7 @@ static const struct fs_path_config android_files[] = { +@@ -219,6 +221,7 @@ static const struct fs_path_config android_files[] = { { 00750, AID_ROOT, AID_SHELL, 0, "init*" }, { 00755, AID_ROOT, AID_SHELL, 0, "odm/bin/*" }, { 00755, AID_ROOT, AID_SHELL, 0, "product/bin/*" }, @@ -58,20 +58,20 @@ index 8aadc3bb7..5535425e2 100644 { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/*" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/xbin/*" }, diff --git a/rootdir/Android.mk b/rootdir/Android.mk -index 3362872c0..1b686c38f 100644 +index 7deb17324..aeeaad496 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk -@@ -91,7 +91,7 @@ endif +@@ -96,7 +96,7 @@ endif # # create some directories (some are mount points) and symlinks LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \ -- dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk \ -+ sbin dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk \ +- dev proc sys system data data_mirror odm oem acct config storage mnt apex bootstrap-apex debug_ramdisk \ ++ sbin dev proc sys system data data_mirror odm oem acct config storage mnt apex bootstrap-apex debug_ramdisk \ linkerconfig second_stage_resources postinstall $(BOARD_ROOT_EXTRA_FOLDERS)); \ ln -sf /system/bin $(TARGET_ROOT_OUT)/bin; \ ln -sf /system/etc $(TARGET_ROOT_OUT)/etc; \ diff --git a/rootdir/init.environ.rc.in b/rootdir/init.environ.rc.in -index bf6e986c4..090fa5a78 100644 +index 7ba1f46e7..f54aa60f7 100644 --- a/rootdir/init.environ.rc.in +++ b/rootdir/init.environ.rc.in @@ -10,6 +10,7 @@ on early-init diff --git a/patches_treble/treble_app/0001-Simplify-Securize-to-CheckBoxPreference-and-persist-.patch b/patches_treble/treble_app/0001-Simplify-Securize-to-CheckBoxPreference-and-persist-.patch new file mode 100644 index 0000000..1d33086 --- /dev/null +++ b/patches_treble/treble_app/0001-Simplify-Securize-to-CheckBoxPreference-and-persist-.patch @@ -0,0 +1,99 @@ +From 66534cd4c678494e0aa0e74197a39fcee57e313a Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Thu, 29 Dec 2022 15:08:49 +0000 +Subject: [PATCH] Simplify Securize to CheckBoxPreference and persist prop + +For "Securize on-demand" +--- + app/src/main/java/me/phh/treble/app/Misc.kt | 5 +++ + .../java/me/phh/treble/app/MiscSettings.kt | 33 ------------------- + app/src/main/res/xml/pref_misc.xml | 7 ++-- + 3 files changed, 10 insertions(+), 35 deletions(-) + +diff --git a/app/src/main/java/me/phh/treble/app/Misc.kt b/app/src/main/java/me/phh/treble/app/Misc.kt +index a56b460..8861d51 100644 +--- a/app/src/main/java/me/phh/treble/app/Misc.kt ++++ b/app/src/main/java/me/phh/treble/app/Misc.kt +@@ -302,6 +302,10 @@ object Misc: EntryStartup { + val value = sp.getString(key, "0") + SystemProperties.set("persist.sys.bt.esco_transport_unit_size", value) + } ++ MiscSettings.securize -> { ++ val value = sp.getBoolean(key, false) ++ SystemProperties.set("persist.sys.phh.securize", if (value) "true" else "false") ++ } + } + } + +@@ -328,5 +332,6 @@ object Misc: EntryStartup { + spListener.onSharedPreferenceChanged(sp, MiscSettings.noHwcomposer) + spListener.onSharedPreferenceChanged(sp, MiscSettings.storageFUSE) + spListener.onSharedPreferenceChanged(sp, MiscSettings.dt2w) ++ spListener.onSharedPreferenceChanged(sp, MiscSettings.securize) + } + } +diff --git a/app/src/main/java/me/phh/treble/app/MiscSettings.kt b/app/src/main/java/me/phh/treble/app/MiscSettings.kt +index e3b5312..5fe481f 100644 +--- a/app/src/main/java/me/phh/treble/app/MiscSettings.kt ++++ b/app/src/main/java/me/phh/treble/app/MiscSettings.kt +@@ -56,39 +56,6 @@ class MiscSettingsFragment : SettingsFragment() { + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { + super.onCreatePreferences(savedInstanceState, rootKey) + +- val securizePref = findPreference(MiscSettings.securize) +- securizePref!!.setOnPreferenceClickListener { +- val builder = AlertDialog.Builder( this.getActivity() ) +- builder.setTitle(getString(R.string.remove_root)) +- builder.setMessage(getString(R.string.continue_question)) +- +- builder.setPositiveButton(android.R.string.yes) { dialog, which -> +- +- var cmds = listOf( +- arrayOf("/sbin/su", "-c", "/system/bin/phh-securize.sh"), +- arrayOf("/system/xbin/su", "-c", "/system/bin/phh-securize.sh"), +- arrayOf("/system/xbin/phh-su", "-c", "/system/bin/phh-securize.sh"), +- arrayOf("/sbin/su", "0", "/system/bin/phh-securize.sh"), +- arrayOf("/system/xbin/su", "0", "/system/bin/phh-securize.sh"), +- arrayOf("/system/xbin/phh-su", "0", "/system/bin/phh-securize.sh") +- ) +- for (cmd in cmds) { +- try { +- Runtime.getRuntime().exec(cmd).waitFor() +- break +- } catch (t: Throwable) { +- Log.d("PHH", "Failed to exec \"" + cmd.joinToString(separator = " ") + "\", skipping") +- } +- } +- } +- +- builder.setNegativeButton(android.R.string.no) { dialog, which -> +- } +- +- builder.show() +- return@setOnPreferenceClickListener true +- } +- + val removeTelephonyPref = findPreference(MiscSettings.removeTelephony) + removeTelephonyPref!!.setOnPreferenceClickListener { + +diff --git a/app/src/main/res/xml/pref_misc.xml b/app/src/main/res/xml/pref_misc.xml +index e41659d..bdf1147 100644 +--- a/app/src/main/res/xml/pref_misc.xml ++++ b/app/src/main/res/xml/pref_misc.xml +@@ -193,8 +193,11 @@ + android:entryValues="@array/pref_misc_fod_color_values" + android:key="key_misc_fod_color" + android:title="Under-display fp color" /> +- ++ + + + +-- +2.34.1 + diff --git a/patches_treble/vendor_hardware_overlay/0001-TEMP-Up-TrebleApp-to-20240216.patch b/patches_treble/vendor_hardware_overlay/0001-TEMP-Up-TrebleApp-to-20240216.patch deleted file mode 100644 index 8307a1f..0000000 --- a/patches_treble/vendor_hardware_overlay/0001-TEMP-Up-TrebleApp-to-20240216.patch +++ /dev/null @@ -1,36419 +0,0 @@ -From 847fcb4f84c2960ab3a2bcc9bfc3ca82d8f23673 Mon Sep 17 00:00:00 2001 -From: Andy CrossGate Yan -Date: Fri, 16 Feb 2024 22:10:52 +0800 -Subject: [PATCH] [TEMP] Up TrebleApp to 20240216 - -Change-Id: I83003d7f3ca364b00346c3616dd17605077caec9 ---- - TrebleApp/app.apk | Bin 1611562 -> 1607466 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -diff --git a/TrebleApp/app.apk b/TrebleApp/app.apk -index 00205d23acb6d98315681b838cfe4a0e7550c8be..dc3209bc9b86831812f3ea5550c77c49a401f149 100644 -GIT binary patch -delta 950906 -zcmWieby!n>8;4b-OS&7zXvXN2?rv0KjFcYIaOm#QjM1e?qkw?YH9$fH<)`#Ok(N+| -zcklW8T)Vcj=RDv0`8@Z_X4uP2SakgT_y_TL@ekwi;|V$m^~C{wFN@Di%AcKC@Ge5U -zXsB<9)>qaE+3|KQIq!dE92b`!lQz=5_c^OgDb)cpye|5nF*`P!S~G`RGnLK~>{&%* -zYB|N7+PnAi2lERmOIx_5^h-4*L%$y!rdp~QzH;dr`K%wZ`Q}TV)p6;_ -zGqu`dU7gZ^r*qYSCAG2J65X2VtNTygUYIo@$9_`}!E4u$*>j5CqnbS4_N(0%ShTRVa-da#L*Uy9Ey89V@HbuF5 -zYL^9~e(VU;Y8@L|zS_L0`uIkkzt!P;BHc^zwlFoCbC6SRQ2CdAd1wk;VKp -z$F09g|Mgl}IYaq`+f<+qo0;j0N7kC%KQ_A?W^%s_f6-?hml*G|{GFDdWY_g-eNoXm -zIEGJG(GVe43~YJv%Y89x`#Ea)#=rb^n5_2lAf4{I!l+XIO^Fjg{WMOioL8_PAfOA> -zR;9HjmLk -zI3KYn!cXFV)Hn|RF3I_IF^tgRskih_^wNYDJtu{+j{xqhkFzXac0KNY)v7|~efo+; -zsh0AR=L+Pj^CPT7f%2zhR=#ZeuZxf1&OaY{-a$%7A0f^DA{b+LhrnNXUsYcjaB@#g -zJfD~&x+#tJA`<~?tM*X39&BJt#>9q8?`P%}C5NV$|Lzd!&4eK0_|D|qO=c6Rrb)_Kd;3OXuWA?yj;@(mSxM=wMt_ -zW*bW%WLEV}66=-jLFxFqi^I`Zj*0$aC)%x`JRUY+`wvAmiO+VA(v!v?tYa90vyuZr -z`gx!7mjArjSEnU--aR+Z`^=EL?NIB9cjeJcU<|wR=nX%FnvcthNtSZ@4_edaI0H8bz4(RcAmEg3&Ww -z3zLyMhBv(mYqO|-x}$ZUUdLT>kw%nnv+o>=xC7MKdG&XVn(RD6ttxZ&)NkL(TxwCw -zTGGFEx8$-VILVxvuqpVjs6UG2WM1~ED#x>-U?8!-bMXlI-xl-Nxmgd%pR0S6gI{Pb -zr+nVL6INK9`D>;UtR1taigIrMYP8e(mSN)XS5g1J_F_3Z&JN)7e|QDWp%3{&pp+0{Mluqo+r| -z-9hqlR!?g3+C4uxf;DH;YB!i>_xyuZ=&H0B%{*meVqFR!d!*n4rwff1{Uc7Zp -zgH^ZLq}iy{7%QE1;4k(XC!ArxP&M4;n}*<`dhB?>+rTMUVT=6{G0apJ)Y#UZyey?DmTAI -z0biN_)NeCD^(yk84nDZO>I**DeXDt>FfLK6rmbNmD4%V)=qqzMNNzil6GVk}c>3Qn -z?yrqqXAz<3O9G#FcA-Y^UL&{__}d}nqR$-W;dIp2>Dr;v&7b+2xkZ{=>#X_P1vvnn -z04$c9g+By6In|O%uH8Yk`Fl2_Qhn>}ClDIpL^=?(@%;1E5W#>R>44S7^G{cTjPZ@rQ@wtRA|nIQJ^#FFL8Q}~L4fN{WeBhs=V_*DLM$#+b -zGIzo=;>P|aN_1|_hm<7)Rt?F@_>X`kgI@aEBNpH7wt4r~c`v7}l9ld)ajlL)t+a%U -zpRlbkb`}u=mS6PJKFJv@pop&*A7S*J4ty&CZQq1iQ^R@L&^L*+ViDXhg0I4PS -zkt!{6*n6%y*ww^EDezEqW>fyb%8I(y>C -z?Z>R`yv>X!BMQ%{e32{97j7D{KXvFV_@;+PiAD?3T$_h^1&=F@|@`a-Of;Q&A999OaReL -zi@o}sowm}C%cyL7q@|f5(uyocj9!YZt^QVCDDqZ+gN~CAj$6-2S;W#Z3h}%?%6;lM -zX&xN=OD}Ct#nQ6fT$sb|-G7b<4Y*_E{(5=x*XaYRmDvZ@pr@t7iKF9A!>r3QcPU-h -z{}p|{RH0z>4g3Dx^W&4ZjB(F^P3yvftQW(KH`@Z^>->q3t2U?Rzv7O~)pwy0jIAxC -z*9YSxQ3hXI_K%ih1CCZB8C$Kn-j(B@$7NS?NHQd_&J~`)F8ewce?F-h{cHQUFYieE -ze$c<`LmHMy=I_<_l&8j>)1ViS4TS=1`o9&w%)7FLj4jw!2s=xZsPQ4dszQI-|L)?O -zsX}7#mpeieeL|w!ga1szN$%Y<5h|>FOvw6{RDsZw0TBL--txuTS#>mUR3Ntejr>Nj`dn{k`!7QBW^y9b{i?8qSr7jQAO==amB)&O)<31H)C{~!Zj%K=Bzof@Wl}-y$)UmeBC6)|8 -z#e}b754LNCKY17kX|*HY#?Mfa4seTEddzthbY%Ww-6AXOnRfn$^omj1C1n1XN^vv& -z0!+6&Sfj0Ch+~>2D?r2x^?`OsAT_j~uF}RjD>;yIs;BvzkI8RcWw&gG -zJf+W)178irwoGc;>zxw5@K86dYl{^*!15Z0YBzm4Mb2GkQd`tQ*jCkVq?`cNu=d=f -z2--Sc7qB+pj|CK$!8);6$Z+^(i=|A2zGx~mKfK0xa!%9U8FwV0rpdfepq%am -zdM-Eg!ajSw!d}-X)f5>-=EVF{c0>urN8s=7_4|o!J`( -zk3q|9h2c!ERxw5wfPWFq8oz86{lw#_DU)ho*qG<&VX9`p#ORex@m#I`J%*CKsV_xv9|RlV}DFm0h%kgfb7Q9Qd)V -zpjla%WHp--(+C&@Nz-iN+V__;Bw5HtA5H4A|M-}_8(0A_D0B}$p)T_~%uO1~tCXJE -z$0*JsuWGK$ldJOT9%Sqf>bSP1AQZVS1h9l%9)^Uy^GPveZe%n?LxHXx(W6a{Qdtza#+c@?>Soz! -zltu0Re^)?Z?ZGDabBLOs)xT`?!FDxceuKKXJT%thVEvI>$nE>1TkPzV_4a1)kHu7F -zGABX(l}RTU8ftBJOotEFX0uz&N)g_@XC10jbr#0I3f7Z*IiG!T?jj4dnX#fkpi31& -zU-0L+G(07;%O2#_f@by%djl?75pX;Z+u8v;6dgrd02IdF8>nQe(@c%8 -z5CJ@EDw>lr`RVby$^tMPV;Wv6I@*0n8O>R{_pefI>N&q;Lf -zNZ+rudI_lp^~jQssTYBj3|mE*z}@!b+9sGt>B^MR#c5u$!bQe+kC{gWG=H0a=a%lK -zJ8=Y0gwNUP=}wuTOC)RX+4eOZ2*mUDfhJdm@t!Ff>b1}1y82vGCUKy^3c~85F^M;= -zg+huOY{cv~gbpV>>WqW$F|J(Gw$q?D9fj(wSTbA>@Mb?wmx)*D1ZuWeqBsddC-hZQ -zO>$2ys-;EthrW}!NFs};^>8&jjM^cZhM*isMYdesZK -zG(+WIcm`@^4fh6RT{{xhQCsva$$t%mCnk(>Z}7jOv4Eg}#IJq4lZdlA)-uLPFKPeu -zCnI4SJrPC}dZuM>$lwo30ohrR!!wkP*l3#ARdJ<(GgGPTDBa<4kw(k5v>bTQA<*&O -zmhBX~Q2?^2WfbkupeF -zLAK%v%X6}N0|7TMbY;Rx^bEDSLj6Q;lnpk< -zpx$m;ka+G&g6nW1o4iDn${YNiiy4hg*oTzKXp@79u_H+ras8Ds+gObaRapn~9Ci$r -z7DAIm=wKQ{aPBCb6r%c)cSF^Q8ImjYly^1>txa44oKZdr)yS<`)`r+Ya`RE!O8d$r -zl&OokZC;y#{=+vJeK)E?1dz0R)^%p%E8aCMSe@K%AR!Nur914q8UvJ9pzg@jU>pYR&2@B1d8Bs?NpSn;YT9nM9V?>=~Mw>37hkJs+>nDf5CRiXn} -zE!1-{6`k%%@$>4pbB_Vr7m4KSCTB51*(rRVlVrCM9V&L-Eg^|BHn~ZCe|bp3sMk7U -zVbAFEg&JA}^L$1n2F6C%Jxsb;PmQO%_52htD-o2elu<95c<`n@3;J|j{xZZU`%4s+ -zs;7i`^r>VGKOWN@iL`(2t3K{o{#`?QPe|Fgq!Eu>$arx1AC_N5Lm+l)^m1RL22U6? -zUj(%ypQZb!IMg(0L-=Y9(TJK|Tfs0<*SxLw+GV7?mXAZ#b3v0&5`NF8xUAJ(75)L} -z5UU?_52<*nZICgsovw@>HWOhKCmhDf*ZEPpw6+uK#DX8Q?VC0qaKPI^dJD-uWX{qo -ztCIrgqq0JdGw= -zI8~}`Fw#zxND_I)MlJ?U=k}_2?&33AN+2xsfa_1klSNUg-?6a4`!*~Mnh9>mZ}t>tK*@Y -z^qs!&E$bg2GpR6cG=x2RH)@A^5u+_j6-uE%mn-u^S&o4t{dltJ%Bqgtz?L!d#~9r4 -zB{;5YqG5O{qGDd~ClK~%arHwK`WPLeSysJWE#b{L6%iDWP*KzaAd#t^uCi$>!!KZT -zGRl(^Ius;kDZMyeRWBZTARQ2oe7YmmrXNDkc#X#K0mZZ8$@||Py{cI`rg3RBc+x8# -z--dBhIU>rZW_byXZZmKacqcokFOe6-Q7r^r8P*@TH54^TERn2L;3*y>F$yTh)(AWQ -zBXgwUzpn5KIpzWSi>Le#kMkHb{yxj%<#NbQ5x&u3Cozj($lEgZG|K`7x`26@hT(P4 -zBy!f>2lLbWcW`coghmaATNk>&a)W&K$Nr&mI()s5;*6(TBIOp@UnOfP&sN7m?N2s1 -zexxWa)v*2S);~?175cGI*yFXqI4>9~ecdqP*ltaaCl3V*lz6Wfu@ma#y%IS)sGa*_ -zDW;mD$0FB_Iu4+=A`#REvv11Fmtz9Di%<hm!#pheH&_lApxV3~ep!4dNxdLB~<&gaeE%xKWJ -z7xbgHD14K@o2*?I+@!UN7jmFBOJ-l<7+yJVeGKO=^WzAcS##LKhgI+vBUlKZ#2rgb7T -zr5NLMU&!YFh){~hx~0N?q6&SXYZbNb_HqFgL$<>)2F+L%hS8O-Ogk9`#JpPDr2^(c -z4Lf(oxRg1ljU<#eNF|VEYuoiiwbyaXOZ9TU_SAfFlwz9h#(egF8uQOKM`4*SLv=q6 -zMd)ZSPG03USyTzU-XDB4CQ&BW!RohX$Mw-}$b4DI=knTAI{DJe -zkz3quQAw;`G^Vy3keJlRqpI*;tWiU$7m~Qcx=vkrf!1eQZqMpi7Iq9{WduLGQUlJtouzrsi{%$y~V+HnT>DRNqF?CUH^eFu^n1Aqr8yIJc2QPo)TT -zt0+!}>#KYi4%96hRN0v4bB)enk9e5oEL=O1^P8NZ3UU(yvxrhc#VvAGnV%qKCykuc -zx$9UAoS!lQJnL&wK>~DnXbAPr7jmV;6c>x8NtQcG<526uh268y(8r0Cz0;v)x#*T_ -z^crm)EnS1Ey4?c0`P@m|`KnN}3C8nIb||#@EctR|pNc&~LvR6^aIn2&t!EbFxl~Im -zvj14-k3=5C049&H`5>{}R$RuqDf~IqpadOIM4#?ND5JA94XkSO^`3|+^vt;R|HA*h -zKPW5hSMrwkr}OMmy%5dnl=tRuDUgaevf02Kb39BTebcVu3BeSA!=bjOEsAoo)6iZhQfZBE!?8;Z*C^r^HCSMV -z+tpm^MboOlA=16!=!8&&X_EWGuaq*83CWsQP3mkjbl-;>(fz`tC9I9CPCIzxOA--UP(B -zLxKOw8nujXckYQ@1r)IBF}SuD@<+%%Ap`4Z+KETodTkN3VUzJz!RjoDZ5cuu%1+=>H+MPYRZu9|PDG(|U}d)&Qt}dMWlwp&gq_uZ*%*iQGS8An02WMP -zYM_hob2+VpjMHR?MlA+VN9lM(-(-pV2w0lhyQ9Y}UHX7?gWe59UWAd`^vy3{a$zM* -z9+M`t?(Vjor_ -zqxe7Ogg)gy&9kdiPzW^~TRc2Sci|A54AfF_13wATc-e7^*vL$D)23*nXc6ACl`&@tdy6vBOV0$!x7^FrqK+~R>(Rp5 -z1I}*H+r2@x!_$)&Zi;xe!y;ziO<2gB8N??17Q@LL*?h166buZy2c4kAeE+fn9T|+l -zOUz}q}UIUZc1#$vs}5#f$u96rh7EsXnST` -zu5F)WJfS -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 -zi0lf7TPX5Jfs8`i>HyiY)gf~=I_|im -z1_R$^zg+A1+hnq+8pSfkY3AnRqI0^Phj)G@6M8wS-n(ZUCqfGE8g+pnM2g$UAM=@0 -z0f$qb_a-QkrAi_7A`G{5TN3G0o-n$|Jl_dp56}7JpmbN!=d07+-%gw?dqys|>$zXJ -zYXhK;+<&M|Hq%c_i~yhe*gY*sTo-DaSuDl+zupO>&=N?I3+twIn`ebR1a#s!hNQYZBc>QjG~02N=w#4b7A!)2$$oBwv!cJu=lGDlfACEtb`FMNS% -z=!dn(WWLy@(U+TWIi&7yj^O9PXPOLXrg_O<=rPBdN%Lx84XAubUi3jeGa##od|QUE -zQBz5N5qV@HLgG1p>IEr-jq>@)py>UjZgZ02KoJ+m@`Ko{B$+c6NDs=EK1 -zK8eJ!5?_NVH0)#PZMvf()OIZFjeqKsH7x%3AaTN|+J`QUx(s0wC?(` -z3P3!3Hkz^x-?hH2;rp-XL%{5DdNA)#5Wm2LZ=f?HVs(ZN78qR5E7r9)M~!=66-ii= -zWP)@!-MgL-PX-S5DKv1gT4FxyCTKETt{$u_^+f_T%DT;^8}s#ZR-XoNZQBtGj; -z2nCJ^#S7ZAg!*_q9D+ro)`RWl)8;XN6SO{LR{LK>0f&GgO)n(XTD?cabnirX@^sjn3tUuV$Q2GF6c*Y(NX$g1J#UO?$eI+9SLzycldl$pdWi4yGCs@ -z=$R$-O4dRn8He2K+VlRQwv=0vArqmq^)>u7wiAZRsirBo>H*W(j=5g=m%IYjHst0B -zziO-1V6{n1a$Eyl!5z4A&ZTH0%&P+Z$2bF%MxcK3vcGJe)b@Y5kQ}MVIVK*e6IB91 -z)js9&>b9AWzs10L+`6YoH#4&9;g!_Dd?uII4)=-HOWUXl?y^0caMPAiy|yjTrX}}v -zLdQsNA=)0N_h_e_W&I^_0J6(HJ6*-ka2v(LvqATN37rw+Ef%g4q^lo%X8lXAoX@Qm -zPIxr0k?;3(D8r!XZNe~|EHE6}?4QLj!Xji;v!O2m%@f`ldETe+`yuup?;W~{z3%0P -z$JoEmWj?)8hAB+Disl0|)LE-AC2hlx5oo3Ime0aVuju8{mVdah0Ka~L{yCLKt~kA? -zWW1}0P^nVkpzCnn)fu8WTtLZrWY%y0W_lmfa8v$I9(#w~Im8bKbR$Hk=Uzqm9$%DP -z*~^TPV~3voyN@dmRIx{)W^xjufeScoL{+6tg -zbH}=}V&ijVg_>*m-SW?-N=GFXS5o}z0ZROS;5Z#s$?4n-n0(xqQE -zSf!)hH_V*JYQ>VxW2d6f9Jf{C$K -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 -zlJ?I8QyZCT!z%^#xpgemh$X{9Y;h -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 -zMfmEe77g-T2`fSnLX`j{}G8auLcW}%r2e+Y2 -zJfpuhL#quJ=GSrds?-j&jkL4gCt(i -zlsBQbtk1YpvRErD*0a{*#H -z+q#7ZnQmOw^6G&$C+Ss^tbs%5^h^(i*k(doVeMq}-paw??r3%gQTi9o_20#EL1=CT*QJs#9F2|40bXH5iBgP|16OUO?}qoFJ9O -zLDDv05jv;KE&!}e63sUdJ-p^OlD8*o#f&NbVp35?cx*?PkYAPBt3U^K3zb4}yNJJT -z1)dsznt(_E^<5 -z=71igl9eKQLgxBnK$z1ldRmnP8ToTG*BMvY7;Q^~YDE|l8*KF7j8?$y0=OC4`p#5a -zIg#I6*|XV9qnyGv>E4L)z<|Y`Yae_ -zC-MR4HsGJ`Wqi0rD7rTV-FZ=fLLRSGV;SX-~0fizQQo}qvN_EFt+l_+UP8lac;-}h4r -zXd67e@Y;pOuNEzU8aZ_(EcqGf-o=r_fwNpykcz_EFb7$+6gcVxb4d4VPVC3)xz(ZG -zp?dYMgcb0T9(?Ywxgt9jH_ReZWPV{;t1z-Nc;Qu^<9JR*m|8VZ-8(tIhnGq(yuSKA -zw?Hqy9z}DIbqhSe>nO@;tXk+*G42CtM+F^B3Rqs3=1o~r{h$`{Jva6+|2CTd(i#SZ -zyZ5s>04w|9sMSm7lsCJ68get;;aJTR0kxuX5`lIBNtjy)_x*J(VXK&slqs`vYX_Y$ -zms>oCgFv<~{Du}INSWo-Hn_Xs!3BqAo+jcHIjo8P*HXZ0BKlj9qY_wvh$k%QJUVD@ -zyV_^Z$Tybsp7wD{8DT}k@xUw&;=x+!Fga&{=F8&h-t9HKU9?9EX%OtUfXg~1^F;V_ -z{B6lLEcdM${P8XIyh8BM2z^wKS^;9f`QZ+J6L!i&-jvEM)yiKEatw(p8c?|s9=9{Q!iv#JK^W%b=;hx=bQcpr=?vR@ -zP6Q*Nvh`rR$-@aWske8Ym} -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 -z*m%zseGKBRT(fiLo0b}OMA4AT6PzD7Cbr> -z4`7(aMWhX2O1kL0;Hph8bCRmnB(i^l26!1QjF+2T7O?Kv74+yc$NX&~6H5U=nH%77 -zF)zgC@#Yva@kJr<*gsmTl)5NB+EQ&@{JGI(^1>2PGPVLbsxdf0xwUC8tnjvQ|PLMRYp>H6@47t_qC(_2kk`5!SXlMhKm;iY7o~SD_{Gz0txqId|gJ -zmg>3G0|D6aVf(Drc^v2?x~iG@rQ3S;L6(k^%E`+Kz_>Ik9A~uvg?#b5&GIV93QPwj -zTk^g%3|b>+L{oR-2{~X}qF&%7a!4HDJ}SkXoUc&JSti$1C@I1pHgQCoaSW>(a2htC -zx<{5OfoaN-|G9DuoL05)^11|`-)#Gg%1(|vS2gvMAX{Ewb^t19#hT$q9~GApa!WM; -zd)|tlwFiO}ap?ikk{cu69c)zcDhAZ5#a_a&^x^I#e}MN&qeW+w{N+9RO;L9z@}EZd -zD(4kL-PkEyiB$AL`q?juKqRI97U+2LnrcGR{kda>DdN9Fh68_BsSTkhZYRRCAL}hi -zVDhAx_tOmfOss($7?7^ikKOI1ds|6j*gv3=6#oT$6Q{;fWARv~9gp6dis8w;+ -zDK5>r>KM;Q#YEHCiml5Y-np`N|8Y9$ig#$F% -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 -z-iJlBiS~0N6iBTzc`aGS9skOT -z9K==W28VV8^)Wn;!Qb77_u^O+rGKUQ8Zqzo_)#p-oQ>SNI4W#OHW|Rd7ORYrPz8>cMr{T};C1@Zst?rZP*NHNIi;C;E -zt#5Cco{5|n+wGO6kWKCruWF^_wI=9BX59V00bMEIG?t?EmB%*nSx=`gYGv`aX1xx@ -zg+9B^z&grvW{g1uW~sK29rJBER*leAA#KEHdG$r}omietOW`C@^n@})g}3UJIpj@C -zwv7cwukM-tcMnxQRk1#=F|-h&c5UQ(i$fN-;!U)4U%Y*pDjOK%bl+IVVUfO^_^|fH -z85yWOes2_gag;xvBMDQKM7K{Zqm^}C+Qgdo>Wfc-$?vU5np!F0ecg!GRuy(9X0Npj -zWxLL3@daHpIbUj7jJEI30EiMNvPmR#=*n(g^Z -z`t+N38)qV`C7xrI0l%=&#K?f-iwc$QHh`SiL79LORSG>;xW$|1^uzu;6?=;rFN-N{ -zfscMJ4#u04PTg)%+)OZSG2@W*#XMaQ{cU~_){=2$Ejd)4d?njv~jVBS5=Y`qJ0m8ehkpZC$BTnx#4p@~U%wQHiqAT8vQ(|W~vFIws5!WN$l?C&^d!`8amcy<`{%-}Pq?PqHlI8l<6}pmYetJ>rbdIb?P0Rr}I`&N_hvVA3fiR(6l9gRA -zHah9Dl?9)}yb6<33g@fV@=>N67;06HA)IftAo8CXWj4hyhBu-=XD9s9$_SQr&igXTB*2m2Qxq5Fo@5rC9N*XJ -zF-xXtom@EVWdDU>#ZBWQJV~zk*Rrk)@l~=u_u=yQF_;o#4ZyKWoCn31v9gxb@1FTZ -zE5SB0CiimD$fk)f$e&`pN%|Ve^z8Y@m5edgs-i^o>8$j~W69UZ{9+>eEnSe{_ -zs-I4BJ4}<4j=9J1wu-H!iiYgN1Ioh%C-`jM>BGAXg~>SfYgqXeEVqWQ(l`z^GB?`! -z?jiN38txxrERP$JpSM`q=EN1}1=smhzK6z3>C_03eH2e%r67j|(GB8o-eu}nqevki -z4oR%RLKBs4PG)*5>x(@PF(;a#QGsq{f%Hw3hBw3b7FT9Q5wvM07hwS-d$aL~z;$uQ -z0=6{KhLu@IXHSNayy>Py=;}imHJxI3BVS;`d4}fG71y$wiqg5KW6HErT>E-x^mol|-OrsIC~b)H*VR3C_X -zTwcj|sEkBl805CNbGO89c1g^3G3N)H|23cZbS;eoPrh)Uq;sLm5mZL##i1RMPu=`J -zMH!Zn87e~Cf94X|U`8-WQ65GsqBDW4FxzA6w(WB|!kml8hxMs2w?|)>z-+hbA# -zYE6{7GjDq)!bn*XtFh3?8QjQveT!Lfjz@4_g7D_CU?opUB|p6gXZn^*2k{D;i1M@$ -z+~@)_y#=e9iClywOtk43ZlCsE6O9a{l{B$0pdHDynn~cDG`XP`tNEr1Vd2AeV$Sw3 -z#Z)WSv)xGB@JAf`D9_Ec^eSX>gL}%OErFvST$&}ywcaFYo2u@Mar{zdS>#B4Vnw`! -zCgNs0P1`MI94PE97E-j8y!4`6HOkz~jnw^poveB;Z?E{Dru9MdVAVBzHC-Sa^-Lt} -zIyA*FX?}XQlf#b086E#lE8#;Z-PO6##4Quw2s5Dste}RsF55i2Ub5}U@+X^Ar>dmr -zeMGApxhk*<8X|N7p>&#C$CR9#`Clu^R$@-oh$UfFR)ndnr!x?sVYH^#M<$L_-M0;l -z(}0nT@SUFWL|JsVhiCU$X{a-N`s%7@mq5l`{4rV)^aMwIq__y{%s%sX{njgUi5i=h -zhAaRJbTM7%x=AoMSiiol7k4T!*2vCW4co+~+bFcUdF&i@Lzd)PEN-96S}Uuxl_A+n -zkGG4#7@5>x6wkfSk~$stZXZ>T;~sHp(%g%TtU+88hSez3q;Ju&L31ZPNfnWJ(e_u# -z!MsBpF~ayBd3hr5bk;;4k50nWfu}(j|Jo_eAZS -zuu3RTTWk7BY4sGG1&x}e<*pG&k{G>hPR!-$3^A?D@YW1oX%x}ZSfRyCI8GT^qs*GV -zrTuiy5^c`rH9yp~OY?1v={FLOE6PmV=lbAnc+;G1dy6F#GHw0tOk+O=f2m9>22X8s -zkG(t{_i~^6B#u3V*vA;Vkcn25 -zUK{Z_+jSDeNFYnhn!;uAbJvUn)GSUX2ve6fvajM$?9K_}KI^>pW2|D0TxYSoH+v*N -zVRLl_i3clwszg1uU3y!Mh$LpyM*#M`tWwO -z)<~ArFe@(5dsR~+S1{4a9KIZhSxr2;o2oZ^Rr4!436|G)Ewl_wId66ypN;=z_7Kqy -zB?BM@Bf`_4OsBc|&C{<-ZneS71Jk{bDWUjY6Zziy>6nYt8Qpy*f`aqv?+KKW)E|MF -znQNH_Nc$ou@AJ2p-0L2<3+6)dw8U -z5yn``FvsSL(lho2gIZJc^x|)b_d>BYcVZ<2vjmX|{q6~lO>CzdnWb7D9e{oZc}9*=Y1q-euly{ZILnKs?$6VHsNu~ -zT<{d4iMS|taciPwBwModl+>g-^S&sjZ4=@;jwN7|;o+hZSJzF+Rkll;kcp5y0Bz<6 -z9s~wTm!N0z=L;LbMTrllQ`HEaA+3qYp?H5gC;p-NEFy-|5AYYY87+~e^Wtx&bt^GYQPU$z2o^$wDMbg~+O6g5jU -zyrZ0T9reDKR=#U>IztzVtoseI?9oRjbRc7t?Yb^Rr$!KnrdlHbL$UmPRoZWA_(n)}okD-|X~4cN(*}Q=X(=bhvWmkLm5)D_6|#tey`j -z%u=$QnYq|`aysQv6Ju!;-RUOQ55kNed~|c0Xg>H#T>;0{DOfvax!z+?i#24Mld7E$ -zK$Aq!WcXnmRAbePLH9EH&51kApY&T$8=lkjo0lJ+ze?z(^CSuNktICI+)Hz^59f8l -zwxll2NnVv^wsNf)iV_-U!?P@hCSNk`$ODd)qTO) -zm<)mhXan*Sm_41DLMqh;=Iry$wex#V--$_!R(SJlPaH -zU&HpPT2RkPh;@{sJW?oQlZvl~v7{Q+K8jWt<$NEQIJM7V5E%b7kl}2LB|}7lkb#L* -zM3Uk2O1bAE$KH+6=)+UMoL~SmIlF5L(fWcplfy(AX{yXsg-n`AdHFy>+CT;ZufMVY7+q8){J!OWL!1uKYE7GiGXXxc}nHzINFakt%*mfd4-?bB}U -zb5;0ob2jn?Z)$Tk@tpM*m|C>G@DHbNz0dYG2QRQMsN2N+VvFXxFr6V*>AMK`Puwv> -z5mv)RVYYeY%sF0k4+ahWFCG11e1J45yuH(wYo6O{@$B@il~c*!M;>8PS~cRHb7?M- -zG`F4UL#pKms`TEQn7a{mLru@Mr^|*ymdD*pFHaiTPZF=+$Xh$Z%BkS^0yg=ZLwQy=b%z(J6&Kk37C99cnZiQ3Uxx~` -z?IScp5zjUaXUPIf^Gb&qFZz1*XM1V5=0pVNG39eIzq?eq7PP(QB+@pS9&IVD4}_L= -z3$leKAPCN!ilOE*?Xlz1@tV#&%T9tJRn)Qz7yte6!P(pXFCKnjXg`Aj^zUc;k4IaS -zMdzN9)da)2r-4FtcJy4G&h%UF+?!54Go2yS -z$RM*1zuv^&Fr7uS<3iV!*+YakPKUNsr@LdU4b!tyI^2?qaQs57~*(W3A*5I6>Y} -zI3&zp7>YWX9e=Mi>2qICMQdznYvP}IjSXRTXg*}t++btgK(O){`xY!~i`H?AB{4Fy -zP?{*$PX4R$dR{Q{duWUpVGf@g8Y^cr&zf(6YENyJPTr1W=5~UI)NsBx{#*V2r}EYR -zAJy-FeT4tKI#utRP@nK+HLw(&T4284eJwhbb)SiUOI^c9^{Kbq(|LaJ`P0$KU#!S% -z(OG5FiSPEQu4l&yHSzw;PWz=5Q<0rif#XOHMOtn$XNn3yy`gBS?ASc5#Irf66I$`$ -zRR5n2mFrI>htejed1T`2ecmhQ+NONi8MKIu!_thrt<_xbje_#KN~P1oq_dtmQE@vn -ze(hwvwWWBsQ^4-HGwUm78g*ypuT>hKDiuF<0q}T?bv|`(3?@{GDXEkx>0x~yIAti`z)Os>Fu3_ -zt8+=vKqT++xy-wFl0MyuExD7p=fr>6iTB%F?2k=j{uXoH{c3%kO0mOD8G~+Fac}jh -zxo~l;LPw|0{ocaqm`9E9v%de;yE&bH!>Z>dy3_IK#r%5>{aXpy5y+@RC`q2sqkWjU -z(;Ab$Pcze+FxVQ0_Uuvjv{d{}Vx1)^9I`*dF+~02jgI)+vog1v!M*0ye!g`Nd-9t* -z@z3w5F|bcs(x@d!y|)yLjv)ue)dkWksaZ0&Bxs(hQa4Coe?#Q`GDan^1=r~kIy1^m -zwU#LeD;yeR5P~|vRpDmW%|ao`Q!Lb0ycLh`Wq3MhWa;o^3HP*f?wQ=~sgeKF+u{{W$Xf`g#{FAy3<+RrDh -z1jZI@S_DVKgj$SG|7+pEb*fYk$LP+Cu^t`WTB^~mNyx4-$B$~EI1Gmf5-);Gb7JWZ -z#Ty|luxdmMy)T9hj?7{#O0h1&%M_(q*>y)yjJW)!kqB>o+9LjM9fe<#2FN5mh(!1He};y-;417nglNk0P<*ufc(at+P>{g~yT7IN}GzN7#AsDFqdX_PtQIpVsI -zaaFJ$WtLu8f{(a`&;Qkd|NXpsROEY^?vtdTl-~M%mV4PTuiWEDa#Eh`Q-5w0Jd6Dw -z^uqtURtWtUaR1+XVMB0>=xb@&d4bj{mG|b{tu?ZDt8~s+N}iwBpR^E|G}n);G~lZg -z(c3cMo2OB;K&Y9kMpkK`s+4FSV|uV95whm^XfEl$RlQ>@ -zUV)iBfs7$7CVy`dE%8ckYG`zb>_Sxto$jOl`i>)JV=cBEW~Q`jAw*lH^rOl!4s(nK -z1N#rHg3Ce-?W@eQ$Pv3$1jVElCG;1?HKdT#?0Q+ud?fvS{?nZFsl64~G5hiC@rQ_7 -zF`D}SO>hnU4PD>G33UGV(e=N9>-c{iYfNr1O#TQ-9-f)SU-?Y1J@EmqQ1$unLAc=Z -z-sKbDgw{NT!$dr8Je%|iIXyElyEeIJFAx#M$b0%q6*TL$8s^7P_O35e=e4Bn=lkD3 -zSBLu!oVom6vT%GR>o93JcBxtC-lA-MxK(Ap&k~c4W%h@0ZI^t@^dFxhU+wt|d~1sQ -zgtjdMf5`Wh)#`G-=4%gu5au#O--F91dY5ZV8Nqv3|7?>Yh5y6#`H -zbw3dtzfZJ5*@rp9nR=lS<89S_8%x9BL;Uz@BJ`^DP2r3`y5IhFnDGld>BeY*ID9j=W>`(zvsQI&MA -zcEI=HME?&{?*Y|R*2Ry`jE<-%2q>ta2&f=cWCTJTg@|+!=}kdu2xvl)lH9S-F$~hA -zglLc&5~TNJ1f>K>qy`8OsS!exK!8Bt<$Ld~|9fkln|0T^<>a2d_ixvAc4tza!p6Og -zv*v!MLiApnZ -zfhS7^^f -zx;9mGx?F85u~rWx(%d3*5Z4~~e!2}9Gr|(`6vsizu-GmqSzrD_a53^^O#G~hC@*}v -zz5gb6D2F_ -z6g_9A{2XAaqsysZ!PQJ<1(1@1fLO{rm%fBsR;@AtY&&rzyrJUWlFkxNXKyOxN7-l5hPu<%o%uR>6Ryhorr -zYc$Jcnj2F_CwOQDXR>z{jl;n$3Fd^46{-CBalWF4XgldgxwRp=NFCg6DVZU*hgad? -zV2Uf-*Jw8Id)s41DX+<=`J${pTw9Scf21EpW`<(yDE(WKtl5WKx$y=s5|CxlNjm1C -z6xvFOYYAM*4m3J~N|~x7P{z3XWy_+0^a}F)E6c`Qg$kLfxURRap`Ey@@Xx@CUfHtz -z_=&SlZ=w9v;c1yMANTt-bfp=iM4cw#S&LF~5;*o07$ -zKSt-wj>i%>cB&sJ572^Jb&9$|C4O2i%z?Q^ -zoo3;iq2&<6NAV;P?R!=sTd|+j}HxfrEQ`puxMa$cE$Satf38%xj8sC9)>j_*{gov -zl3(QZg$iAG+&pC`MBB?L-?lSh-q(*!0~^|*MCPAFO38jZZ{zr{{;q0fESG6cKQLRDo=mX>dQ -zPj60Z59M4*p^fG0ftkO-{-MYmf$|(c(H~ZvZ6ib@K2Z4RWhR}5zYQ-UP7PO5&#|B8 -zpO1@(lv-LWUsw{*=@hC#+h)ve5f>Iii8#vAxHM1#mkmAUwDPY}$kgrcn)ZstLN#u3 -zip5EqaBgm1Vduw&U@U6(x3pnBry{nBO=nYhNuC;K@978V=^F-|J4L9AxGQM4V`Ciw -z3Fk3|o|7($t6M!^^;`)HEmL7J=b0I@ovaCG-z^k4qe3)P^jj;kHAkZf!}^BQO3=yO -zLI5Ti!6Lk|G6G@}1I0$?`pKJ0&2D?@kKI^W8`z5b8Mp$eCx~IInO9scWweH1!jlj@ -zh4Fox^fifj#l4?UJC5X2U6P`}PcP8bC7jeJmb57JvdAplc-v`s7d!;wI -z{gUChEB11(Nc5&bdjqNGf;zh5DzpYk1T{QTjK}#ZMzYc_? -zlbK+iYb&Gv8*=h1QYq^u^{SomrEr_h);Ep8_UA&&5`LAIrnt>-o4pVHfGY8@ekz>G -zNS~pFeD}O@UB3RKFtK?S&k`jL!Y1)i#MNlX!7C^uiVxXD(Q=*M2#+lg -zYQm9bGp1z>pv0IZ3ECakXU^xwdj-mJD_{?W)9}7^{7MDNi-cdnsuUZzx^FaCI@xxRH%s3;UyovF$3XBS3Yd`xF{Aql*x-5=5Ywv#9 -zv+nIr&#EQB0e85BAW{-!xEeVD@?SYp4<~?)KhU;DfwTg0HeVYWOo*Y0ZJiIyl_W+6m5+=iZBRow!_YdKS0N=8qaCie$I?+05ULwq -zygG6%<8|nz46UWwn(Ft$2eRQJ@DE9j(oIVn&N?^@P}@HiDe(#R^Kn``cnV8*Y3B!+@f_*(!GsiRe__7_)e=Yo!{EE13A@;$#8U?=5EMZD?Q1-uuuvrP4Ol+ASL3t -zO2+OtHY8*##3Ei(0)m3CN{_4rKZLt)!?Oql1cvl*t0~O}WFk#7xGfyY`%B#bP?Y$& -zq2Wm)CFo=gZ(->z$|HoH$iUYj_8##UvG7HiBGhdm2je}EtcMufeLk`2QpRN5XkDvI -zn_e120@9Coj)_#{?psXEnvLcz|82zz$UXF4?%Q{0EJ^CF4V8Yxk@6(JZeHB}_o>=s -zy)$Q_$#yK#z-H{CQU<=(%^L&ATz8qZHL0;RsUQ5?mn2iS<-}LB9@bGBvC^ZtUcq;T -z`d74g0H_exZP0W{ElMNK1&3UM8TJ>E4Rc`aeu_V2} -z=U(bac#t?g2B$Do=jS2*lzCGWejdb -z6IJV43*mxjjo8suU{TSRg_uv^3L7I8I5^_|b8}jK_|18gP+j<>eVEu-6URrKbuA)Xqs<5I7)P3M<# -zVMU44>SNB*OS4d-Z!o>jH>xV!>d>-{Rs)LOIv+v1i7#={VehZn>CdtiH6V>DgBhLCS$ -z5O$La$RtSxQf0~xJYn%unpX9t2Cpl^ZeqST=)MpCsOYkGmjt^B8Pf8M4%2?mdNl8- -zZykn%ZV@^0P>rt<-DlytgJ1TSE#{B6LW{J+GVqu$rGc#;4?$)rPcnbf{}f=ul`_0S -z(1AA0TM><_Bw22z9E?x`cu4ig*&IAdHxvWr6>-d`O7cGut!F~r`T7KTZHYhSnt*!} -zw_MKPe!Ra$*KW*m+hl$mVNu5|hrNA3&vO`) -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 -zaZx@0{!PS-OpIIaHtJDb{`RA(TO)H%TUTWG -zaM8M{E1O|kGI$5A3mbQ&?*ld|c`)Vd3NEj(USEZ5M_DBR+h*ywJp5ic -zj4;K?D}htK@gqfbNQc#yl7gyQgOa>rzUjt?V8!OG+hdUcvj3Z_iJ}W@30%oY^0cV> -zhOGXU*DEp)!tOUIkO+GZ_M@I+_pNOXV--j;+-L3I^y>LS0;I5F^W*I8*{-#4+xkIA -z-_GZCP&-xms@$&I9gEwFk@QlXsN`y1Py^YZiE>FjDBQJo?{ge*yP%WkR!pzJsk(g;N;vOW48)^&cq -z$xszLF+8l7(mEXw)#&x1{t(eFSPFh|FSd|;LLvX)8Y}Jsd -zkQe?Aa>95B_hXI`7MlE40~RvKBU_^r{GH-1z1D1sj-@O%S@QX^vR(qgl7Shf?j=bn -zb9Dc%UxUs+ue)tK@6yD(<4J#@PWd>~aw_~b^@ySiQ1Q5YG_0j7Rn}SpWL8rFBN|LK -z5*9S9%5f1{*bT8s>NPC-9DfjetdO!~LlGv}JCt<35S|*Oai^xyKCsz-(-#d;$|ycI -zCf-@cdCkL~z4Z+_w~f6ar^jXjrdZ;>sLD9Xylmi_pp_{~6uG<%Nn-#_wTU -zs*pF7x8O$1s`a~7AVra3#TgFe{L9;FynhaH{~QfXe%WM|qb;8CS}xE~_#x=8wy?J) -zQhbYkaMpGo9^k+Ze=C$Y`*5rk)BQ!{x(hW>Q9e;;q~VeX^z!rDh7kKP6Ou6K`ofZF -zs>ZjIp85QJeaccW(sG~^n0Y|XOv3n^XYhO0bgfy{;vb2U88F1pcrEiCz3i`%%aFt~R)m+I>p`oZ^D}8j5;U23ce}k)o+y3oz -zi2YhCAh}e2kY8L(F&zRtn18|K(A8aU@m?~(2e?RMLa6err9DFpT2`$)-xp%faM&Ce -zOWRoBXW3l%*})(@{9gs(YxM)5yXhtgQs$hx4&(ITvmmFMG_#;mxX!K-dYGZSRf$4x -zXxcOGTIhn(>uWn+vgwqI(qu%a{Td9v4;ZK8NQPeXvSeL;XyhZ-O#-4P|6XTRmUg|q -zzT-i9RGRMMvia%<_&+6LdS8~69;KVaOWlCgbXCeq03<7ZzH`roZMiAqv?-G@(SOmm -zAH`J;_TJLERt`mc-Fce89rKJHs(xdauf)lf-w>Sv5TmLndJ7MH&2(yL|-W|bLqW!pMWX2sxSx+-eY^Hja3~8akkh~jfUVQ>1OIKK2 -zJHTrshdy+ot|M=P+Jpp8U0eE;2-|AaR>F}|A^$V)(yAz52#Gf4eS`SOs9#D**;Z+ -z<%O!G2|F|I4xJEnLc}r3r0?#E;tVI$?4998n=)o|j{R18yBZLe4NXY7G5TyJG)IAY -z29&g4d;74vbfh75+hz9p`19OGo!mO321 -zOB{$8I6Ei}Y-uTo;z1hUdf{8mO{ODt*aPkjpVey#E#`A~pF@kR)Y?ZvUNhmEp0lB7R0*JSrEv|!gDo)uJ9YHRa!n=liZ7l6Xml@uHlk%7(u#!#^G -z(hKX`oij@0Va8q+3XBl=Z(Q^5p%Xa)WFzB<_dwT@F4G=$We@`gp`bd~faa~uwY*fOs-1sjs(BDHgq_kW80q_z>->=?Av< -z{CXDp5d8!hy2Hme?Gz -zM5C*T52U8DYoZ{#%gv(>@3aZ+SgY7B7Wh!?>-)I)ylYF$_>Jh);Do#zRa~TVd~K|S -z7So*9TKaJ$^44TIW_NCSg!`RdUbw`_I9@#>wv=46)XUFCk|QZH)}Ke>E-W|=W$96J -zm>Rt~Qn%XmvSO1q_&ZfD9N-S{Cs}$Oy=RzKb4OEYNiE>HxeG<;vo=V_x&JvT_COpt -zQnfGt2?6bbwR-tKPZ{{Hm#iwAB{pU`cTqMfe!}tTngU#zXybGG)S1v%V4-W${Omj* -z6`@{yk)@vtu)Z2xKVp#@o^T+Ay0vYvrTf0P8~|OoMnL>JReI2udRVpNnt92) -z1LUx*WJsQ{PBL!nu~5&KrM>rGdJzv>%l16wn`0o*`xjFuzGdQ~(T4oUex84Ry_aty -zHDspA{LFkMHo8^80kEDWMPVA`gG54yNbR0()!kS<@Z4XigJ63AXdljD!f-&Q|#_ -zpyU-;w3hlII3j*j(*l?~ZX*vvMVMSv;a-r3wMns;>umyal~L+W>BaGR*I`XvsL5V# -z_6>5u*UG0!8xx>~R;PUJOnIzTY9K&352Pw3E*m(M8)7H;@STcS$cbQ?P(D*)`0A3@ -zoA$tlpM1H>cep`ku93ZrQDVGg3}oTnjO(w<*8H*!kR=e9D>L3J3Ub*5Iixcap#KZ1 -zg$@~h-eWYsiYP+E*k7wNOJ?Qsp9I9~T&_a@_8gFypJMms{X+Yq^dIN%N{J{h#U*g$ -zjCuEM9Ama(0xBY-h*&z2Fu; -z4Tel*51-;?uvU@D7nl}fzUtPRiN5axpDQ=2`%HF8K*issIL~U5ux?GY2E7t%Za2BZH+XDnhXCFpRw{O*+ZTlOE%SJHf)W-SiBTy)vE -z%xZFf%#}7h=;zx6d%v)KTe86-^y^97Qmh{0rK9Axx-mh1*8u5il*7=CvrYi-$m}8B -zi;pCY50XF9@BTV}mIR~u1*EQViJI-;{Hy#* -z7j@ar1jM%_4lPN?#n?(5^gkJw`zmF=th#_#5I)Pd0xz)~2f(`7vN%S?{+dSlPv8F! -z!E3&^NQWh#1E}Ztsx+9x(70Fblr#ZGkIP0SE??W={swn7z)o1#Tv!JzCQsy94ND5F -zHfmGmM=7FQWJX2jNk59sICV;q?Pk^1HiE=7s!oF!t~; -zg2HZQ=clAlw*$8);MCUbiM=Uk&E_{}%$$W)5EXD!Xc_V#IdlC~^dhRl+&>OCM#Eqc -zH2=linss}`Sgq#r_oWFfP~)1^r*%`n&2P~Cds|k``Z<-BJGjHx%peO>jw$iRxaOc` -zb8Jyz*7vqj=NB#ZfVWC(j<{;MM`!*!J!wilcG55hy8>};$Q54*Uf83RbFECLUSBo< -z11@T|H9T{{ih;J=qN`MTz5n29?z?4nyX`yrzzwLAs^7G^^G;&erLDw~1sCTFzGYzt -z6Ze`?{VEZwHqQd8tnb>^J`W72ItXx%ydLAbO9#a;IQ7iZZqD|=g6`w8FyTT7%3OSrn+%lo}j=W+v$Ie}7y?X?NY^_W`tj -zH%B6`=xy3~n4_^d245IgFOZusg-^(OxHmH#;AywC0Mh;$j4>2lETQ -z56D}aU+(mUEV61ifdg$Wwd-I!TDQi3+kg7C^RAckPP+ZVt4yRRgn16%3*h~`d2QK* -zw>Fk(JiuI9speK^jh6{3tXD-{9|SG4CvJqSH0bG%=w2IJBP4Ib>ySo9+H=siucfb5Y1$ -zbHm~owTCY-z^UP4^hY!x*!P|5B$)M`ysq_OgKMv3>!f50jnx#Qey2p#+&WkDJb`hE -z)A`0nqlS^7@s4yY%H~A^gE=0(>k=J7-%p<7=HUC1Fo)D;E3BG>@XCZ~vxCc>W}jwD -zNHN!C>OdzaHToc+Cwb1XDYvbihcGrbye-#wc{lhp6EA_+&jM0_G>_$07u- -zgKBYkwuov$$ol4tUTQ=Dl74AYal3A@zaRWcCku1-B79(^QGJcEdV$(aF=y_dCsWva -znQdbGE7A5q74MqQwUmBT7{%jBW*rH#EwQuKy5M$%Mt+3JaGeTNY0Va=WEZ0M7PlaS -zLL&p6km-JB$?K5CwAwAoTB<%X`0$ZWArMrgG8=R?IQV#ez*`t?A{4gx$q -zi!^+&^M)aO)?iuMLm_%-P2eQ3l#+e+pqC+38{%svGW(v?_h1JOTwwaGVA7Rz9z>e>r@{v!NcXT|PWfNE)g3kx7{mYsl=JbY=Gv>BxR95jLj;XQ){ZRCw* -z7xU}~+O945ccw;k8&s5MBm_)bsJI%l=v?PW4VAot;W4l|qj>8CfRPD~V&UAjzmID= -z23rTOw1m4?RqRZzv{c&UhSg0i$k+H<)!f3>+>)$W&y47X`p{eEG=XZDwX}t9j#OUO -zgtYZf-h`{}Dr9jfO7373S6keqY2Z50@do0Y?ZU3v()DN-F5L3Hv*Mag8haOx(lP`= -z6Lz~>SPOA@4CQ -zJ_D96Q(v5Sq2spzez-uMLR;OUT3?1UA>Q`>)2G>Kvn%2%h<`@p_w`*!!r^}290(8Y -z7;LmQXAos(PAXC9ncwYZLJ9uf$$yS(+!w6j_|Z+L{~XsYs2QGtyq5PV067iCVp -zxKmZ({P0CF8w?t3Ypz{K;`7^`xi?gz -z??9M<4)j#ZC(9^HB`@WHkpg=IOeV1)V#Cpu4-`djS4xv=X4CC`{?W8w51-pVNKrLY -zjarah*>@FW`fY{ux3!92>rDK8JlaHUfFKYsy_@uI#iMYzo#8n8BbYiKEv#x*S6#uG -zxJ9Dp)-OBrifeS#RLz1Uvuf+y2Fd4>lFkE4`$+fl;nEe4YYK>XMtxFRsJ&D9+e2q< -zTU_zM%-mXqk8@<)w{FCzT=B~vGA`g_POqHTvdN`|oK$1)*_$&yJ2v}%8iwDI1j790 -zxBcgZ0~Y1QAykV0*1GOu1j)MApb={sWh5wRUh^v=A&gL1nC18`&!Nn|C{Y}xY6?)4 -zY;)^~;z30*@JzooqRq~~q{)C#ArCA%Sk2VE^F5zP*3+d2b;ZMtca*BVO*eL$EzK*+ -zCjqrP({=~vu^H2Ak~=-MrEW0y&KhqJAKU|`d(7W;mO`8l*S9ku_2bmWL!x}b%*0dtD^>p`v&cMK~%Tc6meZZnt4I+;u{9}7sNRj=9gsRyX8{dKd -zPs!9Wv6)CGK@XRlXseCPO!sHmVXLjmW3hZ3jK~g~7#i5!`wh9f1UP4Noi7~ZE=EwZ -zmCa*y{k(Pj=)N_kBD3Z|>-Q$@`MA=3f1vfjPO=9PA~IXfKwd1M?6Q)`dE2xs@qEka -ziv7?}FtK>$7NpY>TF&1o^Y#vc!sz_Dy1ffq;dX4yg*K}8)UHHCz@jKa$oeV2kCR8732yEE -zWNX@ZJ0qm8*#}q14yUkJef?Klr!+xDP`_L~UzcLbW-x@Qse;(vm}}vvS&sk~O7Q<# -z6!e0a3cqQ|NFFqe=TrWjQZar#tMy7D^;f47-U66E*G(*|yBkF@6SN+p99GwEb|}5; -z8GeYXPRg7zS2A=I#9-?#t#_(J#}k}i=)^Q<74gpV|8BxfK)N7Hx@c=ka(ed>QMhd% -zpWG?p4qilvEChRQ8oehW`lX*7Onv+9&2E&0wQNg5(WUrxp_9UQch1KM$VICbF(~1ReU@Y)+;aY1>*e -zNu_h!-Tyt+IYi9aAa!duWLlFAJj|q%o=K>*uED!Ezns1NcKrpuH$&+h -z_OtG<*H4@@T%#tnsmVn<;nEn*9{;SLHuFgMT>TCyxPu_x0;!O+R)~w`W_S={X#VrNh`$XHY4$!id!M)whrOB*WHD8k9Tjma-=zOH&8q?OZ&+~gE;)NptQ#W{)Kx>7Wsv0SLAx{%2q~p* -ziV;*B8RR$ZK3;P~q2pFn$ -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 -z!lb*PyAN -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 -z*{|lFzX`%EQoh*cZC9!BY;g}22Q`)Qf*wp1F -z(Kh3DR|YQ&Pa9}Z0%3$Jg=K;ge;M^@R*+JPk1I4RzvGTBeDc2Zo9uQLgr2FGb8qM6Bz8yq -zjW{|r#{xD5l4Z)DSZ0l6B913Z4`k`>v?s!*czK;&!}$^pRMFR7C>zH&Ce8CKxA~^X -zK4>vm=f;a;l^ysR0f#3LX%zJ(g~PoF+;26#Fm>CHPf>tCFU*xjJFEvsm_pv=IHf4p1Mn=!iAlEcJiAD?Xaycsz22 -z#wTEbBFW>x+>Ti2Ph-!h2VkLfuvpBeU_fKqajo4btHZ){&)zIZrb8`fz_uyTKmQuO -zg|e6V6?o?#cks^tgP9n5$4@X$C%jsW%X<3!Ap&$?hfhPQB+SjFcBqn>Rc;<4L;p&n -z2+8*yuTd-|dlglz5e+HK!lwsJ%`>Z66wDqIZQba1*th)KK1nwDJjMx&BHjeRTE`AnAJ%!qIWozT}|pzMjq5p1bYlAK_smOjS8cAkH4OJ@5B%ZGpzQp;=pS?N?UjmP -z+x*nWuISh6jzPsdF|T0BABt?2(57zLOg+X6$xmBzVteUuhA^G6TdGS0D(Z_vZCht3 -z7K-DDA{cobRH-|bpw&u2>DIXD7TXJ^hS?kL_+e7MLv;F!REl8iiQ%l$RghV2qsua= -zPE%Kr0zOpxm5ea?-lBHv#R^o?p(kp5(crJU>&r2%S{gSg4R2|6-os+@?bqfE*)hxP -z_d(SEityrvl{ -z2aUW1w(yyE+)vVKZSwPbVuM05W1>I~QvZPsV9kl`v3L^zb<~nQ^Rhf>h}7%-j74f6 -z2JoK3o>}oOdO4T+J}myG%kdY~BMq5Ct{9fCZ<*Bsl_|&99F8?IJL+U#9ExI!pnTi0 -zb8xS;$QFh@vYgkt(=wxF+1n|^RY_vm;j`AA6e-D-9lJUE8P9i!Z};`L3#j}&teWDp -z-1%ofgHLY&m;%CZ^;iD(l$AeZ?g31*5;p``X4rgx&FAo66i;&a+Eq6!5p${#cyb~O -zFD9Q^nGl5tmI?7**eTxKyaF{4SYG+y|IJGBN44)gI$$t^GQ11Ajh*QZLN%I)uL9={ -z#2fU4y9H_y=Za0D5mu2Bs+dZ?%?=03a4xQys4z?w>YX#U^8p#y{6F?dfN_GN$uc`_ZR0WFmJ?PFQuoq)m?aQTkGeVe;(^ajD!w87O -zCu)=Cjl@SLvs)Gl{Nf0&Zb<>~z4vCe)7_9a%F)}K+*tYi?cIQKoG{cbVU$GztE5!Y -z{N*@h%&$f~jXbL4JbXUkVj6S%fa!6DIq`NJ@s@#=;zI8E!>`Y%W9Gs>_rT3+w2xUkmzY3otnz&GO*jUk -zv*KmN5u8}|5r#5aBmz{yDV3w`s=; -z$e{GzO&2Z5g=LfPf@PG6f2`$>ie*Jxk`PaZQi}^Q4XjOGwf?ZQFlnP!K=gSi@FgVc -zf>TAj(+w#8SNU>8GzC;HESO$;Cwh~oe*^*+`k~Yx!@4_AI!GX8r6**Nxk7lT@q`|G -zk7IBT8*Uv?r~3R2-sIX$xf?!Re#I4NXqmV8>9fUJzVf_hm#!u6M3mKCUez<3A16yOpz!5egClhfC$QvSf|nx=x}$ur@Lh`O%=hKy -zyZk>8B*Q?rAKj1Epy%U|PZk{Ar!<`^oo^>MFwLT_@7zX?p!djI^p#!W -z22iEDE#*yf(Hn9y*;;owPe$;@RHaGIUq+dDYr2X}rQOydZQtwF`pYwQ??-hYKBcx~ -zj!Ed_LL@$53^IQ595maOvh2G3NaNi<)=Go;uJoeA2v%04>Do80FIzW+h5H43Gy1I* -zeOA^@*go3bx-r&>Bgc=UPdmy@w%@zGYYzx{xn{#JcED#$gmo&CBcX)+(gITdcEChQW}Q0v8MJH%Y7t^nv0{F0P$I38m0PBcul!pG>Ksy1}r2@YFbtbvVs#D -zByAT2!)8;rp2D`hxLyvrWlyiN2R&-=%~V-e<#xT-t_}fS_aha@7og+Sw=U22N!ced -zGYXonyU)EqI%G^SJ}9k2e5~Li`P4YjSU+{oyLb;VtEe;TE*w$)G1+3( -z@~fw^qMXEzCPjgC_4f!SDdbryTsrUV(M_^PW6p>n*adhy?Qxh@+M8h9c560uTa&Mj -z(d)c**F-JzkEoZ9pecc%NPb7rssDG9`Wo=5iTLVJqAjbZ`0P-I -z0~Y!NP-<(><)lY(DAf5io)B}M3!F)@;2z}CLF{;HY<;znu*B{&-^+8SQ^YK0qqrqU -zK$Q)XGtEw;)vx{PYW+K`Zc7o?%V3+%HY{`&zx&XuvR7a2qW>QFlf4gAlDJACR|Hlz -zH@=?Sj;+Vdzte8*pnhpLsv5{x)Q~_*zKQq+NU^$MkLrG<6N}_#q-ULBwu$E*#lc4F -z+!m!L(zDrH=lbLc{u0>Ze+GC*A@+U8A-|!&*YFDnZJd_RuRTQn07iRR_Wyf%tZuIQ -zPqpP8-A)>^eo0d4-ovvt3EG^qkXR@3+b|Kkh>K(~8viPW#pmbV1WUtSIFT73vxHx| -zGihyE-F$=)d1Jc-O}(*8PY#vpGGAtHxPi})T?I;&7rj%osUx+9x@i{$*xEn&)tTEA -zdp_Ru;Z3V>yw)E?j%cJdjfKw2Gf$1`D{iDTf1ozCPg2WI&HkhqY0bu}_hi)W6AyT6OMu36T#`nHJ&<7+t=|86JJu+b}xZ;!!u8mp5?rG?+ZwYfr -z{%zage42eR+`$qJ!`-WGgFwb{{^dU6^^O7PNVVQ>`=J(@M32W29IRv$V5fj|HL;F3 -zom)yM&p>)Eo)m8yGmp9Q7@b;E1goj6=XKkpDL3DWufqxrzAXp)z9qLkfH4odIerJu1R2T&6u&K^ -zD7SEuehbS25mm8;@^4R;OchK*^>gigDGWzUboII)CkCPL>BO3XnZ0mQt!-ZxYns0& -zY|mCCK3qRh#cROnBSyo6S1m1k&haVjOkND8N6>jxnkI%N>&_+9Zp<5=SpEFET#pz_ -zV;U#lRK~DBrCnRc3=}OaKvcMK12Nk|=&Nxc6L!FO$8|3@LieS+=2FSu%scov{sL?b -zkK@SHE8&k&nOjnYB!~t9IgI}`Gw?fbU^}u0*^}%{Q%XQHaKoUn6dx} -zPtdH6BPJu0Cvje_JN}mk@&l%l>5Y;m6*nfU?$3vkB^x2Q?b$Oh??Jl>P^aJySMb~UrhOHoM)CBeyyHqu6)(tDJ?FYX2W29j2GRTVk#%eys2)>L3$9Toh;S;hm? -z{I@Oh_Q?B|RWPGyziUUs;^SXKPh(lRg=vpzH1*vZJj*Vw!;4UQO!-hr8e{(z$~kb8 -z%Dft6Q?iQ>imci)TP0GScciHIKKhxUO)bjob?+BZ&8=bi!Y?mFT__~Y3A(xFw8!o4 -z-|8RB=GOFaqO9(F(BprCLJ<4Pq+X)6yo|tn@8N;;w&=#m;~6`e<}B`xQc9^hjeJZA*U^m3lav9k@t6i2s03L;^ -zR-dp8Jm@*k2p_(J6T?DKzN?V<6^sznsCA}Yx)K$B(ESmhNg}FX+f%-)l=vZzcrB>= -zpAq8w(&P-Us+LtkXw>>(%X6ie?LB5I9+o>2!EZ)iuFeiNf50oW?!cL+-UnAj_0|YO -z)x>d%m-TSs4a2bLkAgRB-D7tx802Ot*5X)OSa8|=DXh9Acr=tMur@@k_@ODfSgDIQ -zYOgll*aZwzG!I~=+8_ktxKPCl_Cs@hSKCW0)3C$QqUPp0(lm8{==aSN3t439wVe0x -z_5np(-Aftw6F&!(^vpV58M69k_w*n5>0~cB;|IGdLuOY_to~iFiUQtZe%^Tg%$>{b -zDcM@Pk7K#IDHlvY;|DJ!;3+lsW5-fshRYldz?nUN%)7l{MaP=Lcpd8eQzY+tuyA{< -z@N77%CfX!k!Jlf_`vDK)e5L9yy?fxTc{t*vA75UQX=0q4!KH~%SQaT2tjHFE6Egz6 -zXI~w)-z)hl5nN*;n(0wbR9fNtP*c-zF`idr@VhbThUhBflR-|VeU7z_*EQM1QT=a| -zz}+9wIZhNi&h$6S8{h7StB2N%JwPqsn2Qce6#Su?k4YB7%ltA$#JiM)ngkQDElYy! -zQM=eia4M$4fAwTy54IECCo1F>8iVJx@U4GSC1w|wj=Xh8)3xNwm{_+)jua%9Z~b

HmV*kCg7QyB -z@-F|J@-OgRad0*&sJHBehN_bwKLOsxLWHdjK@tev`5BTdf6Uy2^-$OC)&U1cLfhq< -z$3Vd8T|kfJDBkK9qNXe6(joc&7Q^D(ek17K0eIDV@^rw}#+RGJUW;0CTf5Fq0hdTD -zH7@^>V>K=k0UvUrJ(5BTC>a-r0!M}(2BKJle=H5LW|y&wMdz2z=3S&Z;>=_XjU<6qJhj%{z9 -z<@K;qhV6NR4f*&W`7d3(tAmRYqX@nw!1;Mm|Jf1S6WG!5!RYxsC2+z~q8FfX0d*Y; -zXsE%5jM@s4BX`a1a6X1Tu&qhdeQ@m>d$zYY*lOag&PxR%r69i#g$&0Rm~KrCBil>! -z2QL#WECpjZ93gKaU_Ye>+5tIuBI>>i*-vg&MF#bcrs@hfv*4iwH_V;1m+m}3-eoT3 -z%Q?ChAkoD*l~eM$;30%N9D5t?1vn6R=#zAIh7YQ%S?kQw{N=RpM%9Jkt_aQlbb=dI -zM~3fxK9flBd-G)Fy(I~)S{joUMG@X7s0}b&mzVyrMCgtyw-j7g!jLmB{>CL5(NK6FtubOy^V -zITGrw>e-^tDP0!?;<*8xJlAtMfYU{MIR>HqdS=VU*C}r+ZAk#g-=tOMzct -z)qWJKC7IG8t)FbO?pB{lJo9NoqD=8&ys}2#^rY`e&3L;XpDxU+fNePbfqnX&L&=(Q -zw(?VLA2aZXu@U%ES*;xT;&xphuPnGEzhK11Dj8TGDIfAV)c%rKed&jrr}QcdzHcbF -zZhGidoi~YgbZ+LS=XVAIxuGeoO -zs^ozC;DgvHe~Rdl63i90awg&EI74#CX8U1j{c+H^LGr7KuO};j-K(%>q*pB#WD#q##^M3t-tu+GXEkG)Q--v-$eu)&{<6!cgj1TC?Xzy=P -z$wX!#<7Zal+p7`iPj`d32G7ry;*hE4M}a<{M;zlBUVju?gxu3}qVN9s+b&K4@XpHQ -z?>~9T2lg(WkUQdcaYE$*6Wh^lpIYU^x>a%Y*5M8+(@~CWF@K!(n>Z=>q<-%x)s;F~)Lm0z#qhHkwI -zFw9qk)~mV0zjM;O#6DH#e?ficJo4S6T94*gLVx2Sc{?}OF^(+Il#BbfcXQ8H%y~AB -z{6Sy!Xg_KZJtdT*cy?HTq4il@D{Hz_qey#{cD1q6^I{|72pF;~^$(H-z(v|k*#?!!4J-BJs(9Q|P -zw1bA=vl^qK?DG09awdG}z|s>ajl`mQ*Cf1dM+1^sK1o_%NRe>GWq_{rqLyF&(0vCA|gn3GSunJoc -z+rL>a@Bp9wuKpSMfhg!J-Xm<$XUl~IycY7?5HH&GR9EXMjN@4Veu`XR?)oO4!Az;> -zXV~oDx&4>ZLkt@}lre(mp_1V8OM3gTPH -zD;ky1EC=T>E>)-b7X?`Q@sYT0XZ+-=R*iR1d0tW=(blRehVwI*f7osPgTJi}Ia$!F -z_vX=rby~#2$v!mz2v7H12Wb}pP>h;69ev8qS;)Co3>>qcJkavH -z8o`18`SbudwELE{;;)9Es}pQ&cM$sRq#I;X6PGq -zPW(Dv63C2&^X*zv@o+vy8y*Qb=@P(`mQe2k~tNZ?`HXW+{jTBHyO684_=&XyhS -zo=P-8N6{cfBbf?hiHX~#dDM57&(*;c9^xyB*F{)auuJS0k^K%4;;Z?5*j8`*TYic{ -zPxHMe-RKWD&Cj&=*>72%k{pQjyhsW*ZNNWDiGjGJD>y5uo=#(R{qeAR3!nR8sf^jW -z05$h%oTdL5iuw0)6UFezB&zawKB{1;7;sXp)eU%14h_3v*JX9GO11!yhF -z&{3EyaVxr};tL0kAVge%O@YXL-}e67<`hSp6vmh-0o<@}Dw~!?Icf}wTg_Xo)U`$b1O*5@aWO^+yc@6__KSVcI0uJx=#%BOj>MJ&?==g@J~Yo&aoaLD7Z6~?Y9!O8I=y-)E)$E$nP -zM29D6wsa!0;}kLc&K4{e1Aw3A)WnVdSpOTHgf;Bf;LiMv4A+Bftc$zNB%&*$cC

@(NZgTTa!j@nimjqfUcs45qU39{px9`sO*fP42&B#`RyW -z+~GA7{}unQPPzEt4mi4Cf@~IW&I<07y9gXH7cnW5Y_y!+w||Kjc0b6t`|?o9koKnB -zaqy0l`#Ua7F6b14Y0-+#U2HQs$0X(L7wMVA7iWHOyosK$*DT?iO(cX!EJPpe&}Teh -z^{~tBZ{%@gUnt@+l*Y2OsdC^*IJ4@CnA*)qmX7+p87P(MHW2d@Q3j&{E<`8Iyn~#! -zn|1x4@;g9I*X3v=Y2awWC_FQuqL1ON9{8^9_ef>zxBV#8D*2xUdA8rN{+_zx5(!Z5 -zUH>GkW;4TMzU|AAgfDqpvliRs76@}YB1=vb&CW`O4naNp(z_#YpJ&#fGI0thiQeEu -zg1vUv>u!W7ePsuHoB>F0Ogsy7Mj9|a1YjO5AapBsE%wb_Vhl+?GC$}SXI5^cofo`R -z{G?kf{z$D^BK{~)7v<6R*%a5KSI29P)soyc6tf9JYzK-kE`4cC38mpTtQ#6lxAn90 -zAFqjy;6Ff~?FeLkU$ne1&v%P_a!l_z*79!)Uj!~e=M$$oGdAGW-;2537p>+0Mx1Pb -z{8+qIv3$fou*AP>ws?M0uGGrniP^yzKL(aUvV)Y*Su(K*ow>M1PTWuob9&lZ7vS=s&F>jq}(;mkGZ$0 -z{lKMEVS&-15x{EXourEsvz}x;wfIKt$OW)x7EGfbb#57Zb~l)nqMb^L5v1s(($*Wl -zgVseC9~IH7Y%z}9Qj1>jXu<7F>SRJHT#6NWy}@W28cVWQLk%E=6Li)s<6s -zhhZ;oq+-es%MK)5-z(LF%h9ln;6B}QB=c+! -zJmFXSoeh)mW!LwNwWK -z{|CfX4A80X`j{~5?~`3#;vGXI?5Rl7%x*FMZ>%(JFo_JP_jV5obE#BPm8Cld75WB+ -z5z3Vy71#Fmw5aB|i2CdGildvS_gas4)cwmYo!)Ccu2*+G^MA0lUI-gCNBf?LK!K$m -z>olSNqhk%DOsa#)o;P{UoM7!aeFl?s_ZURRRLkbg4j15IUR6~LlUcpGym`L2(?{5; -zZaP*+?LPHA=pzD%X$~-KPN)oAJ-@MXzPG??|EQVS8rqLBet_EgoM%>sLh4>({JsbhcJv= -zHGkXHC3r2GiqIwY&*w3~53%U`z -zc2JMico3fZ3#he~M4lEvwR6&Y!Vc5l1a?jxEPR5bh4Y=*6VKZ*n=~3s+>6x9+=_TY -zftv+A8-|%FdPbZiw8Oa#K`TDaNAY%MdM%6i-eA9&KPH5zkPogd!fHKg!|Hc{ALQRB -zpFpaPT`PvbR>PLYJBCBv)Drat2!23ZGn;%$aS!uA+q8bTAK{l7yQ#1JM!3wTk1x9D -z)F}*n_Djx4$eioK9gTj=O3O1|uP*MIJ@#A$Z@7EdIO%;cdEdtN@iVRBi+Jby{Xb)M -z5`S*GOmgi?zk`{C)D509zVA0Y_ZK8)mdgl~__YhhRVvh*>|a=@kG{_p_UFAJAUbe% -zY+tm~O#2MgzuNkWfxc&)|=*fdfLmxN_LuM>vn0 -z32H;+X4qcV$Wm1PtC_{6R$%l|BBiiVIXH>voo%7H%8qSOz&ymxK7h&ZQ27+F@_XzE -z-2|=P0{$D&`A512)OGtlKAlb~id6Z8-O0kAZat&!tgMO3yzA66!h08~rAs%)A%7 -zcOBR^I=+KSe^)j`VZT4MNPylSJ--;c!3CM2^7{PfU|lXuLdaq2lMj5P=!J*wR>mZ3 -zmZg&3&uERbscwdiR)c(mBT#z%>{+i@2BO@f6Qn%un38SdM6V^e=wFgL{T8G$!;oi1 -zbf>ew{K8dvIF1$dWY_!TY5=b$a(d4?>ktoF||L#ziDZl#sM%{#4 -zrX_jrlc%Zf*@+knJ`sp;>6vk^h`F=lm63C2Ctb)o_Nfl*w>a7y&WE*K*$VZZ+8p~l -zUgex;)~%fPlBUEFZF@ef@yeEq_f+H9XU{6X?Z`D#n)hLaSH>%0$*nbIPI0L@jz;UChL?$iag&gm-OU%vjO -z>1|)&QA%I)n=-VU_OYOfSi7zDGC+Q#36yQVj=deFN5;D?OF!ZYSWe)>s{2UK&$Qb8 -zsK1ON)V!J(0ZMpO6<)6W@^MK%HA2QDKYyL$+cEKrv3pdWLGOQS!o3-Ep!1!|rV(A# -zhe^QqodKT&pLp*8szL>UAnS>HukX0TN&cDW`Do)%i`p+l4m)DT*%?>5!09`vsUX*A -z4R*%aE^w`TEa{^Xmvb^|ihhSHYI0n9Xo&~;AmdvDV3fD;1KO>vkos_0)VH9*NuW(- -z=F@wS)z_x6>W40&CepL;d!eFzun!$uun#K>jrZGCtoAQ?KCbA0WFF~MUG6w`2k?H^ -z6rwk$Jz8B<4!Cxx-$54~vJV#6l4`!}oowJb&hVx2W2HrcGD?NH1#kEY+&XgBKD-$` -z1UCr|1^77gY8BUCmm9&VkNA^A(9U%vpVn|yh~{cQWa~u*d?l!41LZM5D>Q1A(10-3 -z-$pAC_ad<=Cj)E955zax^ancNoB?OgNccgJ -z^K7W}*F56@f46z`ZNVJCRcs?dDeWOT&2?3yXf4@g^2X%jwtp=4?u1?_JkSTwPbR4@gV{*R`+SJo5VB6naLMUaj-MifR!W^+V0$%LfU- -zuzjiRwRvtx(MG1$eD$rSi(^kyn4NoQzv{PW{&mf97tcEF)rR43Q#R5$w6CkSTN76& -zr^}{3`PB9JiT!lTtJCgaG$y?QaS)SSYU*Bm68b*-jP$$f&t`JO;_V&&1GZb+?^rgz -zz2F?%(|_WPwTS*mSMhqp_0^!|+ZZ#4`_pepebAcxz8Hovw*)!Sgm*k5=9ej(md|wT -zoNag*!*AcO5*B_rl~1_|dUw)AH&A5*hr8^dLcZd`rP(3x_*-xOTTl-p-kwlHzHYa@ -z%k^!4)UrF{8MA&CIH!4TGOMMBEE=pRyz&HTzsXm3V)E#`hHfnalcY&=%9=k0*ugjX -zk`=Gp(Tg1+=r*_T>tJkQz9PMGlg}pZMxDjbV~=R1Fvl662K<;~s$L$+cB}d8qzj@d -zUa(C?Y=812#6*eYt@EVe#5fNs)aby{7Pr3f5%G7YB-GmCNVepu{^T!8uo7dP?^VH# -zI)z!w*0K)7$Ju9=#KZ(LuR!{ehh|80(8E?x(*1mH75S~q)e;oU~n -zMA&~Ek3xix+hjd%2-n;3?hQ3IAQ -zgteyS)87d;wCZykoSl@+M)uLVJEc6H?wfrL05?8gvZ+Riy6G>Or%8r|$*D!_f}M3H -z#v6Fy9>t#p56(a26n9U7^W%e0A*F(qZcs&JdG+Wle+2^+4>S&pzNoTN*+HnwAvR_L -zdVqxh&7_(y5okpZT!>waEz(BoNgB?b`64s7;EPGb<%?ou!WCETaNmc*=eG0ltxlet -z!2t8X{h%es?|6QH?qQ5IVuTEae-LUGTD~1+w=2`Zm=G#BbaMJ_<3wv-@@?Od()f-4 -zLZ^i^Gw$jxkS5i9Yu+O=JajE+`>ePo+I|!+kG2mO;{aOdW%4XNN{rlnEGnfq{Ev%C -z>Vfnv^dq*7_spb(nc=@;ZpN!Ra*RRNVkM0VnmEUtv}byFSAZ$Ct;0U0g_JQ}-Q6a3@Q5S?LfmY#*UiJ5hcT)~ -zfPk`nSNr>W>+K)Y>zN19xALz?oG>jshbL5xRM_QBV@=jf_B9%eB7sb!gX}}Yood_j -z@=*C3TJaYNnFf@!uHeeOvv&qO`3GFDbfp{Xr5WoR8)p6*b-hw5k{%?M4$Uyu2TT}3 -zuw|bsd*bQTbYlurVq#eTOCj%<0{)i*_P-eQNh>iKgOeT(o(R*oN}~#GKAmHvl$)sS -zDZCW#8LbqK;+JOh^aE6iCN%W->SVHMis2QiGV-u^pzLul^iJSF=YrxkG -zQU6JT-jY!@HDfZ95ThQCWmRYF41Z=je-wjmjR|zb5chhnL;&h&mtX@pNjPH -zWxklEqKi>k=3yzx-jA;xs80!PvBe(qJE8I{uRs^7JDxo6AQqf7*zsa$c;VMyVGoGY -zVPS(Z}2|6Jpk`FEXDqL(l|FCXBLu)K7?czDkmX>;K$^1`4W8 -zS!XM@k3feeG$GV=+Fp67EcWoTU+MEOjT89pb7A5Risr(+a`gTDOfA+Id@GFQb2_4X -z+N)}c+B&_wfsWjif^whcj6fYit6xR{o5l?W@FQ(JKIlb!=dTvty5sGf%%oCn=Ck6v -zG9?!u)EA5{N$ZVIYrTv>&R5!`-Ev}b6 -zH#O`z8}I%H<$dypACIzDYTh+L8t7F1O%$YIp}5jBTG=*IxodbLxsXmSu3cfEfR>p) -zM)b(UE*k6E&+xR}DuY%B-|)_Zc~cm{;$6ezyRb1(2mjfilG@v%8-Dx-mrwS^;h!r) -z)yk2)P65Jda|DjY)=Hb^&zc9O&B)orf~B=HMyRagCm)?7)J6zZ3D -zUF4x8ka)!zsHP@rLk1bn#IIA*-zbPY=@{3OeMPC0a>NGB&1e1{tm2iuH%XH!Gv*tD8desOseQ -z63Un8Y^55OR@vD=$sDmfmR5K?iA!iLctmz+0EoIsd|9-Gx;)BgmRDtjF};)X{1~$# -zJ6!xw5zaYMbfIM^gUe|HvfK_+s*mSEmg=`6q9o^po@g^H-V)KNd%WUcL2vE8##@8h -zr8jLy@R!Ge9D}k)Lg}5kM6J|4uYG;1k-N%cK^ZyJbf$ZZTk{fv75!cA{>OpW*fl)^g5GEQQymXBYMMb0DnJi5 -zOg}PAbGt9CHJrv*Sx42GC`8qdg@$jJ- -zK3X^)S -z5PXOm9b6VYyUP$;#$N#HC;PR9`*jx)R^Y0_ac!ZZ%(^#if8l0M1h3ip*z0WvcNxRP -zh54*xpY`H@(k1@(?ICnGqPe=Z%L#J1`Bi+s3{OA?nY&CDRKunZ{b(;)1G; -zx3{BE&-Q=tt6sI(s0=Rr3Ol~qR#!U2U>>G_?!eNamtEjnj!gTr`wl~54w2YiG(BmZ -z5g?zNUTR~|GA7je+QW-P{6wE*?K06!3HkmO@|4&ZMv!~cSKdR3R~pHw%Q;*ePD*H16vc|fTOw8 -zz^C;SWLb|mo~UMr?Vbov8jYbIZ=X4}JDnKl1M@2bN|R* -z_Rg}dXyP4kqUwT}fu4jxjQAhL<++rnd1N0R_m1d?Y?LC^ql<^)ArG0K#O}i{{*T@! -zkZ&e~V@$Nomz)Iy8`^B&9C)h5J4|O0f&8oX`<<*qrSNasNEe$Tdlx6VvcV$a>vo5| -z|H|&=rjbQQ&obMi3 -z{{&e>fzg!Wh^*; -z`hK)QQkA$$a8b=8g}{Ou?Zy}4T-w*t9%4kq7?4tL1Wz^L( -zc_EHT+?2BsY6hh>K;Sdsfn360o!gT*RB@NL*ORQou+8@~h<1ynNJ2!DsUY5H^xW -z^~OA=4q~W(qBK1xqR)uW^PowsRu|)vgj#RPe-y>m7(XKbm<{~`s}`-_^O%38H)L-? -zq;JktEj(UbZz_OnvJ$#Z4dGfXk2jQNSjxahh-sT^dG|BOoo%-Y -z*>%GHGW@?JAc`(;2SW6cu~qz*lh#>MUjnohmUcrsrmeKooBM(k|!8TxMNv{i59F8asZU+o-2`_1(tMMCk(@Rd`w -z6^vo$f%c4LmF?&wmAyU$!&N_%4{$9$umcY*b)$vl{mLZJ*AGO5Rs0^eH$Nv}Bn}vr -ziMxzMO~RbTEbai5G;CACy||!S@ln%%hIC)APyyIpt@eAnZog$ACa_}&y1PM<`(vm1 -zl;R<0M&+uy4c-4DQ?h06(#n8=D%N7oEUi6V#(($gI$U@OZ`zmsh<&;i%|?Nr(8E6# -z4`VxAxX~V7Mn)XUlNdty4uG)G#@v#1?)?-2<~6ozVI{Dy0=70=a&c_Qr -z2R{A1)E`HhtU=En_0W%HNvN|uie>*Y*bj=oMLgS-O^r_bs*?F$rki%3VxG%EOI^FWY7xp!$r@bIHdF!XE1yhyZ4et0V4(#2x(vvSd4YE01W% -zjyH(_cOCI8WbVAqLYVeDx&MZ^H;xybH@Hl!Ri@imS+J1lN#b`U}MOfV);;GDSB<;i&q? -zszbPPiIY0)z($7eCjP>jm|NG0KW?{L-vZowTygXp9_i6%tOg|6SGW^`*bTH#7Tm-I -z4!yt;T6RIN&A10-*;noXJs({=YK5o!-nqCreNM@aNxQWA(NjmG|0cQET1^&y`zJDj -zJRP#Ay$UOZtWk5bga5HkpG!3JJ+A~U)m|{cT8L`^{VfW)he3+!5g@ko#E^)1j_2!}L&qR^Ox_9=8NHCd--UnJjm#u4tbNU*^k55S=oA`q_C!NWzb#aF*D -zbRDh2X~#Y!_bl*UY{*aNO6kLYSX(kC`C{`STkCdSj|Tg7luz!9JUP#Hx;_f@6Ipy6 -z;hw*K0h^jO{Bnb8l%V+)_tX`m%)h(Oa?X%@GO -zQ;fRt^2u5Bt1N`uxS7eM6ls$3<{QCYtnu1kAswvi(RPFmHhu@viBMkl9Ic046(Jyd&z$Smm& -znwcYRKO4b%P4t^T=62Rhuzo2@Gbk2>?xzG|X6^?%u|?`NADd(MJI)LfCCpvxN5{^lj|CtYe;uox=o*-E|dCegl`VUyzcBF-eliM_3)Ffco -z6OY1ve!SwUNsAK-+QZ;OxGdRa8RhOq^}J=(_a9%64>`9CKHncISV?H^wnT>Scr2%h>NFXVU~CRhQ|fkPE(j -z)v%|YnHoS9=&1bvg%~&Bp-j$!(|on9fGvMq(9x#A(e|DdP3{%VQBdc~H6~^M9}r&A_}@?$UQwIM@N}#9P~DR_OJg%+ -zbdCbR=Scm4^oii4mcA%XHN@vq!)$c<>eD~L?+SiIalR-uEXUqi)8>!j)JQ?+b*E9W -zj!6-xhjl-OOYSLOnRtjcSficai{*$yuy!~#5uV=S^J7I+9bwGtU~`E@qRfzuytC_q -z=P0nU{-lmc9xof|^x{d;WaObQL@q@g<| -zY^%D}(!oa8-x>Z-6x#l`t+$j{0Xg<`gf}gVkrvr>>b`IY3h&o%fX -z(8bB3vP$^Z6HyYGS4`~hQgZOl%*SBxu2)m#sGmvse1<_sx7LA&eF1G4M2g@!f2 -zb(mdGs#F1=*bt$T*3*1VkQVi^1@o@c-0Et<7^<%@28zc%+#@%v;h9sJS+q)0)m|Ps -zHQWwHc+O4~WucKEKy*29_4#IxmdlIUVD -zu2wB?Q`I9*H-+*Eu=E&U+}g80Z52t(f87pK4W`bH$-s&1;aqPcHPl{SWSq*jFP1FM -zy~*Dpf89TY++@(rWlDR5L62)JiS8B6LnIt;@V( -z8;EvOpBZ=iTJzHj^6FD;<_qp%>QD1?csbYhqO{!--@fbvKnufmsMeY}WR4--#8u|Y -z!mWQAol}u>EzVD)LkRfCrT{FBu0Q>zd%R_L?$G`edhGks#Z^h=#ES}v?|XZ8@24@w -zRq2p!dheAje{&Oxg{EsL^rV``<0~4PpPjD+=2SDXYi4(b3wE7$L!`;;mYN(?e;GcB -zRr=NWD{NR`t!9mWxsfH8{5zz*rg};5>ilYW!>2y-9SM8^ei@WmP`7EqU9-+=9_ioi -zDd+R$%u#71*V(<;T$x3K^-^UGD*$-+f~pMG^e=5LTzWKBcy756c9W@R6-e6y -z?iB5f%`-&y8uE*l4P^^y$H3Z<^4TDLDpsTg;c@H`dt4*$2zz`F#Zs+99%NaAIZ4q~ -zet{84DAsHb^lohJO7 -zqK6yLi)=gj|6^qpu)M@`dBLX!T9BZhD|T@~^z$p!s{<6DT;ikxwyGa>Z`t$WZsYI% -zmhLJqh}qqR{}1VN;2YG!mbux>kSPEJ!L!})F4aGn4O{sR -z_@(gqxei2@t$bf_92OYUQ&lX(nl@S{n(%ElTTV*<39v8|uw+A@Kzr)14&UZmwXIWE -z3xed7WX^F(4@9({URu92WCd5VZgxbdS$FoehZ`i|?zp^@R=w}WEC$-rB?RyrpAAwv -zEu_pL#5m7%cXxzJuTaXoT!fpuniR4hVrGxg2a0PFt9UgjrPU4EhJ+Q2Y{3WN;dU=lqM`XaAtwnbKJIS=IEd9~0LoUN(2!UkRsA0p@bqtKzfhV&_hWGBqVwHegE&hdGlUo&AR8@n`APX -zx##S=%i1e4>H-4JK?lHS=mP_=E7b|ZqlmbVzVN6lJnlD~uQdEl@XW#PcEqFL1b#Gd -zubt#LTNl|Rm@*wsWZeVJ?mrR|7Q8AFbfh&zmW}|XI4Rvh1q-SBZFPWclK;)v@Nc&z -z2*xq1Pl^#N;DA;X0vpia*oeoJg{yi;rVO&+dyqN59ORp}05Kjm=2XQmU;8u@fOP&Q -zwvGAt-QmO!Af6WRy2LMKh=M-~X#Ci -zYCo@3ayzL4q$cnYN8!C4#HpxwR3h?awelt$GS;#ERhzF5?S=nnvUhUr5x_;lfDg^Q -z2hmR}Ct~Z|Eb;tX -zP*mu|dG>XV0g4B06`7VzY(7=A1lh#o%M(tG4=wO)7Pa9ahS -z@Wqb*j_ko{fHQdiKi}dxzAH?Zj|^va -zUJM^84WDvjGyS!lhx^C+fNHZ)oJ* -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 -z)vFPCeY+<;d -zmDY>v=CsJlU=slC{tG$muC{V&=*}U7R{VEr$aS(nGyJ0UU#KCMM*L>Q;>yvvR^IkD -zR)lnP;pc=Gw;Zk>6gS+8K8c@58M2n!4!BpbpKZ7-1>gS&mp`%``SDy1O05B0yw={) -zlqXazgS_$z=m74mpO-`N{w}y;&sflTMsu~XX_bXY82GEoR0fBwAFsy5MC9iQMr~`T -z=R%`9kC~DFj%fiI*6bR)szVwV({TE~9)|nM^+kQwRAy`wf-RVFN*?UQg#>B;Y85hC -zV1fE3JXS`0zP>!dxQmGk3eqOF7TYb16#07SDW9MiApqWzMkAe2Y3>Na!RnOneRm3t -zdKa*i;E?a9@RV`=sQof8NbN1dHV^4Ow|h(q3i_8aNfp^tw)*3y9y4)a^1Aog%RauV -z2H^>UG4C1UI~G~Q(7BOcwJuX6xCp!t>6l|MdhAEHXVW2HhX{gygLx)IPX${)o-exG -zLn+>;CIQeti*!jmnjUr}g -zn@~K)L9^K5-xY`lsO*Y&#*maa&}UZo-w*-K=idX&m53GcUxQPgUxjq>C5QEPrTcw# -z=OYC0oe9)fydqy}n5ZAzxhPRFaR`68VSER&y9!{x3oLoo#u#&ZV;+!YRxuB>{N6oB -zK#b!+@BP}L7ebT%N`T5FRl%=5hOvc!Qcki|`N_jk6lR*37v|C-YhcP;NaW{YOL<&+8N( -z{;cb=1W->hnYFBi3GtZJlVagQ{!W4g*LVEPAEG!UK+bf2pWb|&RWRJ76By?`*>;EO^bjMVp2zxAZtJ$Z -z;N}{11X>Q8xB6IO?2;?kyR85*ti=Pc*gy?JbIQ?d228?(3wnhGdJfLK| -z@kl(bnMtv&P3xP{4qZ^)%7wrl{YI0Zf8}d95ZCKY{y7m -zS%uW?z;$w+lkPI-)VnRjux${db8xkLVbY6ms8r3iQK+-ZMvxB^hXo^7V+sqILn=Zw -zZXk)!RBK9=ax`GDe=49vZzXlLy&<>4lMYwhW8G}Lhumh-^5GL1kmb5{n*>N -zOJZYrv@^6)kUO}uOes(u$E1rJ@aYdZ%KUuT$HLH|PVTMKNo1b+f|0=7C5i6PaS|2{ -zsR^Cm-pTIJ4X8ES@E;Zqh!!0)sM|2sH$&t!Hx_IU+{FU8r+Zracj&dSfO&E*c-N)+ -z(igZsjK0OpXSq$o_jg(?psqqc|9d_LG7}TpOiQZQ<8Ry`)amh`r&|77fZhswkJOl{90-mhD*!4gvc|X=Y7v&pj$EKGWW*^ -zJ1^mxH&5>j0cQD{iuH;75y?Nkz?`sv#TaZ*wFH_cO%Uk>p8Udhq9WbwM@f5H0i-X) -zd6GVg8II2nJ$S}_@NOa%*5r1krH|5!K@lg+y&ylRjqPHZ`z;rChM7Bt&QGhxg{7^i -z0bM`Kuaba2CqSX&7Rh>I`3(9b0#t&be7yyOomIVzQlEyuFQdE^WkIcCO>as__Vt(h -zp&+vej2HoxRrmfOCH`5yEmT2lvD^;?JdfOdqkNyNO;R+R}CcND| -zy#y79f22^*e;{OueNZ=pWN_yO$z?gfgyc3s6?g!w@>AhC6Y$AEE!AdGhdJ`{!E|k|~me;BmmhM{x*K;()2p -z0Wkae&QbI!BJ1CT#jEk-$pwHhhY37ydn}S;5VFvxg@qaHGo^|yG8?8!Xwe&fqGacW -zb+IMJ!gj7L>Fi&3tF_Bq6pV+$qv4>>7TC5)OqnJ&GCf`&_{x`US{MS_=O{zs_1pvm -z62#K#_Ig=+pnZ~fi4(*LF5OxddJ||0lSm2qBgkWfmEr~KfY9M)%}els8m2M)g%pwj -zmi%3&%!A^-=|v7U)SMmB#k6k_9qDw@V!Vf>sL7Z}7sCSn+bjKygx9;Dc*Kn$b_Rc5 -ztRI~mZo7iR)xdV}Pet4<%`)HY(rKzPC60EQ~Hk_Df958AEH;7S!mf$wkJ&4J}BR -zfF)HtMq;}Ex=5mbJN;zC?IfGpp@xl6yMzyZ93>8i^j{(pqyViX$+ZWLvN{sa!EOmf -zS;jx#^K7mU8du>&~NClnZma`exT3}kvtNzWR*mG~Tb@Jk(HfmYM+J0d|I;WMUc)|nRV6E%qat7noZDLoeP)Eo2^eMV -zJ4|5z{XkXki^j5vefdF))EZ75`ILXJP2*#nsa -zj%-AP!xy=+_E6+3;AqV8=h)_}OoQ&;OYY*eUy0PjFUbXtTd#KS?pB?HOFP<{b*QAu -zAEf{}4_mAdN}NZc7AwIof1*k&1-|LzDc9vH*LeU{dFY?MeVz7vz2SVzytG8WS}t1n -z@;^%rf^z37*g#nP`Rk&4Z>0226KnIYwCmV$W(91rrvjdT0i6SNI>Mt7@T+<##E5na%?MROb#}!V{t6 -zm2VAt7AOIOn2-MutnnD#oHr6KRJJi0#MQ8!RlOw(`Lg-9Nf$?m{e+L!`!5HJVIBSh -zd($Vwzkmc>x)Wuv(KnFb@Z$DVF&FM!Bc&v-sr-F{-3&Ro?5z3LvPV(5`P1s8x?s^% -z?xCurX7h=5^O8gxUV;!KDI@OqOR?bS2(zb$CGTwJWp&SlVBRw$?Se5Apf%BKM`N69jDp-veD-5xod;y#WmIB!Dk3e>@LTU>UxOP#hc&9!BDM -zYb`JO4aOCu9?pym-w$J2&bZj7>fw-9hYyQeHC6X|02jypFUfL+wTx8822Chzo-TEr -z3(&0moF29)w_8!ER}p}1s}Sg^D%bnUSO(wnnvtEFl2vesTev)YB22{7uUd{Q0&y8f -zSSzI>2z)HjU#8XCT|J)l%c6K#;kM)LC8zyTC(|r&#hUu_Cpc@sNVG0v>eQ_t92cad -zNP;UFNS+GGa7gdu-3q%Sn7oPm{035XN1$FcqnDi=EZmF^o -z+H4qMx2_S}0)Jc6D*2MfRf=K*4qkc^X40}F$c4<1#!=eH(kc3F1L=CB414K%nb4bT -zYp@Jg@`5q5Yuk5u-{<*$+Jx^od*;oiNx^zh4G-|r@>)Ig{yeN*$x(X*N*3Xrto -zLtx)D?U%F{!LZolpA(1kt3I06jL8z~HVmCH$j6g+6@l5!5B31}!B0Tq!_fUH(}_1B -z%l?$*YtCNa!X$*n;-o5dQ5r@<_W0|WM#7me8!{GfQRf6N$9JV;kxt3d3kWna*vaA8{t2`h;Ze9M2B+O_ -zy${M$iTFBr7)jFm_Y^xOXN!;9HXo2DfiCd9=+&f9mkj -zyHvOtiJx&myau^%!|~}rdNi4PBYomfeceitqLnIYU-$eWJMl!l>`JzEaNlN`MM+|J -zh-Sua>Qu}<&%Th`C}UpcHg+s;!@w)y9pkqS?~6^L2 -z=oMUOm$Jf_|7%sFnW~p+t~Tln3{3I_x9F7E>XiZi2=X*Uo8`4ze?M<;U*qqdnv!ZB -zGKvP7nqbTjffX~B%t%ySz5q&pJz -znk2Jrth{}*0jzdxI#vh$m`1wxdrna&eey3)t71-mbYSr1SxxqXLOP1OGoWHhS#9gi -z@&n}A*W8>VkO;^t@#;2FluOVm>7U^agS)eX3OlhguQf^SK6-d7Rs-W+40Zc|qZ4Jl -zQEvS;n3Lf3|H0ioyxTVF46efl;2m5nnAip)7riypF=KAqr?5XrsF|UL-?vJJ0G=kG -z5mVW%Fbh@W7sS-nG{egqBRfqI~sPYe~>W9Hf#t57IUf0g`} -zwPN-_#ZLuAEBjEL>$6?*-=ZFmVds-JZn8`qJb4M@T%We;%GLulW~uqIAN;MwxXiEi -zs-JzFO3k>3DncffhR{ZqeWJ!pC(F&PpcYOGHnD;J9FuT!D_P6U>z}IP -zD{BRwwLYEfF}Jd`bc(#CqZ#|PoMqclXtMl4ReY>fIencGhjZc0anpO&HS~49oX!ik -z#+C0|_tDp-aXRzg9*?z -zY=ea+dmdCJ$2O;Zf5>Mc!c_TpXrh_fHkG(LQP%#TMbvH?bOY=T|5=1dGJ -z`3W?%z{@b@Rn!lBUa0f~weaHOEByc%FCOh`DYMT9dhw_k>Qr|PfYfO-8xKR;>UTnW5g#9Y-AVjGWk -z+1?1fZ|-c|0RONr(T&r00I!ZcTs%i&9GN@UE*l6^TG-)&DIENI7OkS+{&F(C2G>^o -zJQHzA>CZTkaTR<6{P65<_wXNaXi=q4?@_~_hZq2M5Ws+Kya)cjY3uwi%yh+C@DDJK -zrV@O6S+^3pbeAN629Gg*w~$B3o`jO`lCn$CpgF8tcFx23uI<5~g+g4@wmDh&8-lUo -zO$&JDJP_0Y<##(9fxL>h@0kBa^lK?>jUtAZ+y5rDvr~b?=#bR^V$@A2fDv}v2)hzY -z@X|%GpA1zAay?NG-o)AZ=8)rX@OTia8@iAYygfWVj18~bTaJ9$ixVK-ZrY|@c(YBp -z4-5rCMy}5cF^93EF|iKetT~ajP0Yvm;&vj|LU%s>ct@{=?wN)_og0}3CCF< -zW3HK*>&0O##M_pqlZa*=55I=vkA>^8;y;h5)3>|mgUY7-BKsUMDqHGK*tE9{5`SBY -z33U{MivB;Fzl_HAOkbycnMr3%xv^&!?2_nW%fAu)bRmv6xP&V>s@DJjBb?qk>vWkH|E19-wLv6j^iB2*hpfZKk8T?22}2K=3=a2NNhRr;XX -z6EK9`4!n&5nqX#IPXjufB`IHo!!6mx6iIUbI#9_>jx+p$I4-wsq&W8 -z?7s63j$fkG=TiM(INl{ -zRQ0-2SmQb?tMTXc%(I~v_-AX&iT?ao?}bGbdidyzA3s9~>&sps-RqBToCnjE{CbfL -za30TG-wF?;;{>GDoTk;`C6z`va9kmjX$U~aMed0v>tez(h@DxJW40WJeu%;)V~T1e=Q -zzBI_lN+eT~9P%%n78kyIC5PjYE%U?XYpzbEj}?KZgEv_KGlw-cd}Xm)Bz6WvEXyb3 -zy3+)M&T3cU`9V7;PJPVkkZGxx%qu~hx&=uy+SW2|vu!OGOqNZNA5Qf*?+7LXbKTZ8 -z&6<Q+TAz62a)#IFcxFuMzC;c#}*{fu;e8l}0=EqHzHPVb+ -z`1kbQCn~*`D!mTPc4qv{tVMDuwN%@WRh*(gs^KQd_mRq8W#C_MU0#n+CM+x4@I?+M<4d -z)9cn?H+%P(1|qNhMp%XaJlpdc#NC*LA&6xv|ThA=Y-420P0@KVL6~MqF6n(J=?k -zUh*Jgi{qxk=KBJlY9QeE@$=ytCxpC(9YJ$yZ=Lc6($^3kwL-f87vaZ;acwKy)+X3Z -z?OkaMSTN?WR{6d4m;!FpJ2kE+c}^xzqHM}N;$Y3P@+4``fitg5|32b)^qcN0K@V#MV{Gr4e#?kV?~=G -zKpdpPm&@8!2`831VY;Q3KZ3s{ge>2xq$A0A57*j%eR7TH`4#jh?Q&209rdETw3G6= -zqfWmwn5Wt@lsd_W7#Rtrt>W*Gv7%oilokXANl@S6^I}7r2?1)$AJdx4M5;Fvyp+O4 -zG2n`sAE?< -zke{g*r%V~9SdJ32L$mNeUQpW2zFVCuD(ow&V_Ic^zha_9$4Uj~k^8g$ow4nrv|k+JBVweEiZ8D}Zfu_z(@4n$ztCk_gGkLW9S`XXa}oy1^vTV4 -zoPkix``1$FN^xw=Ym_n47>8#8HY)VZLzD;5F@SSR!bZ5J6<^GcOdUTDI`zG*v|8s1l -zO{^a4l$G8liH0bPd+xJr+AsmsieaCZ6n)sJ`Ebl{PirI8&QU$}y%@#2`JEL#*{GrH -z=`$EmI2lw7e?)Im1pV2#rfTf0_Ko0 -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 -z!LNOL6 -z@3?X;(_Vo5_T!;wyjnvcx1vncy#}rQ#hMu9 -zdmrO%LCxpS1m+n9E~dv&qGToL^+sB54=HO@O9PI!dLod&87?>aRDOWcV)+%@g`)kxhv)HD!22cHwZ7=YiBj8lPV`t)xoT6! -zaNsh_fj!@$RN>^3S;~|dax7`+VH%)Ybv^rrrN1l1ey0EP#kUbg^jLjzB24-MQC1B_ -zNPf$v93~MhsK^kxCZYnZLCY?O8C7*v?Gd;R$8DFyyKmOo^zgWt8(hmHw9yZ++fBss -zMhM)}MM>R1&3U>fmK9F7X8)k&e}+IMHJ?EDv|(RKA#k45oBna6h7R#>i#-q$K%n3 -zYPs=&LQ}D}%>J6d|HadHfF;$waaUHpWo2e%xoB$UAhR5)P?;+Sm6=;gQ!`Cca| -zXhMVb>wQdAVV8C7$5&bQn%+Qtb!-q+$B@I*X=|1^3ViWjQ0TU1@6qv(*FS%yKt7MR -zr+lv=CxE*58{Mp5r62W_pJ!H&?=p#6yRAyf1oSe8TlLbpvBpOePKC;w;I%uVWZTj< -zUuj0g2~-ZzZLY1@&kz#@4%*|$^V1iO+;ZG%og!OyNcS1W?ghK-5FO}yIo_KFhUtds -z2J`cZ(R~AigFpNxf7+*d#DA==`@$RA$JHFb-m=|CQT-G&)9}!5rp_$d#Zbmsbzk3w -zuF`^JWUzGQq8y8>9bn{&z6MIr6$A$H>j)HS5b9)D`xn7Df8sI8;yl4QyjhnPii -zAfoK*fk^0HOmmDVawv_RJN}5r8F|HTt~)~9)}T4_`6cDKKzAne<;W$BVXgU(T-IlNgsS|ST}Z(!?Gdh|By|RcjUtGt0(Ke*Tcem`q-WR{|1ThB -z*jF(B1LzF2ck_g(ii_P -zT%3`5peE=OkO`AAf$f?0D&$zDWx+?kcw*-~+K3}O`a4THP>J&o4RQwu-@mMw -z$SUgp`#6Xt%6GzbckD1pKcZ7y;P5fwWAz@BhCB7jyYv+IU)vNCWP5TGV=G)?|_6uGb?Jm%r1m6n}uoPaAnf?3($|uaw<+SvgJ+ -z__DJY%XqK1c|%pdMKN9V7;tP&^%8a~*Yi8X1iLHZ?2OvW@{8D=5vON-`;kkea~vI| -zbwr$z#M=Mjw4WOFd>2YQjcq-Dgvg!|%%e;5zVFWMY@r^(0g})|{h^`nMgGHu5^$>6 -zsjULs*u;2m97lUEa$Pz;=K;ACdD@h94o&^ajbEQ@U5P#pC|-1J=dW;6qCqdhaiSq9 -zY=#eIDse?pvqN-yW?{s{meu1Zp|zShb+RvPMx0M;-D12Y9#Octmr@w>629xDV6xY+ -z-|>4!s}nG>Wv*`Aw3k?r)%#%l@(g|(S^K1|l(izLju>5GKReqZx@Jl567(CsY8W!y -zvKIc(`QPCPnCpW20WA!1uNJN5*i-e>7A@+nTfB?#=H~*7e5`A0gZ*o3QHna0pw68N -zsuykdMP7tBs#q?4x+=qeXIC;_`ZDJdEJurBfYSnKa<4vWT`#z*Eg?wjy$B}WUscff -zS0xli+6xeGhps-*=6`t>PrY2Fp0ulc>t4qAp*6WXZca}_ytLQEC7iT>XMJ;YfL-FL -zIwD}Lk!xy$a8tC^E{gP##Fmrakx!`4tX2yiCNRPbYnt$ZHfrV~jTpGqb&Og!^cmcW -zW^e~6cqwpxF7R6QGnknjmelN|%k|s|+qP8wczma7I=fZ9z^xf{i&;l+>wb5!A*=s@ -zfqA#(0LpZ)dSydeyQ1-@E!W4{uC%39pR=>Zq^$le_AnoyYEaH>y$qm_vC%rBs!>H$a3*^#Xo5Vb}nmNY1%0+UCH$;*xC{^n^+B{2_UNO -zayG|1Xp*&(d&OVR*!p~}7AL3^&-UbSXQgM`b!MxaKgjlt&Vxrn=pmJwY -z`3{8=OVP#E&7A$cclm?kqykxY99hxm(@bOE7CB#S#NH?eao@<8!LYE=m!F)mujPS -zCKe)eY$y=RA3zm|dXp_E@!|fD0Qa9tCJ9-rChhjE_UB?8orVkw6#9hICZ1uke?N7l -zv1RoP{;Ds%8N8gZo`nB2o5wng*?j!z19^xwKu^fhn7@3v%Ft*7MQ4{d4mTg#7e -zh6RPcxz5MPdeiq+1>>~lqSJu=33sMeF}vlZNa=5llxXS6xYj&6l|?TCTXabBcX1-8MN6u%-uylar$LNowah!b?(|Ncl>KZ0BS1zKAAYPs~0UK|| -zTfT!bTt4AoZ^5%`i=87RP$b(LAMITnJX#CxoeKV5QAq=2;tDqI -zmmijc8wBn7gE+;O1-g~Y1bYmDhoU>>Z`==D%4CENSCzBIQrixN#o08xNc@U=D{DTF -z5SQ0iRE~j|7i+e2ywu>2J+v^w1c1A8e!9>`1<7r=RUxe`+!TDd` -zlnY~lufA_7fG3vyBZ8w^;IIyxb0YaTy+M$3WmO3LnrGs)vfCAk9`Dg7%*)SMv!^Z?FGCCnk{Ahasxk -zTBi!9q6VuxP3+?FYxVlRf7NycUN^FY8rX4+Yf9a*C(nLko|pDoW_`~iO -z3!oS2PlCtPtE#@5Jd^1?G^Sf{s1oqbL!Yr*k<-#&bAw!k$XZst@wsx9+t4e|JE7wO -zIL4e}ACR*il{b}@LcjBTir4m`$%>;riAM~5zLY)+z-ClAlv<+K&z=zOvs-~{O^Bv} -zEh}&fltGQ -z#>y-equM-kZicc0+Sczy#X1aQ$t^v$F6g5P!?u*Wgm=L-zE{7?1q~|;=KM$I9%f>2 -zRu3|8{8w;W!VccKnxwpJ3q{Yg7I6{M3y(6?n7l+r(vo}N_)G+P8^*mAO}6(rgoIb; -z1vbR>OFeR?we;R6Bz1tu2@o3J2DOzN#|fq${r)_8zI|GrRo&Wuez?I~a4+qc;E7r& -z-UMu9<~N5eG~;8x#tZAwDTX(i8Q*fA7ZP_9;vo -zCoIOd+Ck<@1T3VD!-NFC2{>R=)rJ{+==~5JefZf~E_V>2XAQhW-bHPzQD@6`%}{nz -zLpJEo6V$n35{sw0rf@7OU{kKbp0;TRRi=O;gLnCP473!3@C?&DyKDA8kbqB#nv+G% -zyM-h5KvVL@*mL2CSaaM!DZuv}9uFksup*LRGVTEbYK$tXUtgX2zj{hl21vfWhTrNYZ<9h?R)!k^Y|L`OdVjAu7;P%Q# -z6&2Y|M`T_kCZxZI-#UzfKb&bgDy?WhoYniu&d*rXJZPq|DF3}cqIz3!h=+dQzr>qc -z1M9$TbNr1{bKxXU?*a!$WAU~ZwJF6+M)HZVYv-#@A<6zoH~T6Oj9~!SD}w%zq(8Qw -zELF6qOdt!R!%x1`>s~F>OQ=qJX>Ow2wnUTf>HVj%t6%|qJRTg{-Eh!B6;>{Pcb`u^ -zPrJNvFz6d(^3Zv4X{+SFz5f5!ozZiqoYiw0d8HYS3|O$EXcI%05Bv#v%KczprW^S2 -zKyS0ZCcZ6@p>#%|6bQB%sM8$`sTU(wm~qUX@_^42d++qj(T*+?RfJ(tdu!y`nlwzp -z`g0!AQs%QK=5^`-H~(L1T8;U5PX}Q}dkOY@tg}B=)Xfro8bbDuotp;5&ma?{bAxlM -zq$KS23PbLMj1=0KCiMTwZ0FjKkLWTRO*KBWVD43e2<;W@1^4$q$ZFZAC?})uFNwMU -z#bUV45fM$(BAfL?zP)Q<#Zqs#Jf?5X37~hU+*j=64|Q~x*GC5 -zJ90i^8otUzQla!*iz)bcjdcWK0zjIJ=<5*PB%IX-^zRq#N$nYP9aj&tipX*4ZW_HY -zKAXL^Sp`RdhV{^QnvM=in~ow3TH>P;yZ4+FQJ34IXCBCyDZVp|lZ8Y|##tF8B4pV5 -zg?p_8Ls3Vv^vzI~vMm;#@Vy%e0{2Fjj*QuCzH^V8oAiqlp)7=F^=cS!cG{#tB4X@T -zfDwooVstV&@6JD?F&}u1?-m#rIDQpLmFV+FKZ5Ir0r=AcwR(xCNKxn&$#J<{ -zrRbJiJk8)kyKkhF-PDTC@_2W_zrpiOB`X^jbYt`{(miYkYjHUNP?9Z=86X3)glL6gpe6%75(>iYsj&s>A4wgPq}83otcmL*p#>>h(G!q?-2< -zBZ_YUea@N!PC1Oay)ho$4AN{HD8 -z=6LZCptN@Oo}pyiZ@-6Yx)4~u@%uZ<+zHghQRJiGQ18wd=FbnJ{kB?_=GO -z4x#mrz2tNidE5t3e`-~NDS4@r8R+4E!|1najTw7D8|~09(P8u=7Nf`lriD2$h0eB9(3Gn&$>~UTjF~9>zu7kC+bR=;gddR1=fK%tR1HC -zZM=$qp$BOH!FuT%LgJ6ge_9exA$Kg}X9&mXU=wmR!X)9rBd577fZMYO*Sg!-0nJ=H -z*LS(eAuirKD2L{lgur7=!P}=?`z|+1nBLVvU#$ICqspfdx4K$7ahIsfJnr%4cTz*~ -zfLP6!j6~;^0N(`mbnk9)z8lwR2eT&qPu$I7dP^fTN}7DMJNn&=dIIOgK8oB}66^Fd -z;y`g-<0UabY!yhN*NNeGdC5atkxxqc8%0}fJ -zLVD1F_Af~1!ju=w8x&$sE~(u43Zd~otUM$a?flxo8gr}}UvQj?uwhI2uGB3lb+xa< -zWyg%>^aGlqVJ|_Ydc!AE4i^MhxZPq!w7%HM@KKsFvNay -z6XFF{WmA*0r)RudRYEVl%9JH^W)p+@wX4f>SH=}Pt;KdCHq&>GF)B{oU)Kz-z**MGm -zE5r`5yM+7&b4(#fmlgDbpjbk^4W>y5^8(X1pMkgCu01~9R^?%s+fH7- -zalUdCJ?y~arWJ!ZCYo1!$QL0YFTT`1(np>wL3rSj+phcBgWw(Y -z3P0jL7m0(~Ejje;gC}{_fT6L99t8jjQd66{vZ#<7p__hqQsLXueMCjy@&{t2i9d?& -z9l9pGX}(~v8+*rlxNaBojEH##x;Bcc7{2QP6;?CKwRsI6__|a*-9_a6f8TrjJ2Mng -zu3c@I9N6OfV$sIa6(v92IBqfHw9j4+PtA~28>@rS~7t3DZY_y^I9`3r|n*9?ahW9hytIgf9 -z>uoE06=$O@oqyE5Z?s_vrDMdtx1E^ZK;lT3${a_((@8iG{ou<+Z_Z8g@7#$a-kEfX -z@8I<9)#DFO>1XtZm>K0C$7%wjA7DkCfv-!&TDSJ*&Y4Ip)x|TX;`iYW4wGshbw1>Z -zHMPNc%@+syQ;%PT*FGYzYI=vRy7j2I^Wcpu5=Mz{k|j7Q4Vk;mrT^KdfAwO_wcT6x -z?bSZF<5zs<zAdU?Ar^R|H1~s -zK=X~c5oQDd^a)BOn -zjF`z|oVST-aIjrSI}1nM7_;^{-tp;V%ZgsN -zg}U$TqDA8+7dNu?(2GatFM#v$7UgS}*wg{Cd}r}E@4~eH&wPGE3G}xP5ll}D2*M10 -zu?~}`Q8ss-MSL3XZs@jv9wI|-;A^wzg7zEvl!d**zN9{Us63j|V_Z|1OEM@y*DLcM -z8gF%eo?M;-9;^}whFUtuHyX*@pM -z&wt|Zcma%CXW@E8P@aiS<`O!h3GW8$VwNNo+xtc%z>$j47s>-T&?PFGjUqg13C97j -z^S^V!>>eunIWwxwN%SyV+}cIX;R7mkQ!<%v?rDfF48-fKgrMVUOwL=@DaqV6i+PKB4%1jP&K{vV{suJaC?7^KoeM*RSh-*S|q%8bg$CEXR)O~l&w5t;X| -zM(T0iru9F3bXi!w%D3YHLN%j)>q*Al#PRZBiCnTXt~x6?*LN=uWIqZP(4%;pr`h9d -zN3f#T=ky}no}w@@o&G2_utndVw9E0D)u3>5?0fjh4}ufu)HLKiSZb){{m*v$M${6P -zGuwm4eGKR|0ydX>4g*V`MVMf8eh|eB>_fC6Mub~ViMPR!6VU%CTkN6kn_&B#As*(z -zJevx;1l|jCd`%w@e$aEv3vW68ih4fU0S6cLlDOzEB=~I%zTY<2Rs<^`E+hb`bBLGV3g9sJgkSC)wqq3Vm&P9)-`|{ -z6QY{Oe9{)-^c2GpkXpCzU>_WmTdQw;NpS(%1#;S;>3m$tc#>1U2hStB<|z(3DJJ+> -z5lK{D71LUw>Px!5P5-sLkWXVxwf)V-H4RN#3j6=w9a%CUV)}sMNxIFMzCbR0YcaG -z-@z%mgU2`H9Wq#V8UN(Mol)~fFPNPNUbwVUwmB>$CvUiPiSC}{XJp0aEI!R@c6aQ; -zgq*~i+@c{42UZ@cOC&4(hyT6JTYjH6i|=3`b4?HUf%X3T(}K9`9;!r7Fn(_Exbu^= -z-(j|A2hI8`%>I5c81kAU*8|xl`33Z!XQyX)UY|r28?Q@C^d#iFndUsVX@c;+JGtb8 -za(XwvW{6|xohPz?oSWB^^*qv)dTE>eFtDziiVPb{%Xs7iM^Z?x(C~11skva=?g5hheL -z2uo>5Kf`3!y)Q6vv=)~3;W7RNOR~&dB4sdjjSk_|<$6mB?#;HSbazM`#r|bk$AqUQ$Cyce75>dgx@Q=bAX;-F2%W;`pK2(*WgYLLRZi7Tzl5* -zvlky|l82nD%Rjjy{2H*ogIcPlHwY=hZx@8oU&`;Ki-3cxJ~mAHh*{*oAr#S;xc7`a -zEpnx9@dNrWsjH|t@Yjj+6uDYua)Ngx?29=zXBzXtovr;D6c>ZU%ln?xB!13q{Mr}Y -z{Zj|j#g?~G*bBK7IFj-L9J2^6c;I|BGLbeNgCSY+f>$?m(?$CpVrldTy@I<@R|**X -zH_-&(WOpwpS62S_s{CZ{m&oDQVY=CV5^VNvSCT^gSitSk?Ezs5>slRby*0kVy31zO -zuP4qEiD?u{Nthm?ZU+uh8Bpev{3tg2pbD*Jla6pCp7M10j;FCDbXyfl)A!F8H8U7^ -zh+9@O`p8&M|3jl#rleO_+$p1(-QQ54RUv>zQEjktc36$5K!%tbn9nt~>^w|Up(bRP -zQO@7c!6Xs>>LZ80)@!~PS^M5ME4&F;df$*&(qJ7Yhu0$QUf`O6{0dRd0El@@(H(p@ -zTK#ze!i7`Qe+opmFn~Idm_?y<23Pgy`VUYGL$>H+e^~jlfhwEh -zJI?pZZza~e# -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 -z-8{fBBYS_F?BDC^ene4nx=JK?9xbhTr -z5O?ddbRE95ZeoL+vWPk;a@z#Il6qHgcLi7Z2mW)#H`3}eh5rIk%m!Z9t*tKsi)=GJqT~E&mTUNhu70Ba*6Y0xRxDmK -zJQx-3LjQw?2_qsa9f#ru33p2~d}zEiMW -zXp=7(n%pe32CQhvG3Bd3XWcySLLznt>N2E@Q{E6g^=H+cwG~NPjA9sZPVi2BChfC| -z-W;umuEkT=(Q@pNXke)G6hBO_%S71 -zSMH|RfL}VqQgJXtlZrb0$lNI>6o`Sj7+`jN?Krpvr8CSjV1*u(j+HI}{>_B%QQnL^ -z;KOrG@)<0ih?(J*HzHQA -z2zv83X)_iX@&;{Q1{hv=e(ym9I3vy5Jj(;U!Y@pL -z#gLmR@RmcAbK@-Ne!2<$66wZY)Da^oE?^FSI+~EDxGsZ4zz!{@0qQ3lQ_*)I+z8v}%;nuM+qT6m$FqWgR>XiTXo@y2k{``G? -zCy=-R8uLlNVW!wkc-BFB>gn00-qcT9BU94BU{(YRqPaZX&I26!p=sa^o*I;pi|H7I -z9sMZ$PKU2buy9#?_4C89avD{GQ4|k2^Ca6TZ@@A|WV_M*4^^ -zDFr^c>J)_Cg?NL!wUJ7X04f=VKpFDG3?znQrVl%K1an6Cc2Fcck#@lCuNv>X72ouj -zNVWmoj6a*sM!cg^SU1BBBMHgWR`L+a(I`(@q~9;SFC6?erOk2-m*d&Yin7DyqqhmO -zKSuWq5bk8T=7Fb%z?*-4WQ`6GQbjpIz}c1gVyi< -zjSx_&R43x!AV6?2dctuWzM*~^xdCUK3s-9-;;5pKTMOdhC;guB^0b!bbLD%}X{$x7 -zBVJrF3rxbJF~lFt4_Mdg&B*s3qb=((7Wf-K!3$a83~P=`N6xiwIZ_PrbqmZ^%l0Q9OyppSzn?;KI)e&PO@{rI?W!&Q9DV>FZN^7JP>gUqjmL -ze)#KRTnw%VUN%FN;HtJ&rci~xaFQqrVkD<*f`3zmWL)N4Y_#fv%PKqdmG-@HuwT%V -z?8IH+ct?hu#K0DClEka{qAGBMGkkrl)VL(h$!O0=-9|lCbbV-w@em$O-H9uf~R+Cwc-5d5UJUNaY>!AYlDYA@g -z_d7M*Vt3A5&UZdDQE!5w^J4tV)Q)?&u3`9_y-3{nwFJ4;*t%l98`*TXKk&)pv}8?2 -z!gt`bksKjI`OfsSRU8e$kJzA072R3Zv*5|9- -zz5)1&FR`@c{SauUWcWWVE$P6SZbV$%fZ^$NU>9~b>Ix7u;vkD9LenXzi3ha8%(ZWx -z*oVIKf#NK2j@Tc>ekI(6k#H@+zUih@ozjdg9GggoQjzQr*d(H{HeRhP%uaCZGx1Qk -zQA^Vek!S0?Q(e;@FAt_r_?5P43rX)T$vm8#R76FcZ@?87Gsn~kbctnzK>mF=XbonOL! -zcpg9^$C;c#(hcygKWI3?h$r0@-0l(OYyqXoITfpwEPXhM2}Cgz!*kgje*8&T7NfsW -zpZJMHL}Etj^>Mi}jZ<-vMYU^1{=n5!?6;mWzhTkPg(X3pZNgKK4Z -z%6N`M_(8!@^wX)6tASdsh$%W0gCzpl?VWelKLA6N+Mn><%c{x}K&~h|ofy6)`h@U7 -zDf;U4G@vN{DT{ACQ`46@mXS}=0l#R)!A+fdJjYV>x8oDwfa;%cqhFrz`+Ta+P12}i|PeoBVmLW^!xLJ?gbqbz05VawwehB>%>X$WROr2cM+g; -zv?(;yejMWRG7n{)DEfzX8EwZ=c!d>EZQ2#4lSaFfe4 -zW~NvQ{iy#J1Rb4#${GC~KpI1>o8e+4ONfI}ZeVncB{2nri)z66p$|G-e#}SA#&nY< -zqM???GEIbJQpzW+Xh~TcY1HpE6MpknznCum{@Yebw4O}fFH>;-#Y10n8qgy&>ZFRb -z6T~2#!4#nFjJCU9L{?-Xw|BBn)cYL-;CrF=GdjxCLU-PMD=uvwlGh`&Yp;7#uEtG@ -zJJ-6t8@+p){}7#Xk$_cb0r0bdEPx6vVaZgnRF?NQ9}f3lwpug5YfVM7tjAnInooK);h5Utix5>GArI# -zHPjH=of~7Et0tuzU|gm&7oj_QAe-rylnSxXzP?JHZ_1pG6U9y+MbkE<`Pu#zeT@IO&9MqAzU -zMX?`6VkMb0C{8SHTQ;G=Pxq)QZ^oIzO(9EmH!=I84~R{(=v{(C!WTi&P8wwLDuo6I -z0>L1VKvcy311$loSS0nyiq$&!IbqdQ)&8>-u-*gP~0$k+= -z0sDUF@9uTODNhUFh#wZ<1ny!B(A|EHmeeu(r5eCOmH%=;Vr<+R$g@49{Z;jS>s}pO6 -zHzUuC#R<*JenJOJ?UC(_k!+5Jc>OrKdhk(sa$GC2T&|As59dPUj{LRa2?N%RtNdsc -zzN%n*OKoyzYmWvnCk#dKWC$&*MDW{`x-4F)Zn3T@q&^|q;;Y0aoMZTfmc%xuSVjJaoUv -zDe95E%EvrgR~YXu<(908noSzO4pGIqmXv*z-C)WU!8EJ!2BB2=t$1>Mep2i`z**zV -z{eh{3RWxgR_u6_U-p7a_KoQN)bUpg(i#Dy5Sm{{lj&Y#Yt8<_*z8X&h2Iqb -zL*2Y()#;&Y#MfTU@Rd~~V)!=f=CA>mQ~XZX@S_6LNGmV?{xI0$;PU|&wH~PQPQ)8{ -zWhUT;O?@m@5XvyHUa}2L_Fhb -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 -zj37Z}dzQN45tt@cZ%8oJJPiXBQ4UrYz~Yx -zL6mow$pvpknol>vZk%~eHCu=~8uGbiR|Nbk<{=+*!F&4OIM9>TlbD2*u>{Y+80o2I -z+Np&34+N+0qrGD08Gpjv3Dcl*O<*5!V9^1Ig1m;QOcrT(ZHhBRh&22#Q^uni)sbmj -zE)oB~6apWn?d2Qure(?ZTh?fGYVsk33;8R>0Sq)hGgIs#(w4GJQNS+rcXd^p`s+8w -z%9;znL+-2+?OdPga^{&h!!Xsad-6qq18ZZPUy*vM1Kgr4!-^SRz=0HWqr5gmt6en~ -zOB5L+4ad=bq=jN6F^yaA(>r)vOr9~Z<}jfDa_VyRQu_Vjy5^TPCx7pW^9ch@V0XiN -zaPL!K$?y^gW8#p@i4@Dr9Fgz=L#Sl=sVI4}gY1%CT6d_!v{tjmQ~?B`TP9<|RQn%^ -zMuqd0?btTK9zj@SNf>CcThO3JwBpC_;}0#HG*OU>pk1Fdrg?o_s?AatIE<6knf)NP -zdSl{E6Z}p%uc@lnAXc<;Q+v==OaxYw!C=`b7%h`YPEr|^ -zQJG5Deto6#(J?=@N;-gL -zlY6)X(RV4VMy{(2K@cBnADJ+AP`OQlE&x5-gSurx0KcX6=QCyOM^b%kwL#(|6Syz# -zUlFvP{AwBz#U)Xy7t?g&q9)N|Rm%aTa~NpbAcA!whXL_NP0ZJCD!;Z_)=iFwvO6d? -zg}MuKm>oJK!T0u;a!F!sEy|4!NpJMs%4LKa2v+8oO2t% -zgI^dKa!NYu3@1f6AjMopn$lC~KLgOFtRorYXkxaE^iD>0OoJ^`ZdNB!vhlna;vLai@q1Z -z54V|+l4-?2L1Vk-*?KuP?lXkK=P-)_v$0snO!hX0s?Q5G=vF|OF+*iB`lVTSUA -zjODmT0)q>Fj64F)6aeqacPrt(s#KF&ZZF#^pl4sFcu>{S9-yK -zNdwqj55ZM+T2!Jyn^;_bvXfQV7?h?M$I6F4KP;)IjGmw0M*mm -ziTTTAj1fSgPF)VSq8$gbHO;f2z8)Fdnj15-O(EM%2z@l~&lG>z~dQfeWjaxuD -z0Q58;9`WIQGDg_81j&u#01L=a0{YNseV9)4$j^nbz%x{ab^{Y_#arfEtsc%ylJ`kB -zehmlhDF%Z5z=@O?wqTb$Tw3fhogN)w&HKKBJhg2Fb_ykc4-%XcY&E84m}G8munqRs -zB%?=f7=5&Qxwg|g!6(k%3~>`*Sn)ZsrPOh1vu69BGGHa_7C_C9>GmWspvN9BefL+p -zVG@q&dv<7d?^kP -zF6;;!AfE!i--VUHK8g~cg?K6qtoo*E!S!&S5@IPImx|CmxWgfom}^U#6o!e<*ged9 -z^?n}yz{yBclI0To4pIfd;WzYB3@2&t6=^sl#JcAz7sGvl!_b?etJT$9{zFXgTCK4_ -zXl)Y*%v|vkmU!*n%$o0^s+vsxGEPbk2HpUD}Sh&CF*WR9l%c7U1?nAn}9HUulpESj&P&VxBS^#p;CA$Rsvu{i -zTbJ~Uul6_uV5jq$1+1$~yfp(+AKZ;T%5G^_d5zGz4qrl=pfXW7QRqi-NerYNrL7=6 -z5tTuVe^Z;t3uzANMrTq;E!yp-Go;((Mb3$@drjp*v?J!$1=DAA9;!SQ+;paem_{l6BO?)1C -z$DQtIMA=CeE$S0R*YR*sqb2;o71Rk!p3x=cjSV2;EODDHl^!f|602np3)n6DMOcM= -zPVe^vKR%>mQsDN?WGkYvXYWVtxK?~2mI&8cXn^Rnc2UgB7mRud&mdDB-zF&%dPu!| -zL0ifanB6(0iLZKJw)M*44C1eInu%H?-tkn@6ITC7DW7FOUPYsQ?gf6NQ7%Tt>#~7j -z>Y0Sc%W*9c%Hv{)KR}GCB8I-~XgcUs5CAQ&+H6Q#{$yrRk@kC35G!#9*=UOVH -zh?I64Hf5>|mf=@;;y6aYzgXfwtadtGwpa_!x)NQB{Qz!gnWnRZTuxZ0H28u|+ofpd -z7a5Z$Kkb(5#>F;`6JA2w7p|*gRyG>xJq%>)Gklo^K_zAagFEQLk}urMb9T(Kb1R}F -z#(hQdk;CQS`n-h5mK?{o8xxb7p78U8E2WrClsVK*0>Paapad_mJwZPrH@Ae}>xQbt -zT@Po&Y!`|IT`>8xcG>om6QQZMfZgcxP!6|PD#=n7<*7>wUydg87{`%+*d=_E#MIB! -zMRCrMi!#hFVWX!pwz`}j#M>|==+257Stc!&PD0)meM}*Dkgz0SyJjAmdZ`r+BR(Yd -z7Hjo|K$%~i)L8CmiWLSYA5 -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 -zS61KRtMMG6r#K$u?m<91K -zIBRcoGb(;C)Z!Dm_3>SjO@ls`o|croU@!EI9EZmv(14KOEX2YYTde}AiJ22 -z-fE=X^oJzj-fvfDIs@ljAjPN48GUT4n5^)M9=$7Ncl3K=&chR4zyw`TxA0pORsV`h -zz+K@XX}~SYl$8qiYb)6$4cqL@$chKk@8OHc;a{eS_*7?r7kUe104-~Y2oAiW(t($9XW^INA0AEYIZv?Tn3Z9tWB10KQgB9bU4thk&}rV)QmcK! -zkT?%N#Yb>=oBDZ{*dt2ubqf#!TuTxmj#j23 -zk;YaJn}ND7NR-bY2PG=g|2+~iG+nA6mseA6^oF|y!wz#O_r$ouaCO#Bw9Kzeuh@Urgp;y6wq5ch3as}eUU$|wAy8Dy|HfE5he_$`imp;yM@iCnJ)-NP -z4biVTxwgHgL)+`8NaTO2mJdq5ViW8%a_4> -za{6&Dltp+SQdv1GzcWjb#ygxT-|!FJ*JW}dK|f>yzRz3R!l&AZW?~ap4wbYOuPhu{A$%@3x%P^fKPdk5+atM&z|cn%!U -z8DXzkb)6GX0lx69bPlv2)y|Y{#@Y>FAs}bt6}Blb916ch#!#X&*`9N -z_do(_J8U{%#iuCRXAZ1Y$A0Z)hr8!6Vae;O%7b`Ce6jgRY$XzIu21VFaVD=Zm93JR -zY+9U)M`r2$H136eUQ_|n%+0W!oD*zV%(^K`h -zqJMrPwV?k~I*z`u*2 -z(TLo|PgOOz<*>M<;sd0`GIP;*4y4XYZOjl4XY(pPMYfo~fWyWVWnqfjU!O67d$py# -zgM*DebuC>UzaX=$5fJACDemFjP_^G&`Gz=aGt6y+#ca8U8Riz`Js%{juC}Pj`AE#* -z29J92Jslhe$w=yRJ@g(yMC1T*OwqfG@TIPp@uo4&CxO@VwO1AVnGs-vqk!p22uSpn -ze~9arWVb@p(^5aJ@lpgc{9G-V4-15-;1OfCTt#LBV)Z!`@&RgBWGt%JslVuLA)^SA -zhD{eTc3?&%MpwvO>w?j>wCAW3DbOKjWD`FnYrHgd{0Y~@Xq3Z$!b_XU=b9WIy~qUOs5!t7c2LnOk<8_b;a<#x -z4-in&5GK`h05w=?!f~Y9Mx*oRBoIsAv~2jin*e^|0r0k)IL!@r@5MwbXn)%zfzmB% -z_0y&&kH9J^wR((kTMPMLwv>kV05i*hbZr$Gnv8`Lvw;|XP<5r&T>$jpZLkk0f+n*r -zP{>B~;C~a`f8*UWD>Vqn1pS1kFCFyNPV!>-F%H<9@*1g1t)?`21%&*jNe$F$cv^CU -zAs?ntFjkUo2c^@*yyT*uX>Q{X)1aPOtP&|4StIK(w;4NSFvs73`>{T7UEEC*@Tn!h -zYhn~ax>@_RKWXS(6A62Kk5GH3sp`5D72Vz__VhzEjWeH$Oip%inc~q)fk2{I -z5c}ZV6%&b~aK3!G(x?MR;T-?bl%U->55>N$MO{h3>4K>Y1mIBY8mbVR_r%F@(ky{c -z7AcFqC>@kqNI%oP1tiu&97)-drw*2OrjxnvouQkrSYK(m((3!m{)p849?E(sPVcrRoJ^)Lc|<0$aGNz?*v4|7YVNM(AJ(Tzk6KvtQ^ -zIPV86;5sRkwW;67FfySir~noX(h>atgrJ?$%`TgQFZ7uuBrccZKrsaN;_9F{_2yDJ -zH63=tp?+p&6@_&*;jeqM$60O32FJ^6w_%(}G6bGgUs|4E>pAGG^+=}7VeJ7sHAA{R -z)s7SLf%ipjXx}kWU@NeNR$zBv45B6g`SW0?jx0{PIXS#qB^$2bVeGWV99Btx3}F`I -zIW9~5fyf-b&nZ~#?l0&R>6-DsXR2{|@M52yU}xgHbkIv{&1c$+Vy9Kf(%IB@dHbqH -z)dBVlEdUVBC2UX{`l{_@T0hcjHEV=~gt -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 -z<$!^A1zC))p! -zBhpb(?s?!Yjx74W0;n~-Z1w77|3wQz=bodj^Wm5+&Tu`No_a)xqSSG;vVJ3?~``l*9jz#-0>$F@}Kt+AJk6wCwGM0X2<#bu0>_w -zJba3uOYyIyrUI{>{K>Zlgq+N??kqDqTywDXH56L3=+y;-gCTQ&Y*`NYz41R2(D=dE -z;pDmM(+`Z>ClBr0NqVJ^O7n;Y-mHy{NWH%LXX=7wtT+0>88}VMiFv*f?)wwCQ!mBd -zS)VB_ga^)153p4tf%Nxm4fp*O+`$doW8(%7%)|G20t<>X9wimdF0)lTI%Drj8;Fy| -z4y3*ln;7F^O}!yM{_BN9b49XKc%gIJen0suzCrSDzB1;@SU8{+yqLK90N5Yxc1Zr6 -zR{AC9RhvQbq0yi7$yXWU*S7^c`GNeYBfIyUn(`m91LhObZgv5?@wFm1&|i{w&9lSD -z2r=r8_u}oOOr1|j|75r8a|G_M$EH$cXK>pYuQ;=xQ?`G`Y^y9zB-^*$6};JH;qzd9 -zwkYsiz$u0|rntiA%#)K9A$K|exy5bg*54Bt;7Oo_ifJdHZ{znI`!w>;l1Y7iv3~xE -z9~aY8FFk3pyZ+EwdpXt;{}OyTzpzE?!t81i%HGxY{9A6r@IInJgQQ-MN-RYmVyC!4fVu0VVUai8o -zm(<%gj@W(uVWorWOqpZeE;~BU>G7GzzVjBmev$q%C4mwrTT$+$*&qyfQ}}~n`u$3p -zx8&0n`SBr9>9)69ofyi+-}%cMtQNd!!+Sr;-{(m&$*cB0Td}BHd#J^3ovA>t1G`|o -zy8#1jysgdM*`R01*+Q?syI-eT085_lEjhZAjqs6M8NV|L-NpZrbDnAT=0Mh3?PaH| -z%sbA*+%rp}y-c~!9_@Y=mT#$V{Cu`}q%c%6%wp^S-#4Uv$h?&AnCk -zs;B0}`~2N>7k{YeT4})a`-oZn?kY#q?bMGE+MKbRyrm>`v25vINd`}{y9opglGUsJ -zM)hSB8b6*{V!1DCXZlXI*`e%Y@Uspna^IWpqd_0m(0??lEPqc{J3h(KFK=y|^nyjk{`Y+Dgoll*3L0*iX!;zh?e@2>&+^>GegCA=YOo{D)Z@#iTG|2h63 -z-JM8&V-$2}axDC)Sz#aQY`ctH(pq4lWK~PCbGx- -za-t|_708jFg7TW5QdI_~XR(V=pzojQnNv$JA6DdF8R3?^P3f_SgiB(?*WBc(F|0w@9wd#4vh4&;MTL -z-1%<#wNCf$(vgafD^ds|^T$g(aTgxcn63Y2EuQ^~SvdRkfOh@tSL+|xlGvX9dlfx| -zuu6Yozp;4g -z`Dp6Z_(Q~3j%oyglQChv=17ZWgWw#t(Kq#X>T1)MF^!X|%8PGWjH@I4!?xv|yF0$3 -zYVYU4^AXoWgvFNJjAbtNhvF~v5D)uWg2n4-6qLf@x7oMTMph1ZhZn<0Q()PP-Y3Ri -zh<(y|njx!xW^Q$zrp=IDGrTL7=7uq`rr!2-nfo=v#I$pEVk^kK+8;57E%Y6N)eK~+ -z<~y1QqrW`Jsomc1)Guy6hxm9C*Yc-f^~o_4MzQ*gX^h$G5MTpM1pa8oEC(I`I761t)WN0i5Z_%~ng7 -z;C77)8>*c{zON>gJSz?CcyfRH&qlRhQ+20V1J9@XL5KTgYX19>rP}l=&T7n#)cmR) -zV#8GWNQS{79@bd-*!4gjy{o@#w -zZ>cHG9Gk6yckiX`G1QcE%r(0g7`|DS|KZlTh&iK8OY#GbY_=$?N*&l&Y5S+oF|dAa -z_pw_`seWrwflD)vi0mV@+n*Tz0=E9M3%eJ^3qEN0%kqAtf5!s5b1To>d;ZMtNXO~? -z?t(5uyKB$ScLeaZ8K1bYi&ol|efG=aEce0l4VP}2z4&Z6vbom0Hl!9=n@~G?Q~&0M -zn;c!PUY6b!y`d$QdRMJSh_x&odtJCroGw~#)t(5STALjUAI>}YC$IWz_%mmpabPsX -z2YaW|*grX?>s -zj_6&`(bM^K^VZghn>%mT-CTP!@8-N6MyK3P&0VwPyzajx&vf?A**IsT?nb@Yx&QQk -z0kHSzT)oYPSJ#ZJ*qPbFa=FSyj8P_QOph9c$grIqH>HT}I4nWAE(| -z=ph#n77DkHnAS>en&=?rVCSgKgw7+zwWT-vbxL({dUV|cgJXW7DWcE1Yj><#s_&*_ -za`68EZ$Oa038)8nfHuH*!0vzvfFxidU=m<5UR*)!(>{AQ===#r>yz^lfH;8o(}{q$h*tB~ -zEA6%$02=|P^S(0gKz(-#9S$kmIp@S1h{>p?&9(^0-)gzsUbn^hyfjbm%B;Z!Sy?}oZzd*SHPz;Cweg#MX -zer@U_+2}r$MRlGGn1ix<+5e5_k~}#KaZLc?odZ#36JRu844@sbH|?f?eF297<^blJ -zx_?QozYKL>4!8pFM@BTp`JVuXQCk3W0rLQNpw6>w!fE=;=aEAV-6WB2DsU;l%>T0Q -z(O$L+@H*gaz=Bb*fvM?nzJhJR@-4N@8steoT0Y$8vC!e+>Vj2jB~C?HJmFt-5{NA -z#}uS1R_(aic0?7gWJ_64Rv;tq+q-=qfbHpag>l+;JEPac@p8VsbU{6{dVgt??SFqR -z7Wh2O?hSk%&J%q;E!vK7C~&(g8_s#c=dX&^O7iSjDYQnpvxH74U`l(`I8_^>mHVczeUWi`hPuXafz3UhN-WvJr{k(QSi)PF-`_DHX`>G??GS76R~g!xFD@&1MuN5uZn^fc}swBd5q -z2H(>7(dgr%0AXW=yLuh((cuWyHeD# -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 -zAf8v!r;)yMp<KH7NveaX -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 -z8F`xC@TI*AQZ^59(jF^G?tdlFBfjK3&9|0cz2 -zZ&EibXr4Sa72#_XCWxy?oc|jNuO*umH0U;Q67zqv543GailPU7E)jyI5tARpW3SZ+Fea$~lsGkWc9iu`1y+^=cejzv(Z}&K&PZFo)B7v>i})SrFZ8ZB{pFb%uIo+qXY`%q&^@Vc@qaOL -zmbj$C_IKSlC -zL`0qKWBk3NLRH3oJ4g878<$p*7k>uXe9o?Na(8TwM5>H)c@^Z0(bG|5gSFfyK3l~` -zSoy!1dXa?(w -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 -zcYW&_F~;L_IdQ%Fzyemn*=Xl*1ha -z+@LuF%vzE(xwHrWTb1*}`vv0J=4 -zew$Y(Zuf>IW<><2?}Z;M^Utjh$&+2*|FQ25C0Diik+jn#%W~flXMgOoAA|RsDr~7< -zpoWCP=?nJv)XKm+c;Fn~E$LnDBrmb(hU#Oa{VKh^fv<+eW!mKk^c?A1I(8Y>Hj3FvxZpumytg#l0POx?+WzQ%|Gh< -z<#X6!#`kz5bcqL}>VIopl42|RzA5};p{`nEZi>il(1np8+*`}p+jEY2m+nqWho9A2 -zWi5UF#(kfiTxB(Veg1CGjIOdTzU%4aQ~o(qYe|`V^w7b}CiHkyIPBJ{kMOO2>F1r=`4HYr4wI#mVZWs+Vs%C*~RnZ3&+0rIK@n6 -zQTb5iY&lmpbLs5LqiiOhhu_>84@sPAic4xszHMW~wnBOd8(n+HZTjrX?>z)_XJ>GIwPBIY=e1QmIbJblgsqMt>vLRW|R8bC=*OO0Tw| -zlBm@zgnu=jZq_;#Se5#3aDKqq=xyd38{W~_;qDO$bw*WT!gmY(%0(&o#;t?u_>>~@ -z+;-INr|m*zX8$YCd$Vu1ZTc*04$ELI(G8W&q~(bQ_B}@#&3!K;+ycqu;i$(UgULA} -zBP&E;qnnB{MyqxmBeTw9QT-O2%{th8S&or>#DAPV6tS%Lc+@rVx|Lf)`b4gW{a$@9 -zx{}lD+vlsV8M}v#c8U>G!|1)lxYS?PEH_`ZhHkvg`28f0ku%xhvWH!dIg5&BNKWJP -zdPoaaj#Sy78999%_mgA%9$=et#Ah4?Q^`+`XEyhZe^}11z@lCE`zZ -zvDM|wm&AEy4>(fJ9(;tHJ@nUdw!1*iu0CAmzi)Kvw!m(+@E7m)oUzUL8n_E(hj)@x -z^x1H-r1xBDC%MEH3gn~nF -zHg)#2dEU2}ZrT>yrCeNahyAu~!8dH_*7_oIN4@Xu%e%J)cD>`IK97De&dg03qUee| -z-;Nb#{rcWw0m!Jw>Xe^FLfdH=hpFa09T!R3ALv+6H| -zyk_`bnlHh8j4PpckQT|bJXQwxW@74fo3~42>J2aS(0i+t=j_nb<`1`-_kW}ksD~df -zTbh*z69292V84^D=t+DSMIY3AA(SR9PnUl4u`$BHa$@7T^?a!9;ymice3jCzZ -zym$-By@GGY99MAe6aLARuhO5=cLwY&?9s>wm;k`flcn5BpvQ -zQ7?edNmCv7C!HecE#eqUPrOvdZ9jR6Ors3_SAUh;JH{fBz%bWve>$>-Jgr|PZeA(!-4>9=0UdYXU#eOyT2 -zO>eWJO0L&;Wx4trmvvTidx1u;WcZ}=C6YNiU5WB#AWfm1k?)T3@D=5`Z_*Ln?)Ovh -zrq5F4C$q>IZhY>FRoo({-etL0Wc$vqXXfVd_}rT`;ML}Rlz)0gc3QfdLGLkwr>>*B -z8R}&ZXO^WsvRhiT@A4w=Tr0sACC{{`*U+tqzP26uQ*gd>q73dZHL;5!!;# -zGb(f$q@@!id5`H4J3J)R>FT#wk?k_ds-(#K23^`cIq&S@0<>|$|4(f^LzN -zi^^bAs$GyfdS -zTC&X@=$91xOR@5jnexPv68eUh!L%dfpQAA&k*a~0LT|tF|FQNS@NpE^@{84 -z+mmc#1KyKle6}g4W+bX?VM9WRd|ugzQ$RKtNFZlP7>ADOp<{Y)0b&Rcn-)Uv9Ri`5 -zV!(juriYM*|L=djnc3Tw44-^IzrQ{o`*!9{FK^zw_vXDMXO-e*$)&LVu7dBvnD%%| -zmgcrO8^|2)Z!#UMP@`iz{MbnW+4y}LN4v)=TVco0DP@z6<}qd&;w5gAWB=F>O6RP2 -zirGRMxP7gsm|pQz7^mM%B3m)MjRW>+h8TCjB!?uS&+>mEceliJMz#{ZN(b~f{|e=u -zNPFyPg~u+2EnVt73NYtySWoAfWNoV5+7D73YN9R9iu*13@c`N`i?ki;3Cb~nQl=v{ -z^-vUd-{JMg*0)=LuO>+E;k#iiT}UxL8lBB{uq=LT&*LR;#-a2|U0M$Kbj$?QGnsZC -zr22SF9om1#Pj<7O89;+VN!|>gL9G-Uo?fP!Z=Dahu7Iym{9iCTm!mDa8NWlzR}fe3 -zM9T9jXk#IYu?`z@*N(Ah9cllt`cIF|M=&-wj~E;3IY%njrg1{dG!Pi6UsDRCi{&Wc -zc;LJo&WMq_j}p*6Fd_zwNH>lM=C*%Wy(P!hqI6X|r=OyoQ^V_$qtr~J -zG=cR@hfy-%mNOkGb)Qb}JlwYki8*chy%frv510qX%YvJc950J|ooCT_S*$!mj+ey> -z8)J*4jni+TRl0q3YF^@MUM#Ay4nk-7qwCE$oghfzuYatyj5NMZ(%F6dFf*ttnpvmb -zo4J2W>FhwAxTQcrovyTP?*@uz0Evl!KIoWrl1}KcPa>H*VxE&sOvRN=L;2okJfypo -zbS!owOc#-_dW>@S=}M2~mP|K5xA&m~?uRvKNvqtw#O!A~1afT;xsHUmX*w=4KC-P* -zo^z<_b>peGH}hs432ojBPOV?U37E(C1Cf97oFhzcjyzf56pO5iLcIbBl{Uw>e$?SR~Unwm?`KH8KPuW=8e -z=c%L3AG5cu*VInyw0_f3Av$-rb&}5Pv5z-9Xr90I=}>z6zE0_AcA`aojBcb4Ttzuk&o!fxBcZJf~B%zRfyMC#_}Nqs;e`Ru?M*WQp0+b%KdrO51<21bQnx -z!hE`o+8{-n@%!&nwOe* -zSG5i4SEHwRnu)KGpmuJK$4;Y(KA) -z_whkCDo1#~I3{Ns(tex4GyL_!+yS>G{i0h>T8<_zE;XkwjqCfu^H4KyT}Z_ -zwRn7;rh6|zyGO=wp1{)~_|HOc{QK)V%~!d^4Eh5>-jAQpon=(@tz@|`1< -zy9}-_ud~;11Ad|lp*(vSLEge<{LrX -zuN{MJDfW$aNv}%UWZW$X>-pvAVE^WZ`mk515A*)*1YrFk*e^r*=8X>Ok?jpI`7ZYo -z(gQ}ycTWTDv|b{8wnL~PU@QL5zMqi;Rexptflv;vCw!+qWUnIGp=VqMeLtm;Cp{iV -z;U~E!hE%;0`yhYkNKy%>(yy1TV`YAsS@mOi2&51COdwyxs$cbRh7Y)ti9f5~8=vU+ -z>vCAn|6=lu1IjMatj(^<9rPJ-3Zzf@=_MblA8u0>_jhQ|l4X9xKeArSXQ=*r_T_=M -z6=$lq75kxoInwjBRQj_aeJ9;LE+6?8gKxk}#%RblmgRrU-HoZmP1)3@$&llDBWFHf -zZrLQ*RHL4438&YV$N||f$G(MIA?~Mlc+Om6$P}4sig=Fg&s)*IZxLv07yfm^zwT=P -zFIsQ^6VU%N{Qm2=z?VVVP3bN0<>q`2w5I{IrwP=jSIdie%y%x(nfG&BB)C_S -z3GN$6*Ft|9Gfrir}S-f%?Cuhv1l+^q8LmjO)LF}l(W&dp6K-m|Zu -zb4SYzS16n@TpxOzN?+zzglys8uHyUnm7#O-ZkAIzwB1RmA$k%Yem1WAT%O$n_N*iy -z=Ev#*$WOL$?cbAaT+hCmhZo@`oo`PVwBXp_hGG -zRUn}5Gh{=Gx_!*Z4VRll@cWm!O`qIqEzNF(hC-W1|A)-rGUO#x10jBFBm -z4Y!yrvjOWE#Bp3(&tir*?PhbJIFNs|EpGw6vJ!2*&J_8 -zfSmKvd26V+sp#ZrB~jB`Cvkl?%Y1oSaR(%u$O7kPVz|$jvwkxD7Gk&$n2UcP{iwh> -zbu+B-<*>dbkDNoyO%VFh7_b+N!qA@ry!LDSxvka(H+eo;``_woVS;vp0m`9V6h4A^7&m;dg~h2tI8D{N@mRn-S&T5`u3x0)9sb -zzHPGVQ&NuiU1}c>*hPWky#jy6`<8%?-9!Ff!2D>%unK!D1nW!&?;KABVea%~a1Z@8 -z1nUaH4*T2*z;+11UJB)#5rVxIg3S!U-U`8X48h(D!FD28ROugm46tUR&2EGKeL&~J -ze7;KtEdaOJbrkQ-y4`GO@e-&hORq6ZweFPv>nWO3&-L3nzx;P8w{i8H*wxvYEJ%^V!(Qh3X467cKSbqC{Lu -zgWgB{LZAlo69rCh(c*tvuL9cc1Zdm1k&|z;?Y`~@Ot1STvoz~3W~ubFS(^Q@>3Pqa -zL*C)SZbmN|&yz)i0r!k#U5NK#8=5wKAVg!;89C)cx5GerDx4qWp#X7-*2x|RXn3VgOK(r8VVxuT>Z^%>Jq5m`e;&pS^{73mRVL~!IX-_D;M!l1^w*+MX`^v~ -zQ8C9_eC%K`F4{y@=WGKt4r2p*Y@(4*Wrg0{Z)2#tkm~b%ZWyT9TIA?w!@~C}#Rs^_6Rg+$3&cbKdanxK0pVyM -zd>4exK={uPjv0SW7P;XV)92m|F}R|2_)b&4Wl1w_xAteyo-NS7LBDQK+(1h_13Ve+ -zXE|!m8MRR?zyE0{t=1^bzXR6mskKof!TOESMrrT6C_E8PiaK-My4#Dj@ITxtn(uIX -z`yYlpW8efot2T=3yZ?CzZx9H-0Ab`v>pGr*a2nue5`2Ha{aq4074F&p5X7g9oWX2e -zcW?iL5LdUJw9i5O#zr;Wvk=Zey0al2a<$M->anW6N6dm%>i@HeU;XIGQbGFqABFH( -zqi6ozCdC;T_aek)A@0sV+~W{8-f+II*7sM48RfUD-2V)O6M;V758-40ejkKu0^xh5 -z -z{$m**JJ!5Bjy6M!th~=XP{+8yxIYGAHxT|Cgg4S-WVXXz*8TD3KV=TOosLWCo-zw& -zd7q~s^@iaQb&ppiJxM8^G|^^Ll=aPfzzq5=Kiq$i^aje&|6=yqcfh~9;NPD~rhd2C -zXWwaRxfZU^6CnLlh+n!N1uFM?ffA~oSueu(-NL5t$Km^r^j(_u2w8t`Z31ed3Ay+~ -z?lOXSvtEEye^IHPfbSdOyVU(xb1SmheFs|n?0&{1-;CWF8zB!z+SaTGTk$1$h{V7<;|t;`^{}p -zTgAXv?bl#SVl?yo3YvMi9dzGA^1nfM`WS!g<6|(FJJ8qP;Ai9E6^Q(2fxDx}Q?HXHuRgRcOYTNZ^dV$&j?Fi&h`;er~vK8|fg8H{?4*dGA@8 -z%!lsEw;P)Fe1mM6d-m%lrjopYH%yGr2F}`h40#uryOMZrCgph&(zg>&;H9WLtISaY^|MYs~$_Bemh#OPW6gyaL6A^VbTQ!J5j@?(vu?Lh5}FF=Wx -zLR>O~9E~l=ift6)E~j*bjq6hnSoLXnVy2;&|00SaO(*6LbYh}ykO6nE!df;lrSr9H -z|NJ^fI2NDD_lxe{5jl}HZ+`?E8{f1zHu2ldn#a#%&eqNM;~T#N{rcOZs4;)Nuy7_z -z)U?-FjPDrTz0ij-e`1M5djhR(<9S*rVcZog5pR#9Z?cn-w$5~9c4S@#)@%kjLJeaw -z5Z9i;JSSnE_KJNX{25UTU9HD{mn?dD_S=7S&vhBTKbCjL -z$&kh&T1LW((8~A5m}oVs_|X`_y#^WI1sFl=*`bZ0s9&yNdpPfyS@mw8(L0?myzHzF -z!M7U$e^0?BPT9e%-cJqqTDNWw_Z_pI@XvX0dnmi_2Q|8&tW59Je<`y^DtZU-#5`C -z2EKa#1Y7qCoUZ-v27JXXH1)l64cznRM_lF4RL}q7Al#i33EF>ppmW^Re7!Xxndg#F -zzMUh(Ws)a^;Jb`~pAv%aIs$%X2)^40__-nYFGj#G3cO$fgG -z2>9K;>~RfQ?$K~d;qn`T`8)d}ZdX_)ydns<_lyje`Q8y~|6U{dcaK?>HF5F~Sa#N+ -z)l36@@pNp2zIcC7LqVs1*wpuHEN@mMc=w*{`{_nlDH60H@nkTcJv$QQJ3JSH&5f{t -zJn+RJthh%cXb0l;P+Q6oDF>C~_D&Gi`O8R9R`^jUUw^0%YeTSkp+03Zxz9IX=wAK*O -z@^j@US+%Lm{{!^SLdRA+S9=uiAWMZ!^Y&e5zU@ -z`S=xEr1&r%)&?S{Y={WelO)wsLDLmvhc75Yl=s+;h2$N`bakqyXhVG+Sx2rE4|b$Z -zh@jptbZ>u*=L7l=!)1#RZOaGBZKSpw9k4hB#SO=j)W0T^r8B|0Iz^yDmhdl!W5ZI)3rr!)>|mQPZw?dfk$Qio%8Ph&8I1i*=y5U%;|ITq=!(T}L?VW2 -zWmL72saEoZv!0AEhz4yWFV<^}FLZB++y7@dIM`+oxA<|0bg>AS`C;MmHn+|9?>Q3vjB+J}ca}lW2d3TkEof -zVQ+0XND(4H_XXr^ISd#AFS|NGb -zW&XM8K#RWse0NWhu^|2XceQ_idz~-fX7#Z-=)N(^CEbC~DK%%+^8V|W_oa#U)IST9 -z=ie-^tvowD#_wk6gd1dFH -z{(8W_t^M)(XK1{p`SJhyk$V5-*Q+)EcU1M3+)v0C#O?Hc%;D$5kn}dd>RBJX!?HiQ -zH+TJ!v8OxgPs~fN-~Nw6?cd8%I)v`mO1DCmwcsbpI>0aM-y!_-(|ySNKgDTZE`w?v -z;g~wv+imHoulkl3{}z8+TK9zZtr7IqsU{k;W}_X)|V61n9a5S -z9@5i#($w+)2*sbQ(wFS-Lh&=!YQ3dTL-G0!P_n-c#Xo22`0qpUr~Bo98;U>M(r3#@ -zp}D=lkN;;V{!&ZnlGy)}meoy}Lc_1}^U1XmCr$@r*I81}O7eeVaxeqE?)PS|`yIZb -zbH4x_TF!rImh)ekeeP%QZ!O(jdtuhg4Ii7m6TUWk8$UIBH~GNqo%pR;F8tH1>bXB) -zN!rJAKZiC=W(TBjJl&X>w$Xd^(H_) -zXbWnM{y6PsDZPKFr!A=);})CbTUE2kC|DJD!_+kLr7;%n7}DBPVE(?;XLn3w)jK%c -zm#mU6;nWsKb=NDQx&(6>S7+mW<|BE -zcPyz_CCf;L%4jmO!c=^?KYXL@(q;IM#gYA7OXI#wBoBX-SkT7iS}UjCv&87`JmlV= -zmi!1u@kE5w=eC0SuVrovZP&NVv!d5Xi(WG+syu>qmgH@sC2B+21eR}@(r|zG?2M3} -zTvk}F8MNaVi)cPtrE-=$*tc0{jdY`4XRiua{mvr4y)iD=vx6Tx+`v5N2I -z35u^#W8QxV@$;~}i=kzSnY<%GJiW700_o5lp&xhRYk3G)?8j2_HcQ-IgXef_TSFT| -zoueXoznNfEiW5^mvl5Z^$R^}B{O2qgarc8&7EQ3|e&eG}#*qC)8t*B9rJ|KiH`RMx -zGS+-B-u`}Pq5n`1t+?%v9KsD!CySLr@Rg>?3(tS>X=pb*0r;*Bt(p`!PF>GYzV+QY -z(ro%VD5q|RK24(ajlO?3VbS7vHUaiWPRRSCwD<(~M~J~#w5cX7oNdn0dVRe)#qjcu -zKs}`#qZGx@CvlR)>pHspIyRv?#+#d%o?ENDS8JP6Wr)F8tU=mZZ{i(fcez8=utCO# -zmeqe!4Nb5svu0TLI;dCch${bQw}_TM<>WfB*G$4tZ6Kt_1k?9KByYlVVHAjOJ7lj_ -zJln|RFz?n0@NPHfL-x4>Dc+Xcmt?<}vBIZmzudi`+=l8|MVp}%Nk8}8t`{E>NrF#RzV;e)x -zR~;!M-CU(=gR#S#=xj^I!)Y7*Q4*`0depZ0A6_BH`h&0(l-@(`eyk#|f0uG(!y=3VeNV -zL&`>Pnh+i*`Z&ZF$G|9EE#z#VXCDk-uEOYfa|7WujSJT;`9>IKM5L -z2lIP?^^l&_IH+kV)ohry3RmaaF`R#I+VGC;LHrI753}9K@Z^BG*x}5Apw9H4HLf-wMLnc|mOB9+?tKx>5689hHz#PT1>p}zBz>p%|Hd$D8^V8ivyn)X -zZWh+@TqLLbsD7NXlrHEfnEMA(b*P~T<8LTmSwr?Es1a_qO!f6aKXt4ut#x^}yc)@o -zUmkDChJcx-r=sy>++iJY)LMtNmLd=4_JuL{<*sugcg%Jp!^ZOydBwJ3(wA5yCN21k -zHwps(=gk%S4CKrT=kIM@c&~psGX=Od(()^s55(=?^4X-L%9b}&>?@)4M0~|L=-;Jc -zUreFabI|i-#l0xj4lT&Wg1XqBss4K|&f&|GeBYO>kdtvVuN?ZjE{FlJKYF~iZq(P2 -zoU+4tk>Sm%7p2nXqBMI80eE`$e;m8fn>7jNFo)Ll);Qhp|NHR2H_Ly8*f$)Tm1Z@- -z*V~Rw9!uWC-+aY=*RlT(_YK{zAD}Jc{C=r5&haG^#f-pZD;=L-Pjrr6LuORcdg!qn -z@2gI(rAc`@cTh5oSPDIkU>^PMH5pa9iJc?y9{L8a4P(9>?5?)2*5Qb9ve5r%%pzau -zk1MVzzHr?(NP`s^-y0U+907d -z{Dt!^`dQa<(E6yN>s%M;sAXd$4-Wb2vX3!U-$Y2a4cVZpt`Wyskzd~$aq{TLu;Tt9 -zW&>>?JxH3&+oug?dz#hCO8XRqW3@EeYzNMv|F@E-ujPFCU}=BL7PjRewAIQOJ1}mo -z7}%P;1!pYnU!W~2Y1DppAm5LT7m~Lhp*D5^?3c9vFG`2)du%3xp;idh83XPXDYVux -z0Yal7)I^~?gvLN3{!s<)@oiqwr>&CaWU!KOiL|* -z^0y{hW+f~tuOw?FOEzX(KEo(Ru1IzEZz%9QYyw<>kd^2ILGDeCkXKT(SkJ6xlDj3D -z2Y9^V@?2hhz3D(cCR>K*T(FN>DsiP?guAAx`byc2MDMJEC`56tkXw$S4!Bd|ezur5 -z7xq~ceK>#N?O;FV%>nu$k|p{9| -z$+P)WN6u7HmL7h)dT~_0rE*2H3+vf&MG00j?sI>GR^rq#F0I6d(B0>nsJ;^wL-996 -z_1m#V5v*sqst3!)dU~BEfpuzpg7p}IdNe=wuBfDAP#bU)(d)E}DvkG`--aonHazaP -zp(Rw-vw^ZELRlT6O8>qDupJ1e@02op-)f$_*?OqdpuPv%cbfw{uke*j`}`z{C(ABU -zz8inRO=nBEA;H<1MUE9xmy+`UtB1G_xLRh=s~uP=d0Z*qlmEArlIgq$?fN^;&+>Yq -z{mIn>4bXGTrlQ{*52xsM#b|19SLPS`Oug(YGw?Qo`c6byc7 -z@0|rY^Y>w;I~#}@QvgcWa(qn!*HT0T@TUjw{YaaThtEAD>> -zPAmNXiL;0m#`fH@3CSx*R~J+FKu6LH22r06O_J+#46Q1AJZ~?4#XGM1n=@2$MjpUZIJedn?sQ&lpl2bYlvw+;nqUi`@+A8F{u}T -zmYdzgCPZidiftu=wr^fyoKFH8Ld)5w#3Vgl%N7A-pmPr;YuCORnqu-j?LdEVX{;IM -z<%L*1n-66=d~nuzwO!rl$K&kU9Fu++D(*?}jjQv?*mUA~on6~S-ijowi(tu{+;~rpHPKw6#_lguL3=K{ -z#Ps{P9pL03e>E|wgCX~A8RCBt7UZQa_Iaf<#QOQ_Rh@;|F^RwW*>`N9a~_SP)>-I{ -z$$Q2?u`kwTVa+DJe#sk-F<3gUwtHUE>W`ooj+1H^pmm<9+lu~3gW-IMdgyREM|!93 -z0x^xG@xH)FMEa)gD9Ww7LfnKvuAd9-Yswkbu&;#=C=i+1v~w^z(X&yVn%SH4(q -zqz;QI9!%#nNQe4u+r;F3ejLSB?3S2(A9^Y;&1z-dbc`#;@T@7Bm$T)~C3Y!WZY4ZUgrAP+l%>CkEX4DKnJsq7nH9LitXCd|d+P!!&~Vt{i`nZzz=ST*$Z6u=;Qu -zmqET=Xn!q&73meX6@%^rV@z1X`v5MSPpfo1yBu=wCQ41a2)KvE?P_SCJt+f4FD|}Vp>_J -zZ5@#hX&4>Sn}u0Xx}?P!P~wJFO({x&{w{x=GAZOWZ6^vznFHhZr}*t4ekXz2J?#Qc -z@K!8kY#M34ihFDntrB8)?(at)G9Y5KiNFVR1qL1$= -zf;_qpVp@k7_j88z@NArc -zp6NS^4$^;+_NI5iSDbZN5ZeW@{O^^3`S7kbzB9Bl8;mF`MaYpVnKWx1aTIo>IGjsvA& -zQf$S(B2He08lp1nz8Y@`(e&}SJhMC-_eBj0YlMI89t-M2+Hon9BkOwhZbJGu^qk$O -z9@(-n6n03P%z(Q~5Q-zxjCx@hNANVA?T9nRK-pvDn?C`)ZR{4_G*6Uvm?IExOtX># -z{SY<*b~`lHOz(@IOt-PD&}*SSuIxp)kdw`YIv-3)|8L!*l8*Y>#P3wOiqe-i9S=c``+3#j|IDHgcjbwau+bidPWyCz(_T*^To=msD -zW@agQ%SLdsSxg*`Sps9TzD#kBZgX*WLArBAPXI>dLD}Lsqujc?@LHiXpxf$&EUlH5 -zA;v>UaTe-8#stF<(tWM;l@*NruQJK?(@M%FP+Y#bM~<0E^Z??Ij9Jebpe3KBie!K7 -z=Nsg=yCt842C=!SU%y|+)%zl#s*Zxwxa`ap+6GA3@kCJ8I26wXe8%ZNf_ -zHdl%?B_$(o9(j7?_&EsnCUly126YTvc?6A4N6s1{v(!L)ZOGc4ny?{91JRO5u -z;7T4@w-tF-I1_p7Xm^oxRN-EDOmt|xv7zD3-UIf*6F8TqQ`>GvSo0X5F?N4~6tRjs -zm^zk44;de8GJ0n9$@aJdsp(AB6G6Toh357Ao(Gh=_Bmf``t^g>+oo%RUeq>TV4?eRb3qjCrzl|%UGbsry{ -zHVhwyZ4>qJJ`vQLd?&8wZGPy!w8oD=I28YhAHSc_dU-f@U&QtO;$Wfm!r+7}U4cC_ -zvWB)v_V>8fX^`p2r(w?(seG4w|DyF?f6#N{U6HbztGZ|y7fmR>Q=otR6ut#Tojia| -zARWkukw+6Pow$#PF5yf0)%;ezDEjE)=#4n`aqpD9MSB9*_0;tB%sb^bKu6!2I*cW1 -zD#bk~-4%DnR@~=O%UCvEl{t({$h$Slv4rCNPXMatH==6OWCF^U=*A&!n&|sSyNO=K -z({%e7a{nqytyGIUMIg2+4b074eAAU -zC$!$jK9m;aA6V|3gp@5ha1uJEV@3O;ixx-Th55@ybeg_k8i9Xl_(8+d%-3nK6q#ml -zc$)pI<)}2#q2XyN;r0kfbFfZh!|Fr)y(l5i{rcDhBf2Ci*WDxh<>&|eAB$t(VcJ+) -z@gI(cvXb`Sc{b^FD(8lR<{ -zTE}YHHBJ}<<~M&iJ_#5zS+SqQ9U%CewpUsS*3XjB@zDtezFe)?>rzoTDGFA_j;Ha< -z>sZKsmWW#|%OY%5f*b9LI_6CNSv;O-xe#LF+~|lW$^L&X9%C&RMp-V_#ad2-7DiV_ -zBE0ZyP#5zYfBqMUY``|qg$Zq|ZV383ak9Q!v_s4S(cFIx^nWvYzYr=#A*i1L>v2QP -zD-QZ^hBKmQbihr<>w-M)q{$7e@ZnJLfpnLJ{N;Dop{ESN$lk71p0Pk=xIWwekkEA6 -zJb@YjL&ft_(l#f)t0|DCRYcu2Zca!WBVIAs_IC0$&~D)i@ki4$V4l1-*>bcTf-RR4 -z#*L}v7TtfAWy@tRisUWIYnCmC`@n}C{DXB^)^x}RxZ!Or_r&(z18vxP#Q3!<;O1)K|5scs(pW2Dc+GnTej`Kyr4?se(dL69LoE- -z!o3yuHlhWj9*DGKmQb|V-yse9%f!9pu=Z$$curC6O>f_dJ&HmVJA-;;hLdYI67<^I -zpk4x<)e3YL%u+3;lfL2Yf8&0P-Z9wDXD}(XDsYHxrgCEktd@ZcL4on^wmg@C%NcnIK!8s|?ei_tFlQ>oOcm8%7z= -zkb20w7p~`l`7j<4F74A)W-a8)-%QrD*WiB}`!^=lkk=0GtV*YOM;hDrV(KK;mfwM) -zjAR^3rpKp$!RpOzSm}M(A27nvmkQ=gfqqD)@GiJ7ZNa=X4)f-~oqyjN=JiCO$Dgu& -ztcu$O@QQmdPb06}yEJvu^~h~qgkfvQy$NoSNipOu7qD8*_DqbGKF_hOV7=~YX3~Fj -zcHgVthm!r7>Npi|Ny!&^+79^inyMZQaxb@r8FfUPfE|&SJ7SvVge!Wzr3rQfX&4sP -zI^Sf>DqX#Ejl9d_8DJ=y7G=s -zM-$)7dRyb0S(8mPeLpHSTIUE_;ZyI`egCT(eYWgBg2!)?jfq>`;M<*wniJF$MIKte -zsMuWeLsP%sVR7x3vD}}e7@Ew -z8IU^!t&^4!QAV)IWE;-vhtpjK*81y^4C=NTeP5raI1%UjawUY{rOO1`MCv{Nk>>t4 -zYF^PA)^p0An9lQ1jik5HBIACd3@fh;lr8e`WJ;axsTw7Nu@TpCru~1hkpGk#sk7Kq -zJV5yNCgEGs6NO=#sAB_Cad~3%_0S6ro!F10n?>P0NA$HGAgcWGRcieP=@nToQVJ&f -zf3DYk9B7ondq^c-vw5Og-CF#B7d^lr)el;ZhY7qUp1>A~qqKlzdfacwZ -zfBdlAPsEe3fNq`oOXhz)F89-Zigr~eT&z7-qffHf_*lJxl=I3T2I_Hj%M8JFkW(Zoj_e5}*(^fD@*-J?^sh*v8D8B&p%%Wf?^UH(w~dZ%XPn#aec& -z(dRz223Og0la6FW313t7BWfmdY!QvcV{{Vt%=@*F{@A>Ea`b=k=8u#S&HyJ&A!#*E -z)RCM4LAvWj@*nOkkTWm?XTW|ajW2rd=qjvkH#dVa`)LisYM!@HeJKpZf%eL6p*7(Z -z-8CBNE}%cK)PBNEGf=~6!9w*-wAdQ2zh7g#{)M40>Jx|AoMf}U`M(y`H_T&`5{KiP -zx?c<2CDk_{2+w~9;0Ffa8h;g%(#}W^;4CML(qH6J_2mx~eR;$oHv%wp^W$u}vRibHvzY%ic&MyqvNO -z-c|U-8HH_J5W-vACN-^iJDv27jp?g$SL{a@q(R>aTakY}pn6`kq6{P{Z}`808$R|9 -z>7(aVe!YixNh+O%_3qU%Ke|`({?ao2vvq;}N;(U1Rqh-p7k!6y#3VkrD-|WF$h)w| -zlSB76i8EdBFYo&vyop4D-=_Vw#aA5cg+hBgB}1O)Z~?CT@7jS$`J)B)O|H| -zoILYh8_R!gb1UvD1G$vj;vNP%`y|-Iw1e!WB1SwM#&+vzPkpF8 -z<5&k!p!GZn*rrCHmid7e>Vsb4w{EPs%|+dQ2wRonr^Zg!kGFlLZu`USJYF5C;ul7Y -zSM?zdO=`aGJdtKq9nPbZQil^?C}1DFdDV4@SU7(oZ$-ID%-d)9t%%d^Y@s(N8`5_N -zdQY)YChmvgEsFqmk-wITJ0%7D -z^bq_%DLr5M1N$h*Q@kjtd5ZfAZHp5jS0p7ZIJ~Y=KT#L1q0MzIpW+&jWnG_CdX@cQ -zTFZaQwZTcH$ErDVke$-Ut6L>+rgA@!mVBNgjX<0usgrVBQrgL^*pH+Px_`7s -zvIAWLeor(jxD&IF(r -zWjUJ9j^)Vj(NvE7&cdAbif*Ed;8xgp1Zi|4t|*|?l6wtDAdT1gw^Wyf8eLVHFi&Z| -z>QU=`o2TVEu~hhd)DeOAQR$SXQxAWabf|qM3)=FjO(|Vc=Lq51M?!y&Be?VqOV) -zF&jfyLVLZE>F%YtihFS)PdeWBNlCMNSpuoZOA@nC -zGc7?D4ZC5+-AhnE^fUgc*~^b+v?n7+u~Os+R>uu?$EaTT^5$TUD_A7- -zzN<5(-~1dMc;6-Gf2N*0=V*TzucavGPq_hmLc65&9rcXR9d(u;e`+Xxjvs%T2--U+ -zr=-lG-IxOV?HriBiReR0pm&BI`*#B6+V~b%YQXPq;4i{Se+TNoH@JpM8Ku(k{jEVZ -z)6Nl9pYHpoq};@FPo|Uu?mr0^W?9KSg*11lmvY8gDSrx-W8!Olz?Of#5Gq5yYM!dk -zYVuR6#tLm`jO9NcH{d=~umkop4)ObbcBt=1>U;*|V>?qmw5_G_teFL?m1)lkNW%DB3@6AT^`-YUHsZnpa)83uZ=SkTbIh9hLBu1vzX`l7e -zo*`Ha#$5YCHUE1$7yih+zn_viH!>~G`$cNrF;8{AFB&%A -zx(%QEZ8%p1WnSO<@yCg5;62{I)Y$FGv2<;-16Czpif_&7eh~DDVWuVjPNvuPJ}wI7 -zt=jvzU_?11*Uf+SBi4;C-cC&woTI-&s-vcesr4BN=ME< -zMo9lRp1p*$3o7m=K&lLWqm{Rf`RK%spLfOZ`0@ -zVsU?0+-Fh^Ov+uQ?$7kJTwh+XI<`u4h1VOW@d39SGl=UxB&He2nVyjDVyF)x+wpUM -z?2iA@v743F_DQx)OTSji2UuF`Audt$$K)|`*B%2qe2Fa2mgRX6Mkz);YlQRu+Z5_2 -zY&s^qkN1D}+j9AO+M;;0{v0e3!82lETHa4e?!}1bV%mqd=N==Z&5#VNpL3;*&OJl8 -z+Bc+uX>er!m~wqvj~w%nr+a_XaU?s7LkrImovMYo;Zg2 -z^+-|o7yq{J3c}ZH!*3J}q9P#hUw6;5QfjVmJDugx1e9yqZGC=ziSm_x0i*?dwB+UoT#7U&(i-!le~^Jj!zD -zU46ygSbYcAkUUqOQMim+#@RohS1506ESP^e5o34M_O=4G(J3uv>N;LbYk3QrBvb$5!L&blmaPxEVTbNub1-s;9ZTp5@F0YcAHpuM5BQ+7J3z*tnk^ -zM>(WFx=S#wwx1n6JTB4Cjv5xH{KbU)5zWqMzQLuEZ(y&QNV<#4*II%+$uNJmdq%zE -z3fOkKNc6fF;Ol6(k)ds;Q$;y{n&@+ZUUq>FcFzHlCtWP6@~WdU+J3L3PNe@k$um4IBk{uR`Ifx&{Zb6+#h;duIIhn* -zGj!eu`Pb)Uq;7!1NB@=h$Z3BBY}u%>5m0Nb@)ps^g6~T&$!Hsdgk}FtIyuv|<-ij{ -zZ&a_!NIZ$0s}cZYK%2jZyA9`VFQ>Z=$C~-u7^?DXmt{2leRk-*#LXFb)~{lwiToia -z+YH-CS-p)*iFI*|mRR>TTr8?|U2tsf$VmKGb}k|7m2y?oW{dz2;ogkKyH`Me39TY% -z1Dw{tTBi!Po5gUv{BSV8y`>Kqiud+JM)NPO76YBTrqOn&uKNWazg(qcr1>$ycML1l -z*q5EF1eT9uA0>ULirX&Skj?wIL+xl0!+mhQAA&cH=*Pz)cw49+p2*I`zEZ`$IV{6~2*FamZg>olT -zTal(MGRb4qY3qJ8?U{aBtuH^$)?;+7;#HN6YXW1`;FonBl=X)|S!a!ZC~J~m)*t+` -zt_$!jYki+;*F*o#A2Hueb`ZXJ^lm%+Jn&cS*PRG=}Fe0}8E -zL>^QAGB?XAe~bOgfIfGe4&=o2UoX%TC6+zbe66#gv6Pr^?ULEm61-CU`^2I^pKi+p -z=JEEvUNqEydx=5&)rqK~yKB_o=qa -ztMRdh_wG%?d+$b3djED&T62f!`QTO&<%=WR0NyC%>e-ft_YtJ{c!lsjfmEMDs?Q+R -zT1XXL9Q`5jSJFEEk)dL3~PMpmcY-p*}o-VVtse^im^K=hdC -z+0ozg+xVl4qkl?kKN3;-zAY=|ThgyhEtI=|g!S4ti+Z*hP$D;`@!jfjQFd+;<=hHU -zuDwz8)!iz3N8K)ZN8b^k4KK+mUOco>@`j=`9z*t;ba1U*rQ4-O@)l(i^y^so-P*FO -zzNg(7vVU|_R^G4roIeRU-gra3ChZ1nl-!op?}}~?-4%CRtL>}b5-RhqtiH4T*)J1+ -zSBV?2>-kVtp79m?o^;i&Q9Zlf8q43TL+^w(z4MEybNq>{wAWCvZ%LbU_AN^fu=dC_ -zR+@UV@V2~>EHB%o34Rkx0~;+p;*$ys0+|Wt%6mVxNk8UAhzUU!U#yMWb2JEuRfxGu^%pIm%@(!TZ4LAI2O$Wp_KEZ=AOf`OitF?xE%{XMi` -z$o?oD^ndeKR`Z5#2(9UN6%KUm6FKTgNK1-U3yN9w|N3ls|F7?kwZ8QyS*bTvwG)Xt -z)uTz@YXa$e{a)#4;odq=NL>(m+aX9p>l0k}^6vXJl(i+TFZ4}<+H&gG7_xtV7mK5Y -zso)l$6Wy_`I00t)RE&!??+>@!9r=kJi72a2oWSuGco!S$JS`UgLo!+^&ap-VCDLf2 -z&S&cru=kQ%?hY&C1k|oCyqU48?=f9Cn}U9Zg8kNZRQ3B|!;x~Biv3|kj_c_h?G2$W -zpI5(!sM^Tc9LD|<#3|Ztis5vB;d=}x^v3wG&-MDgA+)|Tj;6)#gfbTiDZiVX((*e^ -zd)5Zi^&BkRuJxzeFqCfbh;+WMyHLHq9Z_$PPOqjr`bX1E3YE9yN7HQ)N_VJAH)TXW -zT0{LfO!Z@Ay6r;g4j+-u*9{5Pd&G!(_1>EGUroP2I{TOa-$SmJot<2N6<$1cgm3v$ -z2!5Ox?hCCq2=6>zXkTb`EKYp8d5(NTAAKOkYgs$&!@Sc_zgYsgJf3-{;4kqt{JU7x -zX0ce7#p1AI6HwxmL*j=B;@}!tmTz>dwizilGh$dc2L}Qs+BL$hm6pW|-)8(b9cbge -z+SgM>)$f|5wFaG$wAP(}>!G!Dd51bm_txH&^qR2LBLxfbr3Nic&mi@~!VUNbJTaKB -zc(Pc(pEj)V6cMD~v=8_)|H}ya?Q}=k?6>~{r^C03_Sl5N9(z20U`={M75A(l9k`%1 -z>3B8uXOJ50U1DiprNg$b^e@A{u?MPJ}(ThVtx>CdglR`gu~ThY%6N{7Gfp%J#C -zb$_q$*Z1Qg+r&R+#};F+QR}S7{;QPUQeJJDHb|#Q+qBm^KW&>9$3@$wMSJzwo?9IG -zt`}`(B-H!Ny?{o4*xc~Wc|dsQJu7<7e@v7vcv6%ud`d)(=ru@>8O%HTY3S=;fZjl> -zf(f!Jcn5^Mvmb@{JK@VQ%JA)-{RrtPIsn1ezu=($k#`P$zeJWqOXofa_1sIe1zOJ; -zba#W1Oo&xNM4g@%4`_>X?=srYcvg4=&@T6VXMoACHU1Y`ANDZCLC=W} -zIL|nGtQU1SFx+oR3x=MH8p}`sZI6h)j>mLA -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 -zx=#BL<;J3`+q%O*bfcE&)l -zlxYI^@fN=L+$t%^`bfRu71b@rek+43a#usu&IjCAV5O7+j$RkPgztKwNSxKq*8|0C -zVLf|IuL!UC4dR1;*BV~yD<~bwNJ}uYjdJVj=)VU>wHC16>yYYJtBXk+Q#hYjL7y)m -zy|b^O&$Fn{kwBmO`Tj7fgTh8S1J8W21BkwlBieTdnjtD{4a$=FWJzhCvO9sGy}aPl$baFYqE)e7IPuC3w_Bn(}+~;O3a^E -z48y!eLTl>Jby}93h;Y(KS}V%->mr!uzBT4?{%;%X-&9kV7Q_jSeoAQRN{f3!~7 -zpt3KE$a|E33v>%|B5#PG53FC%%b<$=!$isbyE0-jg}>l8%4O_z5bL=(R#(GUK`eCt -zV@X>d8AZQ75A|G1_O1`Ai?c+cJ&|BbS*oUDzi!2mS7GBzu-EV#%6$WWBP*U$UrGF0 -zNncBo>7;l0r$qg>r<;jB0xCJ(eAK24!wO`xZY7f$NdeG22~az=Dw4b%lRXJ?E3Zwe>r7V`>Gb^xm>UHK|dis%mz -zW0GoQ6EKQ6nkctjzA3f_zm^&`2DSyh%@xf{0U6W@$)!R+Ti$h_3iRa$y`Q^z=GP^l -zC9acW9U&ivGk9tLMXa>%!EE{dD~|Q9gMLJRP@457!CS5a$_V1Bd0|8&a1t+r5shue -zdX{}7+G7()1M0Uh@7^+4{l$Y~`&-_%xG(l6&niDiR@$&rQ%HRL=lwK0)3f2}cgk@1R_p>2mRJyHT1?{vC1CO$#kb{SfjQxx-JS(RHAVPS){{kl$~AvUe~_ -z(Zt1nzzRMmBfmWUZd~9fb`&mi(+bv8^2g}=5%tU+rQe2s -z@7MEvs2;Bw!u1$_2)Q-J;q}MXS8M)$JvD2Y$eyF**b<#;RL6XQj(3+?HmjyTz)ydj -zN-xi(JGiomVV|1ezV3@GYiN{zwwG~6X1G0%U6o!G&>+TuyX60)?MvX>D6WTRc6WBQ -zl5DNkw-d)J*^cELAj@$g0}jr~5ojG{4Hz2`hL8fSESnr0ZOH+owB=7iAf?czT;(W7 -zZ6MHw`#uV7DMwQ%Eu{r|Q7A|MZE4H*-pr1)vK{F6`+XljV(renoqOhgo%3GA;XWY* -zEwQ0m=v^?+{%bz@<%mV2KHlJq)so&`subz%b0bJ^%R8T&0j3>oAbU0`xW*f`O-fXA -zdVZv!uYpGGNATsll}I&3HPjFn^>_8k0^QTt!M;NX+;{vJQWr@Lo`$=vhwBARP6ZKi -zQMIu5^kjHyqYCY}P$Hgx>4Xz>QHrFhbkg6xmQaQfrqX(dWah7joOvWw%^+tzz=+b(m^k>L|%9Z6~SakUDP^Pqbb?eSVcUE;;M_5u^_^HfqhViKo91 -zYybLcL61Apr3&&4re`m73#1?BeT(vg+iHPQ8Tm-FE6}sQU2Wuljm_(g^EeK4M+mH{ -zI%N}a&m_zp`B)oCj#h1@?wMgG@+_s61Os-oD*(`#nipRLfO~e&3^8}~V-2Aa03~1` -zEstpeMo_R-x&%qQhvppE*>3N>5 -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 -zIw{ls|E5PiFR!`gUcqU~J6h*++%yqp9h -zX`nXuhC(zELZ7FFlyDg13fA|P#aX({}nCtt{t%be8{`(4-Q@`;wP(&#n<}rTP^j;d4%n)&{-9yPD~; -zFzMEVq)&xfRgH9qgk_Gc!v6$INvjx3^8H#wIfE`$>{72z7-Mg=LPlNfr` -z9)Mi*w~}D!K{;oQ<4sbKjur%u}KNE!%X5Qmq_N*^lh$GHscn{(D5B2@YbhOvb) -zv;6RvFnQ+z>ke{XDHHD>o1Pr-@j4M76YmlSd_Js=jX5ib*hX>BDAQ6Y+yz08K1wTz -z_Yjj1&da=pv?1y8BC(p0fFHk%&SdCq14>qCgAxXGWNR{GZ|o; -zf$Lkr+vTn;)7*7`t*Akv7|r=Ps4PwoRr1NlBO_!0N^tWL?g=vI9MACfCbrio%&_zg -z_(q+O5oF0}G)qsV`JURcloeOYXx^&QF!o_1i>pT{dFS~^6THn~#k;6~sT2BM8!+or -zYf&B|F%&AEc$cw7ER3zo#A2n!U9BFpc#ugR^-Vrtin_ -zruu%w?P=w_bDSKmxQi_HC -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 -zleAJ0PxT-PhB~fqM?xBp -zMaa;5OoSOXa60BW#9B7s62w;U8^m|mt0BZu(2_9XDEKWK`(;|I;J$AvnTOjUEoU`x -z**@BNEkm7*LS3|)L%3?d%}EPza~ZPQj5Z(!_#u{CJT -zR-*+e(1GwYM+@>hN0ycvV6eL8T1f@Hl}J6r=cfzX(-G^YTD${@cg7;bNuowHO)5#F -zx}57ox&L>&!wK=$Rq$wPNlWEXd4%s1&xhM|DWBTJ% -z!Ev#;zMyk_e_n1qKN-1K7X@!nrWQN$wuE9N8Uq(8navxB{Xxg#N|L$o4C(Pj>ECf -zF7fyV&Ep$5?S--#WBb|s)?-d{&xCn=_eZ5$iTybpOPOdU_cPzW>&Z5YsL1Il -zszvA<>-Bcv1~c!DlCkn_7O+TgKJ6_lqls@7&%OJm3mH{DnX-h>KSq!?7I(UZ&E=!s -z`8w8rJl2VPPi#q%2mbMNssB3E(|;|sN^O7y+zXT7mX*Ls9{yzypA0(zI7z}lNq^sR -zsFZJs|6ZGPrmv^+Oh3ds({T^{Zo0gu{s)rp>9qX!)c**12k?FO#Y&Wm=X?IDr`(+N -zcO5a$5R_BAx1Mv*6AsE<&;npQiLTIj?-b@+r?483|DOs<2dY87_s6v -z&LLK*Od>*3lqrVcq0s7`K>`4 -ztw#ox_w)h!fi7~ct(7)6gUb7m{-NG~N8i)C(C-(0U*}S7paCKpLg%asJP+tda+jr1 -z5nGktcPxy}k*qXMs(?7GLHbR_xEuDn{np`Zz=qn%H*gOr1NIS2+QDMqRy7Fw7dMG@ -zhCB#q##4pPv14gU~njH$i`#BN+E@ -z5EFgk_AbyLOAV{S&gd{J#mi7i>{7Qj2)l%|QpMN9gtZANm^z?*pxZXC#Dr$U{2$4% -zB%1i)Bpw_R9a_+YkA-?-#x;_)c$-=X~!c;)9!iCc!P667KsA -z!e`e>q}D{ZVQW7__%?B^mEM<^L_JR_?-u3ncTf6m|4HBNnBuz!CViKj^xdVt?_`|l -zCmMte9e!u?C@8~L%8*nW-atY-5?R7duY^d!ckfTUF)!BJZV25>vEIv~LJwyX#Cy>K -zo~wS>_VC;v0ndGg<2mVn*XHL9lD_<6C9c7I&m6-_#i_tpcsH$=W2~4OrvhVP+DeYG -zVk%-ET5>P#w+#|!&EX!s -zcAEce5W3NI`g}ttZgwTtlF$*lneL$1(cNqHE2G4_i-9;_pHTsSbSRYVE`Tv`p_ggk -z)=pAt%`OG~OMNpcBP3&9&f4bnUB>o^&Jgv9Inv2+A8u-mV>>iVgim$> -zZu7w>ua5d-IiKk?HzEjeF9`raBDD3IUG{6xvCgzvY0IOs>lZ!bGuyO(oAmIiljq8#L<9Y-C -zLay0UX2`Q9^NDBD=L>MFJh)9$!i`KSZ|bva!=&;yPoQ}P5BQ}S-kP@#!Mj#~GXS2V -z&B#WJ`r^Ide%>-e(zJhqy}qVouU|Mr_#-Ip^<{jo55T^E{xaX|t6*Pm;d{Nf|1(qU -zf7jdp#WCDDL+<Oa4TS4x)etV -zYdz1RrE!&KNSgIfqm*VHvHUdaJ%#m{nR2~8JSl%gN&ZuX{8e85`6c;3nUsG)Az$^{ -zDR`Zg`{Z?hUYaqH*9jDOojxD0^YRR#2dpGdsuX7aOsnWS7|*WPAb(Z~zw;R*<@&jl -zqe{4xoYiXxPN=Vh6XM*DmUA-3Vj?|n6=Gq^`LRCB*T_*NtD-nR=tEr0Pw#~J$$0UT -zJzOy9JX&Q~zVqTAh4Z41pBG2%gJ+zj(ThDK -zXmFr}j%EY!olORbP|h_ljt^2-337WY-&Yi8YbDy6K^?tZ -zH$z*xSOZYrfAD=@<@-MJ3EyYgpL}111f+8}6%_q1>k#74J_ykk`>(m=eRLvC|7u+? -zzXL95dVG>JeHi8iWz8rLL)()je4f^x+c#@}ZDIX(H%cGG1Keg0=XL<*6m9kfpuBS} -zTH=>_X`}Qne>At->*p|~F_2aiV2X80>-ENwk`j&2|AXQlao5=oHFX!<-H_#5%Bw3Zgs#L-$-sdc7 -z_fi8TsYysRfDiv4Z)~!p+DrL*A;tDmE-a)}c`08jr0hpi>LRFnf5=fu;y~9rk>!(L -zf3c`4Bvx7VT|Ta&Ue_9$kgNGx{^`f<9}Tl>7P3WNEZ -zgR~D{2Zk3D;d_n3{w+)DX@}lG;`$cu3uI<6OY4ARuB~t>%43hD7%ga;OwsJBBLT7H -zonb|Xb!ux-jc^-i{BO6nk7K&!BF(_@JJ+Ssh -zjxRtUZH9eKyyuP_S4gd7?Syg()DW42-}TUb+LD-&g#tS2Y*J}m!gY>GgCrcp-d)Z$Hdk1+ -zsLgS*%2!FM2kEe50V1N{U8RupjRSq%<>B`rKb7!A>ZZ23LZNC_Igr|w@T6sxD79PQ -zi49zR0<%Y&Y=F}n=?Yy@v-%wT)v|gs{<5s@;4jJQF=`(IPexX6qV_THe-y~-acZ9m -zPv*ciC$b7?Pg5LAI>0OGAg`opUP&EZN%N>EXFe6Br196x>YeyY(bq>-U*J8%`q8`i -z^T0L7Gtr|~D*97LMQ>(O(U;>`(@M-wdHD-@{=n5ktZ4+(E4=g?@4HI=T~?{ZUovoY -zmI;3exbw>#Aq&A-5pkZxf2^S7uuIbm>lJ5a3D>Jay#>0Ck{U<46-ofe#z&Kkz!W$HQW0#9}~Y+dG+ -zUTpWMBki%Tvx>2&1YfuNV=3GF0Qmi@O8EWt&P0BH`vlqEe<@S&_Ma<}?ZxSO$T^?q -ztnt~lZgC{Pe+lR1PATE{KQ|@6|8+<5=a+Ln{*-<2`#TD7-zFnhp@)SOV;@7j?jk`*LY2!bd8@{SmP%`f7-)54eCxlY5C<>Zx_~cE#5lg -zy)CZi)4aDwE&qD{TVb6#fmrdIN$dIF1-MuV+{E=<)X6plP=0lqC%<~s$5$ep7L#zz -zQ^FN&uVT`c3;OFkWjQ|CNl{PS@`+_wF}X)hopKM=Ov*2nfz2r7dt>N4U6TJco0$J2 -z%kRG;e^k)bp1x0gZcA(;%w&D;teDj2eqoY6_X`YDr9L;uMyy}gO{LGpoY(69TYYX0 -zO58s%QJ;$~J}@TlZ6M5S?hC;I4uh|K)EimFdmBB4@%ub0z1JZimc?XTD()MF=2$WA -z!3xNm&-&xo}Umb%dRKI7B)K2oCbe?8sP_=JL -zN+LW*Ewq7?V0TeZuPfwU97bw>e^a*-Anx`-SONkyza+>oB43X!>Uq6x^B}qDkgQSr%%$Y -zp3X4Uua|waL@&GLzxcMOmwmKEFZ=bFJimuO5pP^lfXja(-ne{Hc~j$!U6ab28gDH5 -z!1nM)egfWDI0QNWfsRN!zDN+KP67NuW+_6<+x&aA2{W)0^G6^xQRIBnF8Dje$MCjfm5C@z#TCq -zTp_M};XLx%KLM}2Rw$?U6U%w4P|om_c;zpX@=Ni`hm+b-idX(MDZhwUaBkGNe_VH? -zpSa%5NpMr!rOhRh2l#bhU%Hw|eBX9yBR*YCMci+f_Iin3T3vjiUD_`LXqWb@fY8Q_ -ze5zgA>w&54(nhDSOFLs9c4=*KxvpR3>w2_gU7s-}?VpOvb@3WsucP}|*Ifm;-;}@| -zIsvYz!~0dBR7doBz^}vWiOY2`e>&wlTRthjlm|FcwkP@90P+B5OyB_|uYFY9ixW#u -zBWqdFrr_APcYoXc0M3xS`;LVk9*Z^uC&fkV$RRRQ8R@&MGSw4SvT7T*QA(kmvKHh% -zQ8rhi_nf@*uGLPmYCC#N6Z9ezYzv+v3-$+}G3**AJqVP?&_zlV^$4$D!$Qo#y -zaUI>gPDlBf&2y*S1thR>~EHVe|y|nucTnNo=AqY -z1IZ9O08WLss0zD&gTiCII8;fJ!kg8Nr3G@<$CUp%MA=Btk5N4EMPhg5dlo8*I%9KG -zi3SMww}s<+M_kZ~PX26YR|jb{&W4iaD>yfCdN#BrrC{{y1(*V>uM7HOD;28M+Noef -zwoav$pwt~lV>v?&fAA>^-YJ|1>39pJLs_KqzQ2`o(n>oqYNCep%lTkj+`Yw}*hCtG -zGsUfV`W2`l-}5Df#(~3CHNH;?xvJ-r{>lCLxOYYgzu`0a9z2z-=Q1!X3-`!@aQYqu -z|0FH_bi9<7K9fm$mXM!9UXs(ZXTo`Cn}VKQ&x-VH&iP7Ze>100LmVpa{L@;+^_Z0= -z>OnEz_2b47Vyt>Ggka& -z5}x{d0j{A0e{SD4DKjuO6+Qb?ZBnM0rT9#b`tccQlKASZDe;*xDSux!DQAC*P0HCN -zHYsv0%bVm}{sZPR9QDs-Ws~4*^F0oq!__c1AM*M7BFxR-y?GZh^oAxe?+tV~*<=D{ -ztpFJ7e=XsI24k+hNmX&j+QjvAy9zv7@-!xVOvg-qfB!n!3||(d(>Ui2pZlglf7+Tn -zy9{VajN4^wVguG@ZkO?8HfWv82J9_9yNu2zPfp-$g#I5$`eI-9>@m)Tnd>OnVMx1- -z0f0joVS%wp+GIEYjj=r;*NtuV>@x7J7}2)O%iRKL36uJw+6FwoT|Lm2)42~sY|H21 -z7hz|cf7}yrbb)mOafh(P6$+0adD2Gii62Mp0N_0FJ_z6^`v5rYUZE<_Kd1Ses@%#! -zWl4*BB9^tk$>UHC;qx4mM>&s)x4GWi=ICbSsaVc>mm0hd0f}{N?r=}Ww>A^+h2b6e -z%}aC1_vix6R_DV^yC-ktQ2^F*`sF=ZBRqb+f1h*SrmY2^vN+~_O`fkcKIU~k`;`hZ -zd3-zzOiXv$O+OENTw(2RWc~=h@(e!-^7}X~_jjOl-6WRW>Ye02pngmAAJXD!jgkDY -zt^-W8HQB=>6uSIeuZyC^`MtDYwH`(L6O6+wqzY~lXI{t^20Ayh!S-`mmfb^(_UAwq -ze|R#AfzC~k|7B0!khdzMYKc$i_0aZIVT|-b4AOxncvs_)j%_?%QTfw|bt8|qG2$Fw -zqw?`o3sIECcnXWzHIR;VDa38U^rWf!_WG8>UjGR8bfjdjUs%}dEqt$^3VXeRpTl25 -zjabP!d`XkX8(A~?Is7H`o)|5SXYq{!e@v8Uqt>xe;RDX_($9-d^tpRelk~ZJ9ve{4 -z_xaovHI6sQ`=%GLVw_U3*6(ieVozBY?4!;LygJ2GuPLQ=Ip;9l+DDxFqVJvuf0`uz -z{))6>=hU)4Hp_qG7g(k}+9b#BLgx3`{8XWjUoGh)w^c7`1A2+On3p;L??sz4LSB+% -zG4HD|k0+b1c(M*LFw-&e?&_5Qt3?}a7x{-@--V+!Bt-rmxh -zMI2P@9qNh7fdYP+y6xEiT$EEn&ZR+=QeG%12It%SZ7XwA2y-MqpL0Fm3R)?o`F936 -zHcEa4^1c%kyZedH&TW=5@2_zy{88(4b6>uZQq9uGSQ0JnN!J9~ -z9=BPaSg-Rx0S87Tq6j~pvaE#@`$(XV)@rjDi)gYRs!997D%QJXsxfocm=2L+=J~>E -zmVVL^j*)8e@y7`HIWr00e_Q;FMYzv43%)|wjSkpfV~%qX#U7z2-izn}_D_uw$N3JV -zmXk*1J9O0AYa*wYN>)L?e_^Ib!g8GZ6{IN|mHU-Z>x@c;`|CviZEGu2zV&=!v&4~K -z^ZdJg-t^OdpPQ8b1=I2QV;^poXWvC^K>44--Vb}B9&Nk+foxal<>5=VF -z@1eS1|GcYN@E;@Af1S0$&IO}0UWPb}3GYoZc0lp2-*wH>PuHa-e!6aImgn#eCiGe& -ze#mXj!VmZW^gG}4l

N2S8LUa>8L(TRQwI12rR{vLkgN>0fq4~i;4MZCdrm$VDH -zui1;)X#JT-L@+&F(j$<51K*QBwFA7*4skcZ>_xAJI#!}xfAPkh3?s-APvVI0F1eaz -zNC!z&6yH)9DJ&%4F?v7;>8B}-EVl{A^iV;QZpP=s_$lXZ!RM8n>U7WB$ui5XWcHgK -ztLGE<{7YCPyOMgX(sRi*QCAOY?)mt|B2)OhIE*$f3v%tsdT&rZ}Gca{_`vQP?9LOKj>IylI -zpR-=Hxu>*>oV7eEp2m_1!+TT4Vq;d$`3=DM`NY?}^*!vo4D&TWFY)>Re9N2retKz% -z&yBa6CGOc#z^nNFKBO<=bG6r2xnH=YfGzD<&UxLgf8aBVG~v%|mFqZj&NG1+#}>iL+s#`W8mfx6U%%C2=hetEwkD4_3tQ>?Ni5 -zjay{A$TQ%ZOw{2ti|B{dBKpx3O$Gh_1gl$Q{K+Gu6MYR9^FCY1lWTZ-OQ~%W_2jg% -z78wVAe^i0IC`yFB!HT+znJwNuTIbIiTG4l@w8V?%AiccAugF|kkMp+XkG0v+BJkI6 -z@*T}m`jpGrMe&@oRE_!c+6T7C{k*G$ChcjF_~nXEl>0271UI!j=ZF@Gcfal7=c5Xi -zMk`F}*)fUpZB>i7pNexdZ1tJkql&XCigyOSe=R(V0;M{6O#Hg|V+;NIHuLL8PG}J_ -zW7qnY@Ku;xXIqMg{{dqUJ4XRUkNCUT_ETEKT}#pSG9R7HB`DAm#LUCi(Wa0%m3g#P -z4!+9?|B)e;$IV!71~I0T^PWa|tchj#&Z7o%Dhk$muo#OC=CGr$zFe{{sHcE;^%>Kw$I`-^GhC<(D -zxs{c4>y_aU-d33=t&x-W(P=ao#M>w#lBg?F6RgZgM9NfScD)9?15=EVq^h}UIt2M| -zml?+G-1k4gE2P!1r=^1jk<=cQeyg^I9_dy40FqUgK+46HNuF|e^Z+iG2DtKl0n}Y_)d$wceaqr7OwEgf&DUwzqJT?z_69!aHXdX -zr}7|e)avu-M(I2B-|$@re?RY6nJLX}hVQhwJnB1OUkwPNjU8GGKZO+T{pDa&=xKWR -z35zs~LQz(;Fu^@6S%1|;gs(;1OC+9F{JUfpO84W`@Jt~$YgEpFQ{*oimOAXX(DuIg -zM -zfq7Rkv}No!mjLgIBUB5&yC4s3xECRH4_qp&7Uc_yjMte@?iXDQXXHRMRzefB&6Kk7 -zW4Scvihao1+Y4|5C2$jU!d){Zj`=p%F^)RN1D(O=%sCF8656mcXqL8N@l5|Yhmmoz -z9^`SRU+#YROo?yBe|gw%U&#>a_zC4@CY3knl{ZvU-mx>Kyq|OXK6(GSCG!64r1DPi -z$~&o~ywA;)eA^XM>IH@;pS4R#$HP`~Sw=U*h(gmWFV@!5okZgG|( -zWG-&(yMSSDidqG^2)93;DgCMZqZ;kcUu1db#|eiFSU0l%iW^vegr@e@j=A3S~N(7po+h_8XY}UMdzLnbb|}RYmdfg(Jy1N~IFk;&g-Jrfvid -z?<>*v#W`nJ)bi1iH_nvykK_Bak-T*hOwmSC(yh186z3oMA)!i`>nP$>*pLCOWe?i# -z=>ygWdX$#ZnD@<;ah`96zWzBnG0yYDCHcRbl>bCYfBqYj@}DWme{)j)b0zt|pOpVn -zN&Z_=8JA7&jaR&W%e%Y%)^3JgbnavW_FXJa&Vh6D)hN#Y&CKs-;7xDOq?Iy)K2}}p -zE+~H!-v?+9nd0(3vA^C1*j3nu-rJZRvtb>;>g&B7_D>Lgzt7K4xAzv9o0;&7<($LI -zSq_bKf8Echz-o_uiKy%j$k#=5{QHPPwaY;qOd!d&j(TZ)F(mPL%sa -zQ7&}dT{XrbTU7Xtx+`xL-%&qK{P#?0LyTkhD~|c9ym-G#EA$C{;uX3FHwHaEsD3xI?t3OKZza!mre{vwGXUzw>KIBpo1S%oSeg0g^g62qa -zdo*Q+&4IISV_EZ&Pl34|U>^DunC}D3{htDJ3&5-d%H?4WcO5~xPQYEqf$?rv5^=x^TL%qqPSRsXUF+7LM6N+(vHgY`A`x}ogCG!48 -z!V$=O09&F1O^ziQ_Z#mF=|^#EBcs$TLFLXs(Cjh;#69aSW|!rXFPQyhqHm&& -zU7A7CLE$^(2^hOO7AhJWGByb*=`vcV@|tr_N=NyE{vM -zG<7bV`^H^a@{_4^gOIx?OP-lJe>V)d_XgmMG!`4HjFXM;8jr6xz8ghe?WcS{n4bML -z>NQP%ClqGEIisEe#B)9f;L4L<jFWVRbJ%JZ2{!j -zcS1?2jWFwH;CJilRg&5SZ+U!MUvH7rX8E?E-YLY0=Kfh)1ucZDpo?2$e{75TW3GR( -zRmgRuZHSbsZE6)h%ZG^AyQsI#60vi53>*dR=yC5bCCFE>3Vk`YkdM7a&jc4#GU`dE -zlXvk*5-*qz#a*z3Wi_#XQ7Ny?pFY#RM<^j -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 -zXBTNwe`c4`r1uu{dUU(=+Ip$~YN{xqIPP;0r2 -z^NOd*F8HMfK${NlIKNBO`{IwW-WPwu(kw|b16c2zLcOpL+15T;?5GVGN=$2KKnq -zS&r1yd)hXr33|N*=_YK)agm~p>_e8cf02EL`RVkJW=q}wvn|_e48M`+{tGOq(6pfJC6tQkp8G?C;(jhvR|DD7C -z?#KV`&;KUjFQMW-d63h+gpWbk(>F9h9Zwf%Ce#|BpWe?ZArcN1Z;)ih9e$57Gae&& -zr!g}ghhJP#jif)+&aIz+4m)xOe_+X>8vGW@NWd?tr;W31rKt&ZJ0G=LfX|y^LfSS) -z!=ZHOY*MUci2fX~_upH&g<1t|?wofLS;e|UqAexhoLjH^iaUE>Qpnc{6!`X(o2 -zG0Yj>3vqfj!74>8dZ@xJe=vJCa=B=uwh_|4z|&$qA`ZlXWVxy-=#?IIhg~XAWR%Ma -z-*jq8-sT)Q%&sh(f8(X;sg8@;Da78f9%rUig_NY_2rzNhtyvf -zCM)v_-y2)rT)NNRJgob^gI?6T>4fes&u%GM3`W|l!d}ACPpy6O@BGaCSB0E -z_|())K9ygbf6DS0>{e|B`^Va4EE1lB@@enF$YMy_1bAi_#c#U2kp8)GU^s#jI;#P{ -zG^ZL0=2ipm?Y5}8TCguSX0d8@4Je}1I-6a%=>lV8Vi- -z`|$4*emqV3AHr`%o+QR2EDPW2&VNPk=GCl~p9S>!=dJl{U_Q?GK^E*z_D>A7E*w+B -z%z7td!w8Mw`783(&l-UFW){p}Qf-^iZmvg{;MZ$8Om37;7uNZ=utJ -z%MFbvf3$;PB5-G{h4(I{;7z6_rV+CLn9v95abMXROkdM57Ss^CO>PW_k3f)jkpU=0Im)7Zo|;R -zcd=#zb#BjQ&N)Ta1F=Z8B29%JU{X51y##Nlk$X2#Hv&rcz?h6yBj*VFsWEzf=j+vM -ze|BA%&3ZS)dO|wOybkOC^t#&Fbvo;O7v3MDy=-S)weHC^D$}LBj|KesJ3#$kWMs@% -zRbp?I4Yd7Lx72*wYkI!z&+zvr`1_+i*#06w%fm3%F#z4LQrLem>9WUd(oS~BB -z0YX=d?)nhY&e4H)NdMlm-1EmKvfKmVTGDq!JkUN};@X0J9gIF&?YQ4S%|w3>m^R(t -z1D04OK+bmzv%;2DcDm$$UHh-li+V-sbmQ&%C|a>4yI5`#((ErQq^+o=D{%4Lf9akb -z4ih01$6$?lse#(yMSBITLtFttyI>2w{-6b-SM)XJk3D|c@NAVI1nFNQxh(9@L_8_r -zxVp&Fr8ym+Fxqwa)Cz8sVrCqq^PJc8?Mb5ekjiuZOd)tf+RyouKAI#dkas}nj}+>F -z7G8p{`h98%LH@yXCXoq^WA2w;f6~iVZidZgrAOQJA5vdp)(4sOnERK2r(oU%&by%g -zcla_L{H7|Y11tB+Bd1IM-Z-8l#{_s9_iVsPT>u+|mFes?eS%^u#q@yXikzBY?jrpD -zsG`$(hlNiF--+0Ts39nq#4@HboE~f(D)AZE<{EEKis?ZM?@&hZ^ns+;f2=n%Xa^li -z^aXVKPMz-W^MBB#EQs94H$c2gG|*r#z-;;wV;!u=d$A9kWc2}xQP$!|@axQfSw~qu -zDap50VnKrDI6-p_%Phqc#HD(P-vQ|EVEM%_(>&wJ(8lOZJVdjtqZ~x*O^N~hhpN{r -zSWYjsdJeo75BsvU>O_RGe@>bYEpVoD1@wC=om(0}t$!15nk<`6D+kQK=xglf4IZH4 -zWnY#m3h>z(mbYHh9i*1+^6}+$ -zR1fW~L?261;{wJ}@vQw9%q62OkDS+EO!xWFzg6_TT<_m2>OIQ%Z}kou|GD13>%nvBho<{<-9N_Ab&pQ>cwhS; -zy35`|%Y~k=d*Dc;BX+K2PfgbKRH?3ij{B)oG`zOjaSS&#Q{b9Pi6D*j+mg1ec -zjhKI}W!`D&i23JQf8T~2+Ni)e{PT1vr>6|76pm}i+4%XCa*R(obX -z%=OI7ipebHe>zK{b)ZI3ws$r^lp!tJKsIi6;ZrzE-_(bDPqlg*BBERLz}hKVI`g1L -zAiT^38d1ikrWfp=Ym=c=e);RVyZjBkTL8@|z6C4)1Zz1PfEbK*mcFf@87uT2sSowJ -z%ir~Kod>zTO1a+EG1gi7?^3QhMR@wn_6&LUf5wvOfAD>?`DBvnnGJXZcO`|!a3VhW -zc5@@!wPXg2`y8O_aj#Nn&*~yOQ`_4%W_CF<6it~EusBt=U$EZ{|4#cI7#|zP+)@`p -z(#EV6m9pD~^ut;w(Ug9f>zTmEe-!KwHH6YAc|saCuh6B;*j8QI9nH7FJhAI=?ty-K8{V%ZI2euXfbhTdpl#95 -zm-_jxl$lTBDmV&h9Q%!ZVrsoJA6%bHpxi9#XVI!+?r0g>a(p`4Rq)%$ATEQFY(zan*O7OqDtqAkM}sS@t}vTo8kf8cEJ&VT(^o$?Z|K11%YmNIAo)_6N_ -z0pwZm6$)CWkY8c5+R_{yJwwWB7SlKB8O?e#Z@;Iny~|O?vX5c-J-R1SE9_LAIK!vyZic>FZ{_)Wdhq=4^cnKrteC!0Hx-$VHoo51 -zf6Mwv=gsituRku?l*GC>&+u(JJ*b!MJ$ZI!{511Ct1PD@%Z+1xxo=zh+KDQsU06!< -zZ5~`PL(-v6nhWby10$uAy`=Q% -zmZ?U|d-e?9?iJK*pJ4^>TZLgnAYw1DQ`>GYZXGB~O1Bxt@fe|oM+H<NCk`MJcB>VGAq?VZMAHF$DKh$TL$5IdKiFd7)f7tr% -zEZRDNa(L%lr?j&B^#uQ2N6|hqWwI$iEq|mt%V0+0*}i$qS++-iNmYw6EzL50Gg(YC -z;n@t&CGdpRH?3ekK(t%Id<~!K_DsQi&UepV&Jn_I-}}xOl7EO|iF9?8m%5wBcuk -z^ttiXA=tqe>taZJP%58a{2{dRsVu2P#Nc8L(sz^PXSx%%Z>L)J$Px;cP$0)Aq@66o -zpXgFYx0aQCEKGy%J)Oq&e<};_*wJpFAo`_CnTc|l)@0(DaDSPDdz}{3VYRxGAnh7R -zL)qaLhL8!nht{H9prB1Qqy=zabQYe-M*C7#NE68LItDPk>QfzHJiWH7AenmGi6}EWGwW{q#nR%__|OF_V>@%uCjE}aqHsKXbkGfUQrwKFqRtAU<~@k -z(HPW|EPp+XfkL`IhA5Ce->M)lV1`Yp)Y~DJ^3hk9^&rr=|uE?tmEh*uj(xL1bBWNL5*l2)5sI!=Kza;BChU!F~1NWd~_m{rn3+7XLgtR8)8JH=@e}DV_H2w*qwFv$c8v6yd -z4|7T=)nWiX+_;um?`9XonRD(*4DHup-u%Xsn5A2x&~^L)F4l>6VOH{xPP6c2upcLt -z`tiH}pZz$g)Q`0cPwHep*82U>_%6R6YXkk5;Mt2i8~Sk&>Zpn)b`oD(-vsTi<1gs& -z3~k}#6YKbMfB3F!F}SjQxD*O=WgWlDg7=8CVvimN>T3hrX}wg%i~V2uKzF~oS9c3c -zoWyT#Y9fiCnN1e1^8Ky)%+dyCIhkY#+Ib#pIl%0LPKNz_znk6s-y?CSd2N&Ujnbf3`odi&#|MOy_2VPXNxN@V*W4 -z2OH%|z0Q;dScS0&Q{q)@D*G|5G=OhCRtEq^K)Ju8{NAlJqY$pc5oL4+L~Fq^G>akD -zQ7o0^s%x3kx0dR$KF(|l`}=z&rO7y_?>&7Ea3p*O?%&u}tP1w-9bNE*y?jRtJYf&t -z0sUTU?M_YJqJJ8?bMOe;zQfv`xvzzJt=DgEBbzbR!kAQ@wHu#X)Ua;tw`1GrTIV1rvCTOMTG-~{(+FA`agK-e -zbggsHIyRap*xyCm$Tv4cxY3NOv56VHneoplKvChi#eW+2?hPHt-(4@hZ^6!41l$Ir -z)(j(j8I>Gu8U47BzQ__)5w=+c8vfc;4USiE%&}is4@!F}kr-2|;!FV=NeKaT>_3%F -z+*`{UJQ&>tF!~$B3nEG|6Ghl$acdp_J-+iT2IJd{rBIl0gv}_z<`7U$oE0T}UQz|k -z1NV^OjeiU!g)%%uupUKB-|W9_W~_b-fR(cX;LS|c`0-nKeN4jT3!E#Xrp5XAuJ3Oo -z7~93FYpjXgHDQ9XT{s5jR8}OYs-fEufU4xN1XVR;|E?9EbqG~8fMG-REjp~_r2s7` -zS+^b6O_Z#2&TL9T`Ik5kWnQhNbt8bPgn1fHMSr(&Lvx%HS*mIa4{Ow`VaI{AB*tz} -zatr5pmv;i=tN?rqxP3j_Y%-3s{0x4rYQhXhS?Gz-5&S)GMqdFOUx%}aIY#R?n`Rx( -z=QGt1s#cguc2D`MqvNNt4KPnNunXWkeYn5m1;~fhMSL5-i$93C2RXQ@o-Ci5jsYKt -z_J5KlGsT#~lyHh!k^HHuz&QhWtU8ImsZC*#YJ8?xq{c1o)vYh$d6ipa0`=|MUIBg? -zV&#(w_YA-`>zRm|z=6MauwG}zq6&j&GzNSUJT3T(9IOlAUPToCAS@#N>psx?*J`3( -zVZB*kSCyE>QYyk{EDo&uwS1yd5BypKz<*>TzJ9Svs|nORwk6aVI6a>gB3bybV(kY_W>L+%C6^^ki(IVX-6u1U;B0}s9h7)Cw;D;^+ex(;&%*nfy_Mist5i8NBV{aB_*h0OoKHF7?&uF%*3V)wwrVH<%p{+*2 -zQt5?iooVSXaysV0?^x=|EH`^kz+!x%I-YWkhg{<=EV)pOr`*6tmBtsJ%b-`I9r%V6 -zPR>4xA%th9X{@{Y%K-EF5mf+pbLW?6rt`wv9#{76-3yc;e&6;?chjK^Pv(FN0@#9CScE06#}#SkaDSY7Gt)W&|99QjL8EgM -z@jWS@?;+kV>!O~k$L$cu=PU$h)wDR;O+YDY#8+P=8m$#e2@EgB`#Zp2j(9Et6z1a! -z)T%TC0RWuSRCXnIPSnM80T3@>zg;4C4cswsx3C2K!ryp^84oezEnG)9qI@xTm2e~V -zxRrZ7uFcif5PvSO#ko_V$6csluX5~jtv6rJGU#)o8t-X5f^AIwD)(z+(>V{Nw{Jx1 -z0!J1pYj`#S_135~;+YaqYO1qjgnog>Y*MKI)^7Zg;qLN*K@JeMb29EoRA-|zu#RnRY^-tyPNXM7*k55c$M?;K(U^z4_+6=Sfl^hY=gDsc -z$gFaf0A%{*;0+<=hu*#f3%fT{1K$fHVSSk0pc8H-ym}bm)d3i#AL8uGIz69FEr|C)&C7f?O=FcXpGml|I_O$#EjRKgkW6YsHKD)F&r<1LZo+iMyYBBOgNRj -zvd4!>+y%Xrrg|$4aKdOBzkDGh?3T8GpToAZxqliDw}s2NP366*=^kFgK1C#6+sdRx -zWy5=-qzmFTz-ZWSYhgrUw3|K4>t_WqTH3S4%(%*jl*TaYPK0Q+We%lLP45G_+GyV> -z#Jxgso_%|EWDiAn}C{b`0Z{wYO5nrwVU!ufe -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 -zV+u_W0splNrip3eyGN7Q^@ -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 -zzi~`?xd9;rybW=#4M73tp_lm2W) -z`qnY&-%^9=*N*wVoqu}+^OwGEEPkk%-)*JxzVE1)x}+RZ!Q8|(&!)0Qd+T}lREoW4 -zaWy&6*(+*GWA<8?e~ye}b~8u68GhP7E7ESEG~eds7g->!|JI6f?^Kk#lLviq><*@- -zckm!DuFUlP2;9Zdk3g@GR{HPa(vN_D*HtxB@|ykTBFf>Ii+=&LJLZ9+Y&*h!)AH`a -z7FXPp)y?$p$quZDkBzDGK&lf<`*-DyGo{UrvM<5KB5xl^ciQ>n=S4m_AHoaZuTKox -zi{Nje@a+-czqXma&$~f$A_AalI(HD6?q163WbHplvWDF*7a;A_SQhl4NdhcCquK+98^xW@AB@GY?#$c43KVi3~?F_dzk@a0r+JQvOM -z{W^R>3@8Ux$YEfMhs>08j+;J6_#n1Yf-l;!PJ6%G_X&> -z{pg69p6ylhVBxa7Kq)s?I%kz@_NbY@4Qwxujs97Yih|nBV`54P2UOa)I5TaQWL1uv -z>C37d41Z%ZH58O%IXUa69a0*c!WL -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 -zFIJ*znSY)A(K=F6|U -zy*G+fjf{Oh5W7uC|JN~^ca2WD1ZmIJtI(r#k$)>B3#Agb<@f1|ZeM5g%nF^+?{)ir -zOAOAvJ4$>yQJ^X8EUXZ;b!qXsfQ=23S5AIphr)~JU| -zSWH>KGHt!^bm2J{o;@tv22eROrqn}Bl*P0LmPMQNRWZQN*|wQbtK`%bs5jdNG?J1E -z$+%F6^c7?H4U^w|jZTU9&RVkH5mx)l>*xLbIjsh5jWQ0j|+w*A_vz=X357{4!1_G3T;o -z<=q1wwZFyOrCac>bIG8R1iI%<*aezk6nCg5V2VA=b+(A2{TlF5R%;A@Mo_a_SZ#_&up3P^O<)5pZOi)GfxVf`a2>Rxu>tKI(W>77p|8huHlTk`tkkC~mM}t5W*8Pz!Z9|y{F3;lORDvgctMM@ -z>d=reOBo8E0+jN%<7b5ne=x${ogll?7EX0P4FHy<{ -zR&5Lzo5hfEcp!X{7>cZ*@K#nG8HjvW3{~}0c$92LeTxrNT_}dC52LvIS#@-bCP@5LAjpUshGxQyB#tUnKO_P|J=TpH=TaRrQBR-v$nh`hKQM%Xow -z=5mb*^gEt@C&KT6Z;m$&Zua20^SnSjk~1%uJLHU0e++K>3{kp(862ogtlcdQZF4E -zw`MU>CF -z?w#$Qbz$E3MDTp@r?VxkQ}z{Zcy-nSPEXa~d4rq8zJFW_^~$$PVrGRuiCwd$UXt5; -z6{NQ4Ncmlj_BC{k;;iUG=!)BSwOGhizTL7o`rD#+6TcsQMT~OfeNk_2bQ1b~7ZzCo -zpng6vTiy$!4r(pU9i7qG37CmgQw_kH*%Rbv -zrjY(9hW2FX@Z^w5zU%)LQv)_>-hZ9#-2E$aR3$lls$0HQ?D3 -z_7?jJGig!1imcc6N}D0C9)hp(-8Y-#-|t_G`eXvnM!yYj2E45?KO!$>zD{Cjj^rs$ -z6gOL_0hM7$6T8ZHL^1tf%v4<1T`}aeXBe)8?Oi}K0xZl2+Ig$!<}sM*dlXlJT1EyYFP$-B2RMC-w-{hvv1E&AqGf|cRC>k^`aY#<|A0Ema=57P&rrF -zODn}-Yr5AO!h6Q_PKaxZ=EIm%$1)F>%6}{&ORsNh?N}C`lOXK(yv#pz&hgL7Ka2(a -zW6qu<&o^!RE(Q6YHTGT|DWewUF5ty(O(6A!ah&zHo5FqDdc7x=H}B!F?{(lEBI0+8qgD}N(SP1& -zVr|@qI-B?=HSleR&GB?40yOA=d7bcK{AIv0MO%w=?@h$f*Y4gJ{;Kef?I15YV12Vf -z#$q+p+u*?p@`(7=Smqxw?zN?d%9`5`#Qd?szpu{m^y`4ym3I9+KAGn@;?Ela)_)PR -zXz!68*btj=ppQMy8S=qsB)37npMU?Sd`5z~%?bXo7`6>hzZG%t6vAiwP50s9lsS?< -zUt{aAF0k*c!YA>DIsTq-t+!gsHZabbBkzplJj-!)lad#fr(XD7$PIVUNwCG-Hb}L< -znTXNpmLMq1pdF${0%T9cQ?BlV|umy+z?kj!I -zx#GW_!~1dfm-2o~eAbyg#_pQq`<})=P7bB%4Ix}5SkaiJrt}f>g(;}9jl6l9`Su&h -zr!178SWzBN?&Zve=tcy~n15`b?K*+yX^zcMI(KeuwVnEHt(-ksNf1M-w!~qMqLj@&i6k2PXexJbgrwm#* -zkgOb@CM4LObAanZioZG)IqyMS__hZ_gZwgqx$r9`g;<{ZkLGxC#DCV6Le9SxvOQTl -znvJ>s`PYBiJMS?q(!J{M+eoLC{e5Q$-{Z8~cdFDZQc&yH<8k5}j#iX;Gpnv^i7sVCq=8)XGIpLQClsS(4d%=#q6uI@MJZ}9i#Qmk%N4(fX -z2xBqkH^l9~#L+l{2zO= -zH?q#hnA}5J;s1T)%Mvw~-DQ^w*F8@ZT_bLG4M0g*kLA^auz%RU^a7e4s}*6q}uz)10*ZY3%Lq=t10*_3Fd3#~kb^ST8T>sQq2% -zUY*^FVEq8&-U%5Y=Eq9rOQ|W4xz1)mr5d0V^>`(7m!C$^DYZGFFUvQQo-a2k1xgFrH+A;1P-!1s -zO*^O_SpNslm2^hGeS@H$(Kq@hckrDmd{dkJCbY`qwq5VNm&a=v)G^zWVL+*pI8$KO -zbvhwxVb|~h^HvdO^s|6` -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 -zJ86cU+wLCEej4EK*B&S4=X9mIE -z;UlsAVXoDJmf$x5X2=aNc`h5KKXSbG1J)s8$&aMP%-hPcD6%E52l~2Ebp6A?d?FK0KWqKm_g2}%`DrtM7Te}fv -zv1PF`E;%xZH}-R&32*Ffz@wA5ei@zvUH5;Wg}1-Fy$@MV2(4^y3L*4|^sU6Z?jdVn -z%P_#hF}Ymh>rJ=xIv`D1@7UJ{qDZweEU!g?L&PpU_;83X}$(&j^=63W}Pz4{g%P!R9%1F -zsY(A4YnuLpRh0DCp=Uk3eXF=EVNuxq1B9hwMd>i$mcnym7v8Qx2{3$XJYBtSI|kSN -z9{?WLa6P?qP{)f38cx9*P=yXup$n?0mQ(?Bs6T9BkK-;lw+LD>4t$Y^-cUP`?{0?v -zMt-RpLo$FLjPiQq-h{pr(*G8&i!y)Sp3{MAte)tcs7pE62f|;(Y53G9n#Odh<>>FN -zF{(q_@nqf}!WiudO)FFzHpz6%Ce=nSJkhe!Rvwo#er2WR=k3k>D{r5QPh-r`U^V`g -zHKrL_YKBTHQyJ(*TBMukz}`j}kD1W>x$*jb`fICS`>oY)+-vpgzp;w;bRK_#cKZ(Q -z4~KriwJN=#pL2gl-q0Vdg1d%GxCS818@gMD{~-{5H-tm`ZWgUQQ;s|QM*pPTM+)#s -z6HPfCTC&MI1;e?oQXOW)B(2_fDwK*I5l{WOg%pcB9&gLt{N0q^;yu0#+HXAyR6XwT -zUVu>aiq^mRF(?~He1%`~0bYLs(vv^>rQaj(ROGxIHOl$OK}dKufg=dtv$zL1^*$@N -z7KRqkwPxqo?e(3i+zkz?>%B7CC%%oC7 -zwBQ~UOOjM&!EOSk7w6-+#(5WChN5IMRavp_j<}z!LAlI!cQ>;GK2_scWh?R*-0$k3 -z^9yL*^I6cQ%bcv>y9ennEu8m*Hb&~RN+0b$o-Y`uY}fVE`~5hj_j)+wJDJ<4-lUDB -zuf~%ZW5_&#^O7F-&1Zj-ftClY6wBLZp!SG~Uqj}J8u}%;H0E(nCUJ7nMz0Au^xyMc -z+>x-lqOK+nb05+1Ba`smPQW}2Y?qY?Wfc!p)9fPN3xJZ`ORAcl63kl$_6 -zaHOGir1QFN@w}FYtS2;sqU9>ojD1)Kz7@k@?PxU&+^622clUE&ju>7{AwmV@A}=zK -zmAbcf2KYS3&1ipN;-oV|Q>biMTSijWuy!2oQnh2D#|C3bJ*ZE)HLG;?{xF4Z@_yVO -z{Wx{LvokAX5`wQ5`d24ws3!>Dy4YFO@ix>-Y;IiO)9E8V4XggUG%Ms}*yG%;fvZ=z -z{1j`*A4>@1^FECIQ*gdIE7s8g`X}zA>oyDbN2PvwzvO?Xd6cKQJ&;D#?;C#o4os@w -zfobdK>x>?<4yTpW;fFpBPjejZuyEH^is#S#G|%ufcLvggWO+Y_G@Cd*qU;GR7vP;3 -z)TBeH6PGq|El`>S3ZyunarqPK)^C2+sy6qw`F+VT!yznk?XR=3ZBViu$|6h$PIY01u%j$v0Z_?0T0PJ -zPtDS(g^ekdt}*VN9+mVxOkT1ax(0$A*auz{6M9t_#~kjN2=|{+y;8n4=;AD0_~&qZ -zd;HJIJ{=}6LtXDgy$m{!Mu0;KlUgdy3-QL(T`7N?`);wM4dlONg$&%+@e -zsHJyk1$S4h9VqN|t5y@fF_16+Xk$I$emIP|q``<9gwGSF^SdsJwGVJ_5vkA!*^C^$Cf2?PRrhv}ZCCepe_{$dOxvKRs(iaN9T4Bdb&u!5yd|L! -zwE0*|9?+zJGT_AhITEI?uG%KVph`BoEaP)z? -z*Ghaw_OvS-f3gkSdMG<(;yK}kRM-_$wza(WskXK7?}T=7)(LxQ_brrwCf~3I+`n6c -z$u}*vufu#FZC5;NQ*|fT349xM^!WMSJi3U>bkKk52ua{QGYx&YI7ZYTU3tix^w*xJOhXJP&&;2z?*^TJE2}uf|TSwdMl`}OC$2!O4CxG#**^h -zv)hIJ?h+U}_xuFuJonwneuN;zbKkMNJUf0 -zLgyHX^gr|QQ*C>>f|nNXvK)Wj4E`nmVvIedI6 -zerr#=ShH%$-7ptdQ}hc}NPjwJYf;~h{oY`jjWLRPJSvTXb3+Lnrv#2lbCW-Q0r&JR -z)YVIUGyG>T9_priH~6;yOY;AZpI^oQPf7fbro{ieB>pE;;_oYo|LK2}_P=eMIb_e_a@qa^O@V(|(V=Wf{vTR(lRTK1Uz`r1%jG!-Ew47hTo?8#X!%<+v{8Fi -zg(hO$2tzyI>dOjz;S30|_D_IQ8L;2CFbr=^X{bBpE~u*G7E;t6D+%R&8p~URsqTy! -z{LSkEi1yr&&`m#RWsDec+ofk|V>$JRC{d=);@7xoNGR{4zf6DFEk)Qs3zW~{Ax1}- -zMR-R|f)@$E%iH(HRLUGR*%Oo&Vz7=~NPd*;Z~v_3z<Sxnd2A@AZkABg)> -z&=bPW-*+paU#fpUkTx0d@7r${@0zJInzbGB-d{K5GZ(<~0}J&~XX0&@N|Yf{+R_JW -zMaKs)Uhb?!uE*Y-L#?MhK8#!~ -zVf~IuCvd&IL;CDWul8|`QS>6vPd}>_{cT*+A?`Qi+#P6D4W7H;xeJ~<;klFKYDY=G -zGg@Mc?<*b3uIPQ-uIPWqO6`h%qeIyhy-&l~pk2}LbSS%`i%RT@j&~^gpx>XO8}uU; -zm;OO)vR!}CV!nykWV@obb(Hcxil@VH!PEU(E7;$QAx}qHQK#tc4xyJNY<}kLqq$tV -zU(=X;7k3xAy{18`m(ald9n;(Xd{EN2u>F}sSnhH?Nj7S_e5>L*LfEd4b_k!~1D7Ak -z5cd$NWf9HWlVx~YjBv~OG5rXlQ3rOs-gU<^R@i^Veg@q=aM=;8$eTVb`_`*Fl6mQN -zhH|Bi&20>|Ivm|g9>GS_Cs=}CRO`lHC4CLhkFb6%4duT&6G!nNJ&FbId%h;?iF^N} -zSW!;$wyfty=P1^u0k`ISgn6}Dmb24P&-qqRp80-<f< -zpw%Pe^MM~HrXE2jZQHB^(pbQOY*-lB|cda|Mw~J3rgbOo)Uj} -zN&Le2J{D+O=&aGgVEQ;-D-pYtN$YLKFu5E`d>mHwk>jt8)!P-u5V?+`)`fpa -zxrnuzzb8ZHmnrI3c-)`m<9PZ&+W0z@i*JC~FCHSckH_xg@RV#i@2=sYdnbjif>5tz -zDQh!fwQ0d}F|?Pby^3-PG((Gj-8^KBTjarzR&zG&4T|Gn#LgRHR{&wzQKNT+pIJh# -zTuTdk(ll)a;~Ic*1&6WBj7S*2=P-Zz%>v*6->z$!ka7=oUdyL1;Zp7)`UQ&bF{tIy -z(1uIVb{mw1Cm=iJsZ0Si$kG+@KFIr(0H){ -zSp0Z`(z}+p&UL+8n2@gL-LCj4z_lQh1DpdIShSeocdhvwt>7LWZ-F$4xEFumK`-v~ -z{c$nmC4>CwAm!uI)#o|&TeMHhgQGS%sfZ5 -zlg9maD1Bi@auAny*Ts`1=ed6qokDh-OSiCFv;B)&0JC1a32oph+Y{6<@a(!^_d}l) -z>=WTX#OWezKzxN-VOIhv;Th$0<7JLTI)jqL*D>%l3%*hn_>J7QiWA|YmT{mHY?ml` -z!Z7SsBP4p9^R6jNydx)ET=(t<+?Vk7T*g|tmBAxSVFx11nr+6zRhxf83cU{6^l0WJ -zo9(&0MRD&vVWufhXV2kz=aG9g=jncWHt?|IVlIm*eAJVk3-u{!1o6`74N%* -zVG9M%7WQ{4U2C-Gxg;Kx&5QH8Rq>#F{z)HJ>l9dj{+F=Ua9GNQ;fs)dK5wfg)<$B$ -z6ZL4E=3rckdzcSL(9eHs6C0x4Fpn*$w0T-ssViY8QJ-b=^jeLFq@(dgB>y>mcs;1D}<|(d@*zJt6q^l8fQH -zIv$*>+PlQPsv@ii5own)Vg12NE`nTfgu>*A;9o@;E4u`b%3(kdj&XoR1s<)8-@yh9 -zmavq`|7(t#%i@2^{}BH5b}9a?h6Uxk8@rTGdW-QJmv&8vYqSEKV7e3ibk#E5QPZaT -zsGn};hr&CxOYYI^pT|%~DFGuPY6~t#)%|0#FK~Y&ZPmg!xg~}+a%_h4qZfr;C`FmP -zRYkewc8zmx8uu2Uv!aiw(P_%FCzW?jmy*YoYs#Wd!QFpTVF!Fw-9+R*$i6p5eI8l* -z8P(Mu={|ptG&S!2K%D5CPx*c0vLMfWksrRWB>XZz{4l2E@%a7uF6k4{J)EKLNGZBmYFI)e#r9g=o05{xGr*E(>Cq}92lFYG`fHC3?!(tAN2oNTE@&NWvH~jn1at? -zQ_?EiAoq0%y%xN|VevbH)mj;8b`3JvSIIVRsANv8O-EZ_@0nXj*lKny(grL3pjXMN -ztuV<9nZ#M#JS5Ub3`@d&s7vVjBV6T^4brq%v5g&7%&BhE5T;=vuZ!m>ZNO0sc2==W -z8sLAmH1~?M5#5sG@IaT4F>UNEW9kkJ`kq4A=y?jQVgACL&+qCs0`Dnq|K;s^6YZ-l -zGw^(^7T@({I_BjbsQxVcYA9Ws7bH!!q7IAfpJp3RYLDjL7I2lwOrjIa_v)1PZk*EI -zs$Jgd5@$Li_DwUn?KpSwOq7s4VVcZ|X5xPp#K~mlml0<}rp1ENVO(Y+TEr}qQls~} -zgkBEvMojWXSTnp!c<(K)d@$3{uZSs^m9WMY2@ -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 -z#cH#PbB7`O{EMr_z7J=4g3u2Xl47bC -z4%TS*$k5a?HMC={f>)d?6+PZ3$3iW6Lh}Gm53nz!uYq-DDqX5P5BPZ=hg4A8%t?@E -zY}!1kUw4^mJs2ukC+00x;U|^c0ex8Zx8xzoF|a1v3vo?8nW5#IkFw%D(#Pc-a -zHg61;k-jkD>J>hJfq$3#b>CbvzaO?h-Cy1e^J6X%)Z;8S6z>Nx?QMymZ0ctRonl=2 -zoJ3G2^;bQR&;3-w4cIk(eznpg9hQGm{bykg`f1#TRvl&-8ujH;ugEqXafcIlq8OpY -zzIki4k|*CQ?rz&diJ)y3O!JQ^X-=M!=7T9|KI*4Yyy$gDDPD9-f&}DdpM1rUwsuZS -z*a1C7eN8nvoXfGt*r@$_BiA9c^X|tJ8jO&?HlkHN9N*%3ccU(C4dS@c`96OEXQpRx -zmV$BjY$NCOp^Y7qdLbygs$8RJ?i8T8Z6!44tWorE3iQEq@yRqd^N{g^=H{w+?G)zK -zp2n6_&9{lfePOJTJQM{UN;BG!hf2cURITwxsCWYLRKyDzmB7AfjiS3#rqJDnh@v0B -z&3;_osTbugk@*m>y!)rP6WD(n9J?lv&wVi-q`R&)ite^by8AO~SaZ7D$}m*;%f$BV -zfwZR!|D0vGem@@%p?-jtszB}&{U#LBe~#~?VU0FWhmI`8)sUPQ&F$XCyo*m~$?ioP -zQl#1pkwqIU^0cYb@s^b3EMIgAU#qrwyH7)HfcOc-y982iT4q&{eD@@v{EQkvbIbaq1eeZ_BycfIj#6^!ZdA>GN7npAM0fN%20pq)aMW -zJWPLNr(TcvKFadD6N -zje~f%RM@=}6mymwQ^1FKVxQ5DgeG&H&~8nz>bS4R -zV>sGeZD9-NCorDtP`w%|`)L3b;3eG8}&c*mF1rl6=-+a@P13q+cs>8wlFwdPZ7RXYt+ws4M-_Zs5)qOc+i>9dd?rt0P)ydePT -zxt;8F=-ZiFXN_=s!>Jd~n;$Vv$vgb_8X@!X@q8^p5Kn(cMQA==d1ojc|ow -zTM@HY1!j(qSsO|UBxY?zj9xv@4a(- -zpoGg$=kr6EHe7Zp8-TCjvMumDjrGHvklG|>mueOwOLi?L$xV-0mfkYlM3#)gtYm3) -z57R81ht7W?2z8>PAO0^Z18gq>xcxVzS~A{6r}4LR22->&9!d7=WfbSQiK|9(km4Fl -zk-HdjUo+xCx~o#N1e}&eo9riLRHQSn<>_#yx*BIH?J5tj#90j`Wo0Bv)n4)ue@(-- -zCz|jBPkGoAYlMsh`>l?8VeB7A$C)tGBzypiHhX_|jktr5%;uT^6B}>Wu1^`)tPDWTg8kkWun6Jj&ccSFjp7de;MCaeKH#Gp|_@yf5R5qDSe_Fv-4uS^Zm -zS8xjrCgysS(yD@c6|8pE^jz*O2JI;3GJr{P7Fh=KLy(O;;L&puPazaW26Oe_B0UnAyehoCj_ZS+)DN4)ShvV|4b -zNo}ov7Ub@aQxdc-$ks}`gnXaeM$5@Cz!;!FcNFN3p2kuJ(vz?oxsA&Rn6xk-g}f(m -z9n}!t!NS`MRs)$$o=2It@p0B_%pwCG^tpd!z`hc&vObRQ`aBD7IiAjXsG+0ecgQ-E -zO)TCD|K|d3b4lumN^34@u$*iV-p8ha_pw93JA=bJL%}lyyt*Ms2lHgzX&$6Mjn@U+ -z4o?j-{D~CX$oIx-PqJ{W^uG?&#cfA7oeukw)A$%ol3@aEm4>#0_8tIwgB?U#w2^-$ -z>9%>Tv_TCsN0PSm&4F1-a0(vDb;H<1+i4xABh7EbG3j*!)ph_S!w73?!4z1MZ3_Z@Z3?QAsA)O&4!W>c+ -zr?olImd*Sr+IL-m{!Umc)-SXd!u{01Ja5Z+J_V~Otjye&g(Z2|lh+Cv+kV4<-OA!@ -zoa~{*cm_sQm!{K}oVZa(0DwS$zwOkUOT_y@8cV$#q37ulJ;XVCLbj|GXEpmx6Jhj! -z&OjI@!sylv+N5dL(V7qE^<|ob6HmPeaEyqd?49EoBCe%Q7JW#y*cHGZ{1{h)w-!5m -zO@P%Q^(OEva$J9Wt=N}5O3*{=+x#5oF?f#z_9Y|5G@(G6P$V$scdZqCuNw1tm^qX1 -z+%Cs{!I#TXa^6}Y=h|-f;GQ1#A%E3>yyRKHgYRD^ZXqPY1N1EBC3iyD6EY0O2i=Kh -zQ?M7f&MdeOHc;3H@N;N>=J&PoS%LHV-D?F;vC$o6!k;2ZppMd6ESKEDMzU|k?anZ? -zzkmL;R{8!Zrl+tkO|9jt;|EaU>tJaD=0jvR8Es^BAVoUmG-z(>Tv&p3| -z#g)B&C#>v-K5UGz=1%0>qk7aV+BEp;TA>3|ikD~al&hBFHNFMu)^OZH3Dki(rgXh% -z-+}AJ>}l4EjvcUGG)!49j6@8rFs1jVT)kRb#?xbX7{Xy4=?JbP=Lgr3{nM`_rmWAc -zsy^vreNZ>%EY=NU#`gUYlrNrt>W^R~uzuVj+q;_UT)!6&>RA4Kt+>}KAB+q#3{&6xhJJ6KR> -z$LvvhMU%%}M2tHEs)?qK2a#pMAk$d^{PUMMyjbRPaCUK1+h7%iH -zG|GxTyb?X4U-Ri`qSM4S$K4}p&eT#N?W8ci8WT8Dl6>s6lNv*u@wD^rK0aP3>Jqtg -zQd!baVh5bdTB5?nc&Xj-C>86vLFNJugWP|sN9Gt__7g1c-q+YGZP(3+evms%w?=C8 -z^WshyY9i!+wtSMI27*Z{%pTLwa>M8FZ|(&)-lG|2Zus0{$b1aJFPvqa4D29aXE~Z` -zGAhVi3s=gyR)d^R+c<8=_&z!Md&C)!us^)aut`7Ew$?bpij(Ydcv4u%-rHDj4=nlw -zPjnLC0AC)zAvPXz!i3^N8<% -zW>lVk<>%ZBU=I2;%)3R|j^gLf?-6<_c{`pEdp)!TdlBpuAy4K)pji*r5WFXU0dt&j -zpwtW4VCH;=YkRX*u-}9hXpp=J*S+ZxXBGp_MXb06p3nNL0hYZffh%6W^J%$WiS_gg -z5{HfM`CRV`@kPl_zr>rLCBYLt=$sFn*+tNQ+9xJ()x|lkV9!no925_Iz!Y-bd9=yO -zyEOs1x>%#X*duM{)89hw`%}ovDIW*d_eftC+1(spqzaT};iy1KmdPbq2~H0t=M9@I -zuVXhunxI_P{VccJkx%z0GBouUuUo*u+nt$SX#Y5RwnjOPDDUPTVH?)XHd)Hv-8=(- -zV5S93gP%JckLM-iXdde|?M7<}&@YsqmpzMVj1l+m@vQVCrsR=7?D==(k#iE0<&ml# -zf7YYUCQh1iHgQ*vvL{h&r?yG5LrnL}Y1&%FJzRO{IP`5ZIgUx1{Y{Us3E~YE%NFuN -zTDKHNfp_X|PPc|uVR&1_yGbj|Hk5FG)T5oT-W1;EMO%b)zWB!exz!u*FHVb(=xfxi5&d~Flk}!74cI_b=^k69?s-8vdn1>B!;H9t -z{&}9Fon7{!Y3KExKv~n!j_>C{&LyQdmC5fD;Tx&dDLM0bzh^r9HcvT^)YnayZrD$! -z_BLhfq}}jr5m%%Uhf-%L%0D_U=Jci03hwoaRttLKchxhTnqCgtG_=<#db+rTo)lfg -z*GWAP_hN1l_>_drcQNYRt)?`8K7DE;O;I0R&FAhqv0ttwf784sNTU_fv4pJ!&qL?0 -zQ?zyQ6xup`ouaLaecDoUV|tzNKfN(~DZ_i2Zf{`DGR3-R^7ZgDEZ2D%Z)MrnM6GL=!TNAX -z$+~9Ac4%KG?AmSYMO^0-uNTVey9_O$%N5P*gOCjn62lPSTe#&?>Wcp3G)aY>My`#e -z-Ref9HoCycmg}AGy`ydlh`i<30p_1snv^ZtaBfdiVinJ-Z>@u5_$XR1h+&pNk=Si -z9}@^K)f1C?ZW52Yy(}TtpK{)JP84`!cn&5nWl^n^pHTbhGuH_{#sTLu0e<3ApO@IL -zX$SkAOPKRUzjIkY|7zztA!ihIKde}Hm^W-*y5KN?g4|2wJ3t|SgOGkYz5;Q%aNVKj -z)=SqNdTw3&Pe;yomqYm{9CB{`{JMW1)QTWKjR;C@}?WyPSJWas8 -z@&6lc+lRtcZSg{XM9s68Pdm>(7g6&llo6de&wle|Cm26vp8bBwJPT=@sq^fA`Sa}M -zQ|8$wTg|hV`}3^opCA7lbTH~Z-{{i;tgg5}SLeug$u(>8Ir0pCj*REW!E@y1rZRx0 -zFZ8%wHl=BXeP2$5M<+Zlp8MtUxxS9@I&rp+dLNqPj{|yt9^CV{I_VvCUxR&7>P?we -z%eY0lS9)X*trK={r5*`9Ulw_%=!e<9UKUbAJ%qJsZyX%8?}4z?%QC;7NkbXcP==0n -zrKO*yb;=(1CN87Ivo%L+!5gkXU-f2%-lJ1-y7{*7{VOCOFF?MO%!jxo+gqqT<*Y4u -z&gRe-Dxg+>n-v=Dk|~!>zMbq|0$jg?dutLklq~U`bxLRB^HOKy6|LZQB~WMM^9)0y -zzTEKxKka8_+7}`1OrG|$3`2`)&Gjnn=VaQKAZ;U0`#FZ8QD4ShvA$FfUGZ@CdZqJl -zR${WwgG#f(RB3ijNfVNg5&-9HL65sQJ&wGFesAf25;BjyrseHVCxkuePbXMVui=z2 -z*3wi5kk3vexChtW_%!nF_QVo`+lGd=}z#W~!RT6Rl53{H9) -zIOz)$Nh8Q(3vJ?#^@4XsO#)jBb6H~@tlc-uwVNnCReEi?$d@jI9bl9(G?dV(@v!y$JCJD^j#T+?){-GWK_7&Bp=*(3BZ&T`-#QX3jwuImP- -zURgib~Q^7P6QpouV#RjQZq!g&iKmeMylWqncKByaCXlLx2*lm!0MX-*j#{qRjJr1a)HeD@)x*RdTc5Ql9N$mpq950Jn#r#@vFAITM1#~)I -z7CIeDcY5b~F+U=HkHXUD^<4pLVVec(#)1}WHd(Gy3-?7ofi~E0Sz79CJj1Zba)a`= -zTFzG;lRRzd6jA`5sn@X|echz>N@t{hsBenjyVv_?Ug-i-uol&n{@ms3#TjaG-U<^> -zgWAB@#PNyxF6u4~{*A3yyn@g>RXQ0J(x2L1h`)-Tn~b4Pf^dlU9JknAE%fEWc+(a7 -z?q)5l!}3>0FIuWqk^_)ne>hCNJy)O%KipGJ!clr&t#{2H)Sv5Z68dw!s6R)4=(x%C -z=Z2*I+;vy5g1a@*Pjc6evF6@5@venj$1h_QB)MYb_#0BOxOeRpEV&im6Y-IBK5;5Z -zvD&a0iDA+ZZqb169oxh9LywQaVv8s0$#xuh2TY9~FbtZzZj4PVIAB>6wekAeb7N4J -zeHb61Nu#ABM%F+hA^zAdJz>Is=>_V+=ed4J?S!M@V41#eVL3(M*u?uTj{kh3 -zTpupavjO-TE-%3I3YI!~zoj4az6~`yr@Aaemh3y4B+q#)6w+IEFD6TWu7+L+>2yz- -z9>RA2BFWtZZLzzKEGq|o^Co~ga6@XvO7EsC7@iDeSGJtdLiQWw6ywIqta8*LTJhrp -z#ZyGj -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 -z_UF8H)ZoW8)YUC~QQ=@1`&ZkI!3kHA|3_K>+ -zL9jC@`g{ZA!9L%>VORqDd;_lw`2mdgYfZPfgMx3RZ6vGL7(toNvi&(heaU%-Mw|we -zTa=cB3}+m`tUlu)y#I#~!UG7OqhbtW3so$Lv9%a;j+__LxQDI<8fs#SozvhpQG{&G -zRQX*^dow&O$Td7EIi_2G?9tf2QOqe|@8+2r!Mb5T25J~$mNS-1SDLanCiKnpdSgQ0 -zAcieZAEssTO;3<*@BU_ZcT?^or*#Y53)@by7ESp2+I1auvJU&ru&r>Hv$_RcQglZ$ -z)bmV|dqyPb??w!`%&V6MQl-6&dd*c1m4;a@QSlawv%vbxwqC -z4u{?hhbq3Qx&k~C0NpSml)wOh!?JGRmb#&chsP&~%Z|2_jw -zH-i!w0mMccaFS_zj6qqJF%-32pUajEW7*Quaz0Eu!0JI75~-smaL%Uh -z4!i1J^rdd)*JgxTgB&kXGLB4s5A4k_vt*gyb_>7h#eDNn?9?pIhLd?F%3{tVx|SrD -zOoLzQ{7deCKKxYHHP5P98&Bm}tf}LE52v(QYr^c93X7dD;#uMeL~->Rw6I^g`J)BCe$X!p@{_!#Kx=^EhgHT`ZzdkWU{ -z1np*j7+2XI5A-{pIF$1?#oh8$mV*_=#}Z!Xn1PdU87Fa|yh| -zA*mM}Env_Vr?I`ho6NClbv)}~{|_XYz(tPRQ4{D404@@k!EuoQ$xKbNGm*2V9m8=D -z3(i5DyGwvJ!1LeYHzR!R#^T&9=G4cp5zgm-ZViub)=aKh4s&IRxmrj9t258xTonn> -zAEs>0thEqZSwmV)&LO{9NROn$FoQL9w4(-Qu!hfI4a{I|oz?-EAT8hwKBc8=#0w5>0#e35uUZBwxURonttdm|ujbk*JJ9q9pi8i(Gl_qlnA#0;MH+DQ=(6_SzdvCz9LhN3}nG?^6vDIFg>qZ>@fh<4}0c%7x13ppa9^TmAM(?%$}z$1B#z -z+J(wr;;l5rZxp)my}|r;!Td&lkXqJjfm#&tR?o(PA@5&Mr=dpP;bD9L>g(e4_X>XB -zgF2yU{baL0du3}Et%r@MrF#_MMn7#`h&Qkwb4}L#)vaBr%%|7})L{2QNvAOaCr%)j -z$?&HEr%y|*nY8X7;kzX;@c#LSnVDQOKtEPG%BjPCx0i@PrIJ#-_QRzmiQp6~;H8um3Lywy0#3{a8a$m%M)=Yr(bBkoP~< -zgO?DlBfM?UeSo9Y>#Iq7&LwI6Br|P@S`D77fnbR-JTLcuojtp?3s(8L$S2`8Y@$MI -z@%K?K4=HR>oEAP<+KjhYu -zoJ2av4E`-kndF5+rmf+)TgzWw|Dg+g9PNMP)yrHHV2 -zhMvHGYbj6Q6`u8f_Jx9W=_8G-T>KXDocZa{2%|*!a|?w(k-*ywur~%LiL2M@9r|p* -z^6_NwjRH4ph}gbf2T?7pPqsPS-TSo|ue{g!I2PaSqC>{H82_@B-ozB=Cu5MM);nr#G@@ -z64nDR3rKn4A+eYKRYTB2j=FWETE=u$4c2}L2rJ!P|`}ILmvg>JSL+n8H`5Q9o>m|ZtH#8zWhx(sIjD@ -z7lSOog_cqv8};@~c&Ce$Ut~|_)%_9QftCH+vC7UI*J-VUvx=84@2kXr%_5;sF7#za -zk;!%l>K>u@+tXusU(?7k4MIN+;Yon+r{FA261u>Dr7@l+f7R-#4VX!|32z!3nBQk~ -z(;{)MxOR))0qd@rw&)w}!(&wThx&XXP>xSk@OJbeEpUf!tzu79;0~h}DY=j}nmtI4 -zZxT_ucZ)Q?ou)C1l>Bc=Q?d(Ou2#Xbt2C5NG$lsSrr^cZnw_iEbF;1LS+Ci?`uFkb -z-%tgApYFjA)%9!xJdZ9bZnGQhBL^2o`swlSfLwY^`y`SWBYf`!5w6IYXd1} -z$1-loJ5|muX*FmuJ6^=wP+Hlbh3q&HpN{!4-YVh?M7)^YO~hA<{Kf1<5g#aL`!GIf -z0z>Oei1Q+3vXlW4-{)a+{TH&(s}CpH=y5j#yUkWO>(|A^YI9PPY?EL=hFXcY(iJOz -z@om1_d1dcX=@A_T?R0P);q4JgdO@&PgYQj;?<$A8V_8EgCt^98^mnf(jeB=%87sWq -z&opcFmN9~wU&XoKx4`K-CL_wAcY7c$tcW&T$X547`t{*SZ-)1{J3QXAMY0w8w4L9n -zim?YtF%RdJeU7|w!#yTR&xaHI0=%7no4yC6eLGgMwT+P7=q0E{_MIe+OK5R=h6&r2 -znUzU;3sHH;$-BM6ba;QXh&r5JTB}UU9FU}cBC4JVOzmkukT568xf=Fb3ubOEu%=MorBZ@=w&0XW(x6v=&u(&b -z#p%1VK5Y!kr7(TF*X!MxviNz5Hq^fax@6PyIqq}i_LuOtv4|T$t%N&p<+s)#Pu`H=SH)6oveZ0_VS(|ZnOfSrU -zQZ18m?W8zk0_)V;;LE#3cRng-w`9;3E=sAF@)KBQOff&6-^KD;N2&UMom>yp&;x5Q -zMSAkBEMr&Y3kuxnwV=YCU?h~Gl*7*HlHWE_&Y>ZHRb0u;z6s+!k^7&3_isn|`!2yw -zg!@X8J~v`FuG^mJDNcs3!|vjEIF6I+m$^sqcxm!jmW!=*mM!wZVsC_*I^`x -z$k7X5>v6CvZG}yz56;=VCX`e-vxXka5GO8;r8q72V*`fIC$C=f+j|pGATPF^YEEZEQ3}ig7e; -z<*7oS)b!4oFBc7#^+P!1S}bVhQF?c_jq~kC>v(Uv6kSvFcnU+N6- -z>N8+RN4hi<>;Rmincf56<|i5@nVM1h(%hc#W(t6xjn-SSH}I^6)=8*%if;+;u^TuI -zqH|vuc#pRmPcymA^&p%8o$|XjxX#N2F8iZPiN_I(g}(PF+Hap7LyIRlHpzvN&^l6b -zatvn&b!kwdKVyx5rZ@(qoiV*ugBjCAKhU#7+>-%KO1z7b@rwmdxZB>7pNeI>2q#qL -ze|7Sm3Hsuvh??&{4(HD`nJZ8?<&vpPh0hx9nek2+cDC);to>``EmQGaj{@ -zdAV_#NCO@%t1i}~ej3yZ7#)6@N+rfE_S -z0Qm&os`?d;aoA!ZLpDHvCh9^0vSt{a;*5o`e*04mam;|U -zS8&8)aTcZKr&gjSL#jKq_VzUq6Q~55Dzv9+$pM;456~@|%NgYMoU|zVQN*WvbIunI -z{|1`rs8F*u3h<~aVzySTPkh4S>ODr$|62imCZC&|I8BN&^8?hRHCl&uC@Ho8HEQ3C -zDQIVZH8Yb-$4`N`7KJY+5BTN=iZ>y}Zq&~CQ4BdheI(BY+-t|1K=EB2!N)I>=3*2362j+x*cR=>NNBBz{x*J6oUERqb&=01=%@megN+w$dBvYwYO -z7CQ1$dymV*YFt|Pnpl?N`wkMvaR57eoO3>-S`qb_^Vh;^!CeI5EkyVxZy*N8nXiXB -zKjM5Chg78W)7owDh91#0phWL)DZ4wg9KTh2T=HpuCHUip$c5am9ol5hk$D_%L!i`u -z&&QSBN3|^P<*zta;sCCF*yyBr@3^GZ*P0BhYE81$t;yiZ)@10l{l*3shTy!lj)Y|b -z^u3V`>^apL(ejIhp(E)nfOXZFPR%@%)i}YxSQe@$M+W|lH}$Xzw!nGw97XQXRO2{! -zBd_hZ(S3#@Ri8G*cnp#>4;zipE)p_-lh(cCFuV$|`edN56~jlso5tQ?_+%1d*eeWQ -zKtjQd_HVHEP)BGkaX!mk9e{o31+2d|qtRz_*NZsRPzUj6CtX)dv}i5BUWC@dH3Qj? -z$fLD2HJPx2u9DD40Ghi&ls*}2)9Y)`rMVkxI0RY_O}ft_S_tUChcgELI+1~YB|BpO -z__8L18ll$`rzUepV0wp+oUEszk9Y^WH`hp{d{ytwCBrM}c$T6Ky&L$q_z$Z58^5?% -z&}R637~IbF8{D6aqvdRFf!LKPwB3#q{Avu&ff*ITFv?0c>!U&g?xyi=l9vLz18O|H -z=QKo&3Jv&%+@C7?77k72+EaCZWDZ)Lu{UwKWz@Eiw!i)z_4dv`ES7w5`+6=Fk32aU -zrco$+1HbJ+Z6k+6lx*w?iRTKH1nQw%lLy2e9Jw{aJCwfvhm|AU2SH -zB&K9z6>sJJ#fm?2Ym9n6{Dd6jhl|DiLx~;$C&d16ULDAKjDwipb~U$uIi@Sy>vP#) -zo!|d0Ryx0PVOO~%=K6RVs$4VO3;CY>j8bFx>L4|Sc`$~9VGM`B7``>^7+&6~?uYIk -zGKQVr80Ntk4u&xt0%Q2rkTI|xHHP_Knk9Q$*CTx3^pPSP1sHNS^ak}2xV2TSSsQ6} -z!hV4^AB!^)eq2)<#PH64?J%^%4lAqH{2S4u>{%~h!}$bqdz3v*an=`*2BQmDoln0wfPrT4q{$I#M$^(C<$lpv#%0CIcm -zJkl40xeNAb-F)6O{(X(K97EX9UNOF&j1ESPv@X6PUBb{RqNa}yrh}99{zZ4if@?aN -zLHbx1OPlRb^UvW_9LT;AyTptdFpt4jvsubF9OBI*;DK^A%!M(`kYniD)fhA}28WMf -z42;3~a8gqZ!FA_$6P-jl% -zxDQUms19co#~B9l&9R0xsJ)Ap@*_=IL)9~rpdKgm?qw{0q|JHQX4ZyXIT_c-6Y3J5THpzApxInisNqZVke2O=@df -z2ePlnG>Wu;Kv$KnOOaKqt!yCOtn&Tc;OXMdU=ew5f_*-?(MMs{C`LjRZa|tC9C$PxVOI1OR71 -zn7^x25A+5G=vI0Gy_Vj+$$A3${GLsD%cz&S`8`#-f9k23sy|Dr;72zpc&Q5hir4>T -zO!(v$yvo;m1P&$okMk&Y^V{L9TgrO05>Uv?*ixg1^_WXookz1>lN;)XW3c?ka4^PC -z6GHylBk0~V(53y^i(>s2?qUPokH%72E<O06J&LwRgznjY5nl@NHuu$wZN03JTLEk2#aKQS_1>qoq?)$x -zg*jNkD*S`U62(7Q32(X&@S#;h_y?Dpiht0@im6o$@fAN0A|~sQZD^~ZmNl$I*LpZ8 -zP+Lo+J>UFl_~sK6logla^fiDztz~I_KcM+ve~rzgNb~1B?ujM&ECJ8wHYMYi2tLkoA -zf4fsBTtcEu(XrE(NPS>(8Q0WI(`hii*J5<$Mt9E%4pH`MO^L78@%K1GFD}@?iiJa2 -zp=%v06xXx<;vcvMm|A=H=wjXX&~+^8v(H#;SMc>!@ZZXFphOR4e)}2wFR9pJ$J7nX -ziDI2tzK<^D`Rjb&+l#jP?#osC$owS=e|{KK{=Tv0ZuyQJd(vd?cV_ww9qnQx-PCN% -zfRpb%z$p|ZRctG>vi%p7@HcYP5fbs$wH)etoZqW`8*=>#aRiTUD`dX|us?H{fE2Tb -z0pvMuVWe#TH75MJKBpt?1UoY2-a%xpX9wkacGz6c56boYu(_Tdlkx}MR+Ni}{*T`x#pS*^-#Ak5%4T;hXr4bFk` -z1L)lpWga6MQoHKi&#~1W{Ozi}`Gh43{v8(a*%H_a@RK=zIgFk{L&Y}nrZ`n=$E55L -zw;|Lf-cD7DQ%QNgIwf66dAd3!e^*I)LZ(O^pc$1EF>gX{T|izCkiH7!MOpecLVIc> -zrl2+ZVy?_kUcJ!vZDnth)@wn6>4moM_+TLp8?e8ODY*m1Gq?cerG*lCM@sh>ccgy2 -zWaTW0SLMWvX1j@Es8T-;r+mErHOiWCo0 -zVrUWga5xbHd{-u9`;rQNf2;WqCCZ-K0N^gKw+{A4d*B#<`c3-a^uJe?zj;Xd%&PLY=oNpwf70i!zr6iMtNQ*; -zY18ske|r9Bx;s;pS2AK>`O~v+wz|6DZ(FjwS@PTe#@#uYD%kcW;1Ikg<5{?yV56 -zBWWG)gx_z(J7M&Ce;SZ-QO*Cax)$CDy_a<@ybZ##F5?4U7uuXs{o11>^xir(2H#Ly -zr?8os=|FiHai>5t;-otsea+H+X`EEjzT)~=Xb-aN9*cGX=v3I}kyl%GPvIIZ!pcWI -z5gs8>TKGC{yBqCnsNJH)$Jay~sKS=pC*udpl^ycFBW=Kae>%RhE(GqjZ%NP;ct2Ih -z9mVj5s+c>Hp%1M|GYo=fvEU&`JX~p}oX37wi_hd(fCG5bQLNZ@BuhE%E}TrL_tbD( -zz6YQY!!aU8+CaN|mWh%^cu%kVC>&f;eiV*k4xI{pLvIhoF6e=wYpAWmeYZkt)KI>Q -zxL?AOvP+A!fA3T+K!h)eBVp~NHGKd3jlg$?R#DVEEGY?kXCK5`g#AQ2E`7kNJinZ( -zWbjZED(cN|Z%N?V!s2I|++(8Lk&vA_K*~<3zO5@M|Err|eKy9?R#=CI5~tTCG|s(U -zPSHbV)c5_BOX@p;GTDYW+6hs<{jfhr`qT3xBvK#QOfw=f4 -zRu2SdF}OUlIF2KBWF8CwHS+nolN>4$mYyi@zM1pZRm -zVLAlwj3Z=@W>WN~H-__EeP882{d@d<-Wq^*fAfDa)EWrN^hY6mAO0?z;^J-?kW83$ -zZZ#~|#An^*+%TARdt(Cc0w*1b7Tb?XtYRUW5z^p)M%zxs`Pjx^joxiYUqxXry(};( -zP)m}5xrXzva`t!HF*2s?yA*{?wzX|)~A@3LL_Y7lkQFI7I9O7`)rWFP0t -zpIBNic@4)gzfJMxr9$ta=pN5HU^nj2$5z>Ud3=V#Vfh(M@qG5&+fsoiqP~DbGl4Yu7QFR|ahn9B%_-5JwxzF-+uor!LHt|XDh}?7 -zNMmPen)Po1-gE*hPC9`NxL?Gw+ztr(HCD2XolC`8Qt`Wje%?=D&14jeVShtP{Cd8x -zvCMv7Tjqda%gp-PG6xP@=Af@Fe{)b(8HEpiTBrPqoFMKFiSPqE*njtpQl``Y4v!B= -znbp(@p3LfSw24}G-x{>;PGFVqw|l9=mku%PDq2}1OP31ykX2+eL)^x(M*^0Z)JQve -zcSv!c09#N>3Rcjekf)Dqfi;I(5Wmf2`Tp67w`I}}lelw>OTN8E?+iQifBJAUmlYBA -zAlEGwcfG5~i41+vp#KypS51=o1^cu#pdW>Cbe?H&%O_bbId&2|l%5D}p9F133Af1; -zpxoj}FGZPaVPQbXT%*5Pj^lB>jY~z*yTftq`tZaz!xIC_X4O)0)|c(o+>_57)chjI -zfhfD{EW}bB2fd7!?Y%Gsf8Oy51MPm*8wE0HW*BIuAk1fHe5KSFLEp)TTfLQ-^h+?{ -zULLPNg#<#+r_e94&nY)f27TL_zqGijk0%q -z75|#u1x7)$9HV`KJuBc)elHSQfQuX_^8@fkoTb7@GG_t9bV -zZkBm}R+aauVe@X0d2i);RexU|w!d3tfA6U3@9&1KcblyDK3=cdfBr1bin9GE-wW@y -z{a%ME{)|3YDrpNX1gSYqcuOccCo_DW!W12j@9C4J%C6_4f4C++14V!m>xw&Eng^)z -z)M;#>`=z)&6IWD(R%{&Z{AOkIFZ;?W9W=H~jKwhny>x(X4O|eo_DJiHIQj^R1W>Nn -z;`ySGuSd2Kl5KSHHa_F_JNZq$-5G}VYEav-qizICHpcrLvEnS{ -zHn9SZHy8<`oF+w5 -zYWQqLfSQ=An^4NE36wHA3pep{8tmy>0BBqWI9sruXrV^HbYG1durt97YNBR`%+jcS -z`-^koe+i+Q+uwyyO{6BGE1YQ6GSA1RyAbf-ki`8k?Jx5F5XWY7|7Nhdqwob#w5}=e -zy|anBuieW0KET&i>dlto!fQ=H`Z_#pnXu`HEw09O7FGNIqPXx=Jf0NuFampbzP}e| -zoCfD)Gbzr56~6GbxZ8!hY8dE>9w;xMzX523f4X{}qO4y4=#D(yXz$5Sj?B9boJhX= -zhh^d}x@e!u(9V+MqDR0I#1Ino_JC8CRpTJ1u{ypQa6O#4OzhWUtyKJJUbIa47TwD5 -zj4ImDJNp^Pv((ut>300PLgqu>0`40qabK!GnPv1+{V6`2^(V_J{u!3VDe?PnyJ?xU -ze;W_)C&zbzu-FB%zm40v!{;aG^VhfVUxFqoxTmv1Y8$)9uHgA&occlfbz;xDqtgET -zb@9|pW%rQ#(Of2YGEQ_-gGqYyZP5E3{dA9h;yyE%N!vJ%LngIAE}Q4FPnWh2G1rsJ -zgse>m;GyV4GEJ80{nc+V3v$Ko!{ZG}KKRK@SPC2c;T;Ui&b8vkD -zmF6Dh)u;4WYnRLVilf=!(Q??osCau@pMGF4UgqQUQW?v?e^}Zm^};DMgy0L*l1hw_fhVD1;3e%_G6qs -z(oEZ|jrO}J`7HOpKa3ZA6hTkm{Pbr}jJMFtJAT}=N6mq|HExq#(f0zne`2}dyQpuV -z?9R5RPrlU8Yf$^nn&lN8twQQ-=GW0uxY?o0g|IALS9=$(8pH%Ea=yneueRBG4t(q9vL5~Wtj9Q; -z-(!jQdj{m|Wa{*BP-;3`>igV6`ek@D?Wn^_&fY;19pKZ); -zh%e;4!8M#G7&S}z^O!HiLRte;EuK1HKNvTC@rumVWpXW+=mpTr^QHWa1N+Z;RdQZG -zUM}{sUh;TA&Je844$AF3WIr-oTJh_2vz%|GH`i_lApCHkoIT6bfAmh6t6p8ylH*iy -z2YMbibKF<_8rYrBh`TyMG~Yh=^X1By-JZBM#J2!n+km|`A@;RZ2~6EXuAJ_KT_uw$JUJKkjps+H?E?acfWv8RAsHy#z@}?`xjBcK1bChfqk*?9q#|J!;0qbB?~02(5#|@(qG<^_Nb!u# -z6^du9bT2lLi+wV6p%wl;A32y8Fx`i!f+nIoz=8Kv1lEt|r -zb#UevS6;+ADXe5F&JRjT08#Ugv%3%7oAhZ=65fHsf8PO&AI7EgaGs(S(z3e&(lX7( -zzKd9&F*kyzM$SO&7`-C7Ew}~%=U;UZ3yf)o713vkJTpzifN`J9e8Au2uTkfq7QXgY -zir?MAeB31uw-~oVoy|4oU|&?bdug>p(sEv!JtVEeOLI)W9ZSyZTp{q+%3Ut*hXGSq -zq#Uq+e-sxXQ}XuatPnB4Slh -z+QlZ?R_M=vH;!_6rnDQrWJSG{+3SUT4+YS^e+A|nXKv%5bG29JO33$1s51|Bj+S*E&FfTq)dtAx^81e~6jEXRpdA~<6F*{w&|AXuN%*gf!n!1U4=lTL@7=|!_AdPTGH3@Yo|Ez! -zs{dE45ctc0ePvvD{jA_Go_w&k&Swwd)7|K$%^8w*tCzOFNveEe5_0znao!A&OXK4F -zJUwnpd`{kBczB&(zw`mG&Vz=u_o$b4f5?#bc6jYQ^nYsaIj>GOq`g{{vpWOQg$i0KceyJJt`PAL%<$HSAe5x(8 -zSGBdbSy}T!EtuWB9U_$PrFVPp>Unj#2 -z5WYc%8zFq73^zgeCK--F_+}Z7e?#~d8BRd>r!t&`@Xus;1cYyu;gJx&O@>E7_;wi{ -z4dFXwxEaEC@$d%i5|$>*0gvmC<34#Q#8yG<1RlGb)pI4$r0B@8Xpf<Ht!>;^pRp88)06ae~P2#^kL9)9k-7h;PU+EhgbN%+u6NJuBX@Z+t!+^;OCwlNrRq#_i_|aAHf3rOJcdOtRc<|$^ -z;Fo#u6RO}>OZb3$R@`r^>;{!Td#364qk5ZH&$*_uF~;e@USS_js|Xd=+E-$zCO&qRw{2 -zC$B}mjD|OujC&DHf9jV5?S7n_q{p?J*e!1zl -z3&(YeytJ#mw6F8akx8oj|28W!eS$ObcCU~x+E{F}>>Q?{W{UVm(Go$;DEta@+y)rL -z$&vi4)c9A4I8Rcm9fe;doD^O^4Ear&o_}^q{;t}|=e|)pe@Fcv+p*+$KIs)chFp8G -zyoX$@Z|q(fPt8OeqSI`F9_(d_Sgq!_n<{!RQ+i8F(qnlKJilpx>x&-L^ZSTeU;7Tn -z;f2PRwz8f~!uI>I{W=mDz#as+_F3R=y8ReyIjp=)OJ_}*Y%EQ(w%wQ+Rm;*r(T^ZW -zhD1MZ3fuWZeuJ;j$x~?KQr*=CQ5F5cP=~~n}`36VKI+33Dh_1Fpj(Eujs4v -z&-A}q&?d(OR^V4NrqgaA$5@lC5Xp?LB>~MRhaul(hnJu{(e<@aY*_HJYDr+iPwi8Lm#ezK3qG*hQb>wR2|nq9oIq~|E_AI -zZ>5mGE!sCQ#k~!L3oe`(36lZNrV#+Ne%W -z8`N3I6QZ0a^fQ)0Nms)NpuMh{=s?LW!5zZ8X4=6$&KGIFyTvlmw**O= -zUszbG3tIUpbIeYlO=Z^m0j$%!9MK1tH*E0qqfm7qYEe9o!gf0BKZ -zPcH8rmB$SvY|haUx1^ZIlKv?FBG+*-e-p!V4E-yjPet?}h`tlc-4_8qQe&28-{k4| -zVBPm+>ll#0u_y6<2a*gLT%`oKNUe`r}*B_o2HWVe|RXeD}_K_EpPB+|J*%D8E;q -zkS8k6zXRU&LZEgB?0E_FIywg$D;DlxP76X%R(+198K{p_EZh!nad84|e{FT*9r=6_ -zx48shL(Jv-YE8oAwW4JXStp&tHEGc^V%SS{he-{2srg}2Yaw-4d(GFuhO+}OSUwuV -zbNZB=|BdkOf{6-GT++0CO70udVVwT+V?m#wZ~QuSqouX%qk&2_pth2GBe$ZhtZQ%5 -z#R}kXI46#R_GFN3}0f9vaZ%|v#%x?vS%{dK$llX3sOLgXL^fqTa00)VqHhH7DK|_kg&LH$wUU@%v_n=FC@s -zc679y`8`r^F_K#|7k+K{odLft{K9!)<>5CAznkILBz^q?? -z#@8N7_|DNx3uRiPK%vHYo_;%qzZUL?h299;8+wLqL>GwicQfo2&RE%XxD}mFGeQu~ -zORR+wYy2fduR5$&e+8XLYpt*_!f@9txL9gBw;Rn{>4sXd^cpPPVa2?@ps!e2n^jorRJFAr>Te5k -zR-lz{>Xtqw&vg$Ia=|_FyTUn&dN#uDlxw`0|2gX~_(`(?3BEGRdL)oT&dw;YMlMNd4X;kZ@ -z_wrk;1!&)qe?H)ao6P~zVOppmgm#qR8>{tO57&jooi^o%L|3tjw{zQ!YH9NsGfCPf -z_Pb9*u2vIe&RaPx^k8_7Z=ZUlPn^exyZgZxE#+Rch}Ntfs~7FNSuuS#Lw&}cOOy|acl)HhF}EXObGe6~1MPEHl^o9de|_SdPXi8BoOBmMtSt-sO(apx -zqx)E{m3}vo5Wcky?oYYwj!M|RGxm!F1$Od@hNqVE_S9JruAL2Lo;=f=??T33;v=bg+eV9kPtE~dNmx(ux -zS_|U+e`6>!vYKZj-f)h;VJhEnPH}8B#E0=Mx6nh$gRD;8iFe9(JH>aFIjfYO&YjGE -z#>GAO-Bs|wSIUOSJ)T`|oS)IF)c5v~?|VDb_r0Cv``*6i``*qN^u0aAuns?7H(`}} -zKbZgIDooIyZ_lcHr|dG{H4`2(vWPcPP2f2T~x6=iF<1|RZ#6k+;w*-n4f_R@=~ -zhnUKz=IUT?4j-zb(+XAnJWckqJwCXfi>mT%9Wowe&vNN1si!D?d%FvctJqgDkJEAf -zi(Pl|Z?ug|EY!j~f$z3ke76f=2ktPrjWyS=1GJ`Uo-P^fxKb`AMoIA -ze?st(MSaJtlJtQ6FheO9QSa$;T(Ov-G9G4_?w^OvUb#nn<-R|t+#?Lr{pGfK<$mca -zcmAMqzhsym^^NOn@BNOG@AnaSw-3YrFRRwUWnRA4Ve<`#8+tk$tAq|D_G!RABq6L` -zY_nYMA1oHrq}^I2&+@ZXVqfed$9ZdDe*<~6sy}yn^S*o4`?$}8PfRGD{;qJ_U&=Kr -z{LWYA@`+W7k3B0ved`qe`jWB?KY=S{p8lFLN7N2q=7p~*Q_)$h*fe`}m9q2jc$F=p -zH+BJkdk|cGL+`CpzD3kGbfWJYI#Dm%2PC+!5%>ixOrO-YH{Rn**!~hWk@s6zDd3rf -z*rkrzg5sNNCK3~)_*_kX6*{{MoRa(+Xr -zg)bckC|l~(13Iu*?htaJZfG6){v_w*iPMtHbr5G}E(a8c4irhQmCFO?a-#{}_U3Yp -z+;(>kPPuv=D3Tn!+3^E^{^)`!;HR-yZSq=MvEGIecB`^qIs-{3T-4q3o|Bb_56y0Z%YyCQmo -zIFnF54}PW2EVuKwTH5h-w=t9Q@h;?e8QFcquMv_ -zo8?P~)jIer-Q8av*6-l-wyN~bA?bTnrSCH&eM(jO6yF&wY(VB$E1Q7uO}HP&ZBDc0 -zipb6Rlv|#_Z$$Hd?0jLpn38Mne) -zIbO#TTf%)_(T>v*1Cel+Cg0T&(-LvNZqPPp^9Zla4t+f-PTI~YZAXdQc7l#rANC>8 -z)=aS{lM^m~>uXBUbd=S#4lPq*geU4q_qhb)Wp`?#g#c6+&=yi^*VPtx?ikTJo9&S)G>GxsMZ~pznCh13V+^nF}?XCJa=vIKCKTdl$0{oCGm_Mzn02pa-Qw^rqQZ}s51ZnM-L -zYD*tee}g=@=cLIgI_lr|XAc8>b_02ZaY#zVpBC}yD*ksK$Ma4>o{Hu*AlYXgFGc6gpSm|r}yW}2|Kreysn^snu5HmAjU}jEHB?13d$7Z4+>(d7XG9l -zu7dngLGlXn0*5qEIIz8*z0F~blzNaCB}5}5^>e*Gyf2}Km+xf>sm#`M5>lD1mn6i6 -zy3X_J`hY``Bi3i0OB$@bP=+z!Feex=Hd+0E-)3^2x&xG>(3{(C+ -zS^g|2KV_Kme-ZN=ggx;*i}dNIlfdMR78uiD&Kah*-}Bre=cyzx1#<4zP_w@rnG>mu -z>rG$I)4Vzl7^cp*d^xvybsjiOoxhWRW8DH{-FKLpo|j`i2gW*8j&)?+IeKNZ|ByAD -z0yWH#HH>86*DH1WR?G+b6l{YY8RwC}LC~WK4dGeC%-+95-!Z4Yl?2)$=hy~o_Ao2q -zRax(7S??JnFjtK9pkYS(j;z-pecH(c>nsja=WqD=5ahmv0e@N}^--x~aDDiHje(Of -zCt~&??m?Z9f-jHA5x7w0LAxKAXNk(AIl8DRFre}XKj45Ltnu5L?$Q3ugr?9E+MoTI -zmC{S}L)7<$XUY7C)p@p{%4^iU+o}3M{&owkLif9yI9{gcp`+JS(?cI~oi(Ayf1+3Z -zH2rAn4og@%JEp4q8H37y;?skFId_f1+dc(c>3*vszbyEA7p@U^rEc~^(gCzUAlpnn -zM2{)x<5?d`zl2%Yn7>DN>rsbgLP*(DQFQ4QYZSfxsYi$7Ir8H*%1-$!bFL$jGbV!oC==QstIp1NU{R+3i_j{mz{O8oYRrB@8 -zkn`@Ls`OtDNq?*={m~)mJF3zj8S*ij2vY5v -zwQQe`ePGGpvu@daOS^=G0E1YcSaT-k?jMvJVFQr6nF$z!+z8u9YJ$x{0Sltvr=HvN -z;%To10yOhb)F@sh`bq}z;E*?hLC4Mk9^|+=`dzX+MGuv`(HHphUHp>hCL>CdbPa#@ -z@#jkZ?B&l@{JDgGKab+i0sbuV=VAPLD1Uy3KM&{6GJhV)pC$fW#-B&VqF{MpZ+^ZBy}EnRAje4k_z -zPenZ}v^Tn$NM@KOFOa@b2AAL&j3?VsNTcGN8~lF{5{+m5zF`Q4B3w~06z@&vQe*XRTy>}sO^DB98*&GQ8ap6&6k -z@%O5}qh!^0^pLk+lrNEHNS{yr_Q4LfyU=2mXW>{#M^T_)PEIrt{~gz_^@?1w^O2S2k4{=5g@Rt5i~2mfBe^0oW4 -z2R|Dn04Q3vM))%x{G2NID<1s(D)_4&{DLa@J0ASvD)@6A{M;(|Z$0=As^Bkr@bjwR -zZ+h?xeQ-Y)@b|j1h<#DQ+J)`zBz@AWXA7Snz#3qGr=#4WWhb|2nHpr#a=_k-9C0IQ -zZsI-=i<}#dH5`H5X9$N>Sl?*B1^9^4Ur{x`rt3R%xd5z<$2Fh7m&cQI#^}M;=oF1U -zZ>^FUt>8mt_xIehUnhLP6@B7jO61_9%>F}bt6KL9p`P(vZy0mkBQ$2<>#F!1lsi4( -zlT>=zE;VVeaebypt&`mx!t>}WY3OTtN0y=SKTSoD*S-KcUs3)<^OqAU0bTs -ze!nqW{~60A6`sy@YX|F? -zGO>2tXRR#YE)LM`mnJmb&#(KL9PiLF&taJw|Js9{!Yyb2s@Zy_&3ks)=JTRWyV9nA -z8rMTrbM!*h7#^4X86c;}JbN{~z88n-&r4o^2K%`x+W)KaEAsT(YP#cpKKap?)+)Z$ -z%a&g+>2(kOisiSB_m4p~i#*-YwF-V?!ViCM7w|9a;o*PXMgC3Z@bLd8hlisNC_g+P -z=jemA!jDW>FAX-qK-*xNrXpvbyv1dIz`Ocru(0||wq@4+GelZN?>H>KlaHZ}y|9kW -zB-n+0fK%G!an`T&z*5+yZXmJP!4NT2A4;)z7tOc*97CH6O!kJ&Ptv5Y+ -z<3RR_M5h%B?l^ZljnD^zn6k4fr7=XN?YJ=#G<e>eq={>N4Ak}&hMyy-=6i~ -zOXhRR*T?5oK0wGi1^%_f<;D5uk -zZ(ib(U=!K7bBPNxgP4;08FNUF`#I}zzhKJW4)?3LPVnoy=6}Z2d+8u8-h1iK-jgtC -zNb7fhkr)fRbywGC>~eS=OCbM$so5QFVSygpLAOPF7JSYM3yk0n=v&WxY$Ht`F_ZK_ -ztKVHA?T)K9Th@s)#(Vb#61*Ii|0!ulFBHFG1KAykoDtG`3STnSeosLQE}2h*{(H*Z -z)+s+fUscH)w0ZEIo_qlQ?Y&O$k$b2f?9q&%|9*4YI^|1Q^l3>RW>ABF8Jt0bOY)yF -znBQqVc`XRDn1@-+f8o2YJ#d}!k7))gHpRqPzXfTBaJe8e*iC~$p(EQ(ogm7_1<6v) -z2^L9H5OBwY$R%R;CWJ=q9;7(kg!pS*b{9)$#vr7-J{m;-kV~B?r2Yz0%k~}I;>?}A -zWZAxp-{ll%K}jw=U?=xv*@V`nf<5N2RTC{QK@Y<@Y)g -zY^2|v^<;yiK_1O%c(QS>NetwvsJvUfy!I~hs(t^=b!y*-S#|G!PbmExer{H!J;2jc -zpD*(IT))dcU+MLuVVC`2(hlHtkhc%#YJLsW*C}lPK5PWgCZL1%Epu)V@6fY##Mvv? -zi&By}mnO+fTUv+)mo8xNo*(1+%l5t|+Oyp{saT8!F@`pDw$AD=Zcj93G5uGVFHp9d -zFrT$`ZLtgUHJLhpFV)|*Ju!A&$SN*^ac3V)1g!3bure*w%y|tZIjjx~-{fy0+`X_i -z*kJ_-=0Gb!G!>yrX8yr-!oNb%#TEN=x$f@f>#l=a<9!^~9j;nDQ&H>mv4rr0UfJ83 -zw0X82>e`dfWqoiKpbEvdy5KBIjsEUmC-kO}=~xqqY4Le~vx<8)1ZP5*g77old<(Y)*xdWc+3vA5QvdOF$TLs -zX)^3#C+YYBtgGM%AF>}Y5?G4*zZ6)RGi$E!D -zomI|%zLc10I1PYnCT5ZbW9QD3PAX?#09b?Z%+m+&SI)i)VVtjW_BRmfH7wX0o`t;i -z#>asDzLG$#&X*IY14eYirx8KCIM#{(yGq|x{vgacazX0WtFve&OmSFqCOanHOBn9a -z>R@?&Lv%Ad1UH>VA`1H}5)(f4&Zrg!>J=ubFyVMQ_GZx?D?E5^N3~{tk>lKaG -z7!-DMegL%B!--x}0*GTT?F|N(_Bz4tl?=`;SobRf!KoD1U0*C%T-6xd(lC&JAf7`{ -zG%Fi}Xm1jB{$3WW^R1up>jggO*oTsMu!1MPud6%VQowHy9p_`>dW8dT4)}57D|H2b -z-xBca>`zkpvu6iTzE8C=WxZ;njSaTdw5Q|QW@Llg&wK43!u;*e@!;QLgKY<@yWyaO -z9=u-ouqgH?VBRlh+yRsH -zxs_%6YRpIW0vs-)O@X%eMO$Hz%jLO$+Ig;h7~i|Bh^G3xc)g@Q+(#2OU?+)SohN6$ -zpi!QE03C4uoJje`x!fD)6MUS?x6*2WABMDZeiXcQ*pqFP&chq^t6(g@37}6}byrbu -z5<6F%MBvxW6>H^PX0FKOtz@n^mY;x+Vk!8Jf6YtZUM$T;_o7XEk#)%W34enFd3wyqYXA|+1-mG1v -zk0cjS#o|my3d}#yj^$D*AZNR-D(IVyW -zMEgI0_NVdolkuE^Ghf~QWeJ0S$aewf?CwO48~QSiI8o?dqJhY<)2S5weE*T5=b8ox -z{Y{2sy56osy8b5)oeZJ(WT;AxcfGpD`Vs6MA8{Wu>btmQy}%n=q8%Z>jnX^RcjKkjpB3!spH8WBYKyUyP&iBV0?-%Q+#~uMVw=He{|8BjM*L2J7 -zF9S9FM(+(_2~l%&I+@OYZf}^wxo&xWUy`S|k60XQjNmV8KYJ2s|4$on6745ir2W4J -zp_gSex({Ocfj;_^OiM>C;CN69S`SbDd5Cn@BJLT%cwp~iApgaXe{a+^>j>47jzAbK -zgNJzO3o{1tvjTnGU()?iEhu%?{|)`Vg73?B2Lfnmv0vw0f_Vmiw+)n^YYc2gDdA)? -zfc8sh3tFv*oFTnGpGn4YXx}73iW?`x95(!ati1_*8^!fFKC`>hYS*&8UfYQy$<9g+ -zv7B(ovQ6ZK!*NJBQXo;*p{@)BLm(lEeBc;DXba)K6YiUYtEFcQ1=>Q(P0LwIDFsRk -zlosegxbK4h@4eZ7kydu#OaDLM<7nr;-psuB<{g2!_)0ymPgX=+Fw(@3nyrH0ymM6G -zB$nK_n#Y-~R%;trYh5|br;h%e$YLpdE6JT&_rbmNOG??DPlvL<&}Wgnay?r33``B2 -z!g1`l>e=o~*w)2f*?`x-;MV1MLgClw^3lb34#nj=t=hVO5AycbCq%z8tRC9hAMveF -zCNvq~Wjc-)zEMv4*H{P8qi7@gLmm707XAz0r!%{*G9+kPgn`PH0(ZrJYh>eoch*Eb -zuOZpvdbHN1OjWSwlL))ZHeSxQrm_j>zk~foOHFv1!mm1-#{P>h#1`$UN}r#z(>euD -zuHV_J3mqwcpeCH!NZj*ckyLF3PD0!73#@LXd^?$Hz{=K*_x0!a(^KCl*te6m{+m{A -z&(?oMMB4ffdolv4m7dPrvZ;p5$8Rfo1(5k>kIN_QrVIxcdHJOOk-Z?_@uceu5M{wZ -z4JQ(d1Zak8Nx@+xEL -zr3S&~bS5mb;!Jy1MWOCJWqqs~@S$og&eEyr@LdDHHvH}ZzcAl3^VSM#m8iC^yt8*? -z2bP3YT~4tbL4=txeHZx@|^JR~ze@*8;OJgP<@#H_SOqX>A;h8f -z=~k=9X`%Vf@)kDQ(!<-lP#env%{0(?Kx8>b4>D4wA-}R{>)(k8TmKSPkMYBmv$Rgi -z^6DOLv<}i|j@vgo&{?3-eNFpE@lHNyAk@AqT9RnMP_S(|T7lS!zT20} -zJtJ}T)BOFg4yr543WzyA+k;1&&N#fq@Qh1aruw3)^2&mb$4x7RjEZfwqMQfWox+zw -zC%%AZ0AEM@*n>_}BrW%%Cwmz1sNu_3db(?tI5idV1*ayQpEk^LqJ?cuZ`ZWnmXxFqZ-Bbzd%i_*_WlCHM|-Bbqklb$L2IFDI8TzT-Kl9nhos0} -zU*5TgECT}t4ZX}j{|2lE!eoA{oxYdEYCKFu*#y-89E~6_FiWF%lFqbKMpzYMef_C- -z^?Brt4(God`iApf5ihF!^SGuoJD0&bn`%W{^!_{zow%x^PA<>Waka_LKf5?wl;}&A)I}@%ti~ -z!W6iN-*#w&U>b}HSQVNby>9_GK)C(|u3mAOAn8^io}7`BG_ -zllWUzZNr^X4SzKZ^2VTbvlgMQlJ3#~JC^^lZZhk+zQGvb)sWhM%%0-D{#CZ_884v& -zUhwFE?3RWCo`1yzJ78kZaj5Nw9LMn~jxd;o5sohF-U6o*Z(z9d5P!~I2Rko533~Sg -z^f*iwxN$$d%zA$^&Db4QG`pqU7`2ib{%*CnF2?>HZgcngl;PgcV%R{jPiB0`!&Vqt -zhjBNjkn>qFs%JNU?`XJNT9CI{0XH9n6ibKn7Lgw8xv9yJ^X1JEgde7PMLuimO98gK -z0jHp**Z`rbVprh4P`xsm9l%{(je^(E3kA+|eu*;4Am2K}<^r!r<#cmC;@Kp2H^c6< -zp4V_ys1~+KVO5)eUU9#dG8TsQ3T(l>5ylq8T8BfGP!G<3pd87lg%E>d6JyHQ?-$0r -z3C2IdYhWZBc@>)j__ezwVQhf5?!&f}4T*<=j(Gsr1>o&zj8iwXKAav*{dEdg+|6<5 -z+c`R;zNVQ7pAX^WOhuW*X2p|GU;Hc7SF4`5=WiORR@L2{@YRYlknn27uME3{$yA*4 -z(mtHw!D%ypJDFxKyJZIKzH04tHJ^Gx>*N9&UnGxyrxzjXhM7j&+$y%7ZQyu5&ER-; -z0<8h(*^HO*G(#(QU&pRV&XW6(&Z@AxS)8-j`#WChC3r295Kc89gulf6`Ovce2>)aX -zo;nZG2_Vh{-1(1sJ0DN$NEl~8Se$uIdy+Vo<*X8a4(v&g3-93#aF(5kvLpB8t%m^{ -z$5#X`5&&O7puZ;CL&0B^IRgH{DvM}SmS;Wcc1(?&(9T3@%3b9+`J&{K`j -zvfh3Sd}aADf7pjvKrr!1d@;nH249Q$X%IV?v|M4=z@4pk=s<_+X#?+1+r%3b`dX%c -zoA1H<6)VJ)D%f$h$&_lCX;>@RZ;NL~cAJj`f -zWo{>8(1fQdThl#CTLFjNowa*dw>A#zo``X4gmJrbe*wp{+W_;MrA%g{sUEA1C2d~| -z+{42=1s*;J<_}wx;jPs@s=&Bx -z;?gQw(Gxc_Cp;>nY5oe@NQQqpP&hdE;0ANusw#t -z5PukYT+2?}v$7y>@Z!*4Z2O|7q9X+|D`~kL9S@QmeIAeP{43LXH>ozil&q@JAG@_=iU(f5EqXo{` -zZ~Z{$eqySJ|j4G_NM%{B3M^ -zfZ?rOxW*B(ZB&omPJ&Z|r||3@sDnHSf5K)cyYh0j^|I_rSkueePYE>vE5z@TQ?s|W -zvG&FoYu`H}YfxvYI-`<58=adBP+hl-#=TLLt-lj__@kaJeK|kTRdRlQT$mrpfA4fw -zc{(SM`V)dCtU-7-mHe$8R*5$jdB%AsA@|NO1>1kz`x3J&c85mPdp**~C~?U>+Fi-E -zUgFWYc%E+JN}?(D@dYyRLF~hddGoa0D -zl;b()3!(EXS-m0c4&k0XV3jzpma)tAfzFSopqHtTN6U1t680koI-0O_gQcr7=Bc_$k=0_Nmlz`7HGZ>a;$5q0xfZvM_jB5)9d_M;H;b(UZa -zftWGq++F7u?9!1f@>Npy6S0|BLwG799m{=kkl$V<^wn`q5H@#%k@q_{=*X2%C~&f{ -z{ioo`qOhjInSJW^%A~%hf8#t+8C8@?`^ucR-7+_Bw~XYQUb?+9oj2*|v2c8uD#mH7 -zTcFJCC}nS2C0HDKmZ|V!UJEhr>pzs1-O_Aqf&;r}bF+bziygJY3&Uy|>66ul0B7fY -zf`akz__9sqLBc;_&s1c}TZmSG?@F5^#%kf684w%=D*Y6HkH0D?e-1AvQWce>J9#uk -znMYAfqTEjlnnJcUTAnHIWJvc|G>#x^-3oM11?uxzMBLs2 -zDU(O&_Arnt*(65Jz1QcZ_*%eCIwPOP94ek3hW9S25Z~u63EkvU!OJ21LvG`%5#G9>Tt8Eiw!R%!!n^YWc<@^3lr#yE{8rO_9R -zX0u0g`A1Xqe;fDdDuF|yT!!F?aVE|l*TS{KTa0K-OVY5#ch10S;pYsgB=UHa7NM+qBF0ABW5S346n?e;;u6kGxP~|1+{$+IZTP;90TI$?kKSL$`6tc1cYiwOzO}?`5 -zMpg;?e|przcON4RWvi9#9%O^5J9RC9T$VxS9jzN-Dz!8)FCcVQv7Sz-XNFggLT`uj -zIo8F!y@n_D)?jwgF#Wq0{@uDD>mExrAFi2d)*WHl?jg3-6>Ye<51@^-R+Ix;v|8XC -z{nnp#PSCc4A#6yCx2~m-j`~$=gD+va(rZsQf81)v$f)HE-wLW}PwEWg2AoBa7NDte -z@ZDXzgV7P#m$|jO7@0sNaoC~10oU5a$g(Kxg##mtS+05)!@Hf--PK8i%fu&OT?v78 -zwF54b6}Z>v0^EmKYIIlJeez4ZF$|`7w_yzj)_}WlG7cXa9=b}gTO~EqFf4y$1 -zVG~xtf2%)-_o>39?^9g!=e_>o3y`o0C-A#hR(pEg&b4X>;dXx`+-|CJE!-{JG(1l* -z4$e&*Vfh;oUa}6`R(tXo-}<{ga+$kqCpx?J!}t(CnP0?jJTCa3DMAihwD&ROpHAcZ -zwI*H>@5Nu9O*a^=@u<(2F7lr>f5As@5!^I<@9Al4Fx<9Xjf{pq7@yZPs$0x&V2$uW -z)9?O6x6;VLV8oZ6%33X;Y@@is$%xg3RC6tJm4a-9B3}6{#pOaa!ooL3rz&DGzfI$s -zHHEcJ?G=eLzb(?p8fmu#);6_*Jf$82r-lC>NUSNIuc%v-w_es5+4bMmfAH7Uyhh3{ -zPB(B(#JQ8CbEiMGjc{TqOVjGLOa3q67DWu`P2DPKclH`_1_J#7HTGL?>%3%Kooj^N -zgl%OMop~_n;cr5&2G5ipyV=0IT$DAuzV5q5oF#Z#1nJInJ>E-j0`KK%o%90X1PFSk -z#AAi8-S9?Ivo&xQ%*)ome_1fk<7jDkssueLwnqwI9{pDfXXYZov%yobNi}u+-G`(F -ze@8uP)kBgi#?qkx?SPRITh-rMBlf@-z560W2>Fd5t^GSXSNytmhp!R)y4z|r(hBM# -zG!}M>+-IxSNEv&i$-Y_V_~a%B*GT)IJC*2l9P7pR@>WC2z9Ia5f7@HnYW4}9O^d%7 -z!5dHb3cxl_f%JZFO+p@TyP~LNvLR{Q^`iK -zYAFNW^joS_8q?zNJ-q}vxf0;|(=OX-&z4Fd{`mQR- -zNd9Jx&@URWj)>qnKHwY`>4Ft{QPX&YU+CmhyK_qmYi_H}+*F9Utvbwf7uVFVDs@N5 -zmc$xi)5LLJrx&`sb)%tp?>%{I3x1b)&KwMRTf>{&GH*=e0^WFl0T` -zjMg2{OM8Iq?b+m|JwW^EKsJzC5vkU2rrsJuonD}jfB#)o@b}I0MSWd72{J}b*&TUB -ze750-!?L`DL+G)yv*wTu8-?!IDoFbQ(bv1f9{R2!Xn-JU2=ML=vyF(_xCe49I+O(K -zJr%-AvJq`kql`>$!yKb=Y1Zu1_pjVv4{B)3IvvFL-HhH-JB(z=raTlrrNijn&|zeh -za^^xDe|lrTfM6g1;oXd6CHfOIpw{ixIAoozA>}%{WVSkk4LK)j9b^aN62LvfKtb2D -zh<>)?g#q70eG>Qum^sSxwBESXH3zL3=*3AFHNTd;Ac$Jt$v+LGj*NtOnDH)8&Qonq -zCrG~2A$4~Bf>%VfArmrfz3TrV!uz!uAk#E6Ii5l+H -z4rNuE)Y!EZySmLnYq6&qo>Wk!-O_4JgP6;)oHl6vP!Yd<5&T`CX-eKXIysFr<6mw< -zf1D`YW{|7~zI2QF`=Es?xH(U!T3b^9V{pe_iXm;LR*(3CG8y`EFiY0rzgVJ|{yn5n -zTGo^+q%t0)vEf~b^HJsLeV2JwDDejuX$F@%vcg5KOmEp5k!G{LoK?{V)g%JDsn1pfuxNgpU2 -z_Sd7l2tQbQpZ9D}cV-Xd(GkW}@ST~Ly1;uH1J+-;8SLf9(y-GyML=Uxl)Bsq8$X6vJR_q{_2qdEZir%@=Q-MZ=Rksb*Y_=WVyfgnDxzp$YjgjYZgh8&MWaBYDheBoU_3$y%RmWKF7g -zO*v*S`I=IEL#pnVzWes_bmwk{bNXVSoO2L^u~kJrXusftihh?-zfoU$$od@@Z-KV= -z_9@oU=@;j#$RGCde}|YDt82rmD>yTfw~*`?@)X^v1;!+(F#}Yso5C_xRHhSdzl;X$ -zw#_rLsl8#&p5hw$-Lts#Bb@5@e1%xeIumjY)qvGD<~z@cAg(U=NJqc--sx_@D-^mXosb9ZF#UxEIm%<<|9{I!&v-AYtJrx -zBcB9ec|L^Zd!gqcW7eN3+zadB_aoKQFJRks -z_JKLQD3U^(e`o9@K44u-b67?ztdbtkMJ%UY3>bi|_NW&jFBL+5``!n9Ds4aSV@y?Y -z(Ax_lMH}B9z1=VEiEP&KgxSZZ&$qH);2ti-4p|pQ@E&#(7X!Xi#?rPy@uJ>M#KDn! -zYS3Fx*WS;_R_|*74cIxPrL{1@m&kKmNuGt{@(3B+fA97SI&Glyq=+@IN7>itQ5FKG -zt+$}3@Ho)|%{<5VGm3QQnf;RP9B{rLDdo+a+h3H8xi%vFXvwi&&@XgN^3LvRoc!7V -ze#!SYs(6CKepSZi;eL&?CSK$ztlegNx@a9Gx@fmINPV+wB2wS1;NPNO$_if_v6NCh -zwPLyJe#7L8(eH00*pDD| -zHHE%m_+j~b{hrU3g3rtY48LEYA9?kOKFOIAKFo3Ma{Pc2dh2KX0xuBtAr$pN`)Q#) -zpyX`KP4_lqd*Qu}@8A+n@9dZ3zcJ$1oxG=Cf6{OV82QwGszUs{qAjNza1K(9+%czf -z#J^VZZyNSsV-?8*%Go5mm@86Ozo!BUdSKz^1Bq%=jC5X -z`46WtqaHT)??%q~RF(6cm`1wWIG+em(r%0Dm{a-w|BoSH)e=pM<~P!=KavSAAhThp&ddTmyew;O{#4yB_{- -zfIqHqUIu>_v{40rHvClwiuK?aYA{a9tihb$Npy7*#S#>A` -z@hB^P26KZ~nTgOC+DxzixtdQM(!3yq+I{YlbIfLT9CMeR18p4Ld>C`P&oNuu`3Y;bykWxW$aHYve~oDo_EeNv)S|D_dNJL8-CA*-}B-3 -zeA886HlSozCHD7awsrW~aCj_vZ>AjX159&PHg_?obu1a~Ip_=s9}1&N2HosA^c{y1 -z&FsK2Y5xP)VYjww`06TtK$I~GIKZbNYvlP!rD{~ -z>fa0M2h1S57u63qQVUB@f7^xeTiWlNNsu;!_QR;^E)})mDkH}yY0+ckQMShce;-VX{@Nal4O+j9 -z6!@1w13inrCSNW3(>bnO(im5oetv9vK;YmAA!G^Oxqx&k?hJgHzI8Uf+?dS~YIbJD -z7@?2h#;=5tV_J=uhA~o4dwV+Bl6LKczQl<>yfP*zTM%}~ -zAcS2e!a!m>;6HMXAC1OIw$2QqWz~0Isup-AnU3pZX9$P8#%~e@oa?ykF3yWVd@j$}hIo -zqp#s3filgf&W$;|$hSXoKpsO_2wwOvHDxr;6~N!Qz}?Ufc;;-U$)ZDn%KE`~X~k8)k$)pB7;EiV;n -zxnM#qKP}X9p;wEzkB({<^v;8YTJD}C`dV^d@pk^Rf5L5L`);e5>doZWL%^pBl-y?t -zgvEI*I}Pv0OW+IP5IIB1ctl+_DcKNF?~5j*5p~D9WL-o(O-t5B)FwS?N7P;Fl9dtl -zqfjy&QO}*6G$QK7las-Sdc2lYBkJ@?ULUmv>h0bP;bk&}f1=9p-A%J#FV=WpZsR#L -z+F1aFe~VbQ@hr0gZjx-{*>JlQ)>3VqE^=c!&YR$3iJDGeGVN?%+Wi!Bo>$xXCAA&7 -zn=EnOgxX%0wI$A{G-1{E{-!26g`3#{W3YpG8J)xJc;=$L8hnexH*)j^h4+SMO1Ylw -zwhP|0wB7w<*mD*~Ny*YX)~;?>{>t1N#QIGue>roipigHmc>aD4ZfUZ8qKS -zZ2?T^+~{&Wy8u=>_#~bDrCzW;i3*^`0=WBUYJWheF#u|OSfzj(!~+D>6mNKh8iO?%?kNB@ -zJDf{U(-t78IYmH88$ii-C}amP>hh_a>P4gHDOgTTW$Q-rKk+e?0)D -z0cyTDFThnBLd{pI?R%Iv^JTUD7IQRxS&qXn$E2^;-mf5U_bC7efK6l*K%=##yUK~v -zbhrXgf!-iC2)IcT70}G4j&+}ia8t=L2EdL1xeS1vGXZus3fM9DSB0G&eXt|(!MZ`= -zXUTOgg3@2C%>(1#yKHq&YBUN~sPTiaVMe}Q`wC{t_4 -zdKD;?LE~AV-uL1f?`eVcjU)ai@ckYAc&Bzh={3(Kyc5H(Fd4=ZIHE1~!dT;8nijzL -zxrLKCq6zA)2I!I`F -znj6jRrlXA>ei5|1%E@7eII=gfE2OW8fF=v`xeCyT$C@e>7zD@@t`$pTLUz -zU;H?NDODi};z1*CwRqn!(}nl}-}h<*?L`S2 -zPHW+N4==vo7oYciA8qupBiNARst!q{ULMF0V9^2Vl@+!D_Nf5L&>wcOyK(R~uo{rp^E;oa$leVQ9wV<0y!H#p$^t~Q9)=Zl$p -zve?bllGYza$X9rF*E7t8K}~Uo));P^pwHdC-Ugc5){wu@#oQqQS=n9Bf}Bd=*?&%{k -zwT64*m1b_B-^iZ0+~^s|!|z29e>B8j4DqWVd;x@4K=?ukuY}*t@OupWZh_xnqx+0& -z&EDg1HWMM#8Cp6CInyE56p}pAGY5qo9k&`F#o1d;!x!$z{po9<5VzX<%2ux>>tGlM -z@Zl_^xV#saf2}^ckh;o1E24i@8zFW@A$Fx9;@s+E3at!#U)|M1UcL%XS4?A9L;u?7 -zF8F;t-p+A`{L__e#OULn(cBR=YooqcAH{xNj7=0{$BMD(Vk|2w#CBn91@WiQ4yNtN -z+Sb#rLGR3EfcftX5f33t15IzWpbAp!5fAM3DoN}CzQ`Z^eZN+UF6uPUf -zbDZJE*BL|3@0%@YfuRuhTr-A_rBL2^+mnaYJ!|IQ8x-$zIet8}a{{#UU87g~wvh{b -z$H)cOLz@<3e!q!>LT|vePcU5TyHMlZ0flwj-xiWY_IF?p{;3`@ERp&+QsVY{i2X-I -z@$AH5f4k@Z*QPTl$4`WIPcr=P3&eLHl>GIRpsdQ6?_K)QcKI&7VZxl;Gbr9uTxWyf -z@>30$oko4+B8HtpJz)j8YOL>}LGfOg<0nI3PK7x*&B$q|`05s8$975f*FM!qu%E;I -z_f!OViJ_qKKl&jS?f$ON?&;9(SjRowK0#pK17YCamXKG%{S> -zGYX>$l2$TfFAj<~-5fs~>OK$ZJ_pwITv*rh3-t#*8tb2fLU!0)bRJsgroG`VK8L>X -zhV9OtYq(3!H*9UtU09DVsKqh7RT#rYXlE0&b0Li3f&u0|ibyal;& -z-CdU(gPnhf2IApB4r=I~cLmfU?e#Pae+hYrfz;n4=wrT@Ut#pBmzU`8%oviq%BxD= -z)pjYwUuj66ZkWB4H@Tf8F!5rH=brk3Du;c -zTU9>X+#M3Wv^zAw6tpU>k39xBKjMp*)OQk&iV~uI?D6fyj_>ukQRzGT3cyPv+DQ_B -z6{FB_6dHN75$QJ-(y5;s_OlcEe<{}*eJRi!Th|zV`{FYFFb@{Gt*Z^cZ-yfaFmg=^ -z?5rxpUu#tPY;+Gm{Av##QYl(O*VAJS$-iQi=uW2R6{uKHS|G-q`b -zF%W-Fn__yauQrlXO7reGq1ITTR=XNYWB}91poL%w3Dz!Al6AGOAsJN}f4g%rRw;yj)Ljfs~gCHhi9}1VpC^7C4RY*?Pf0 -zy8>b(s(@%renki!?*0kHk>glV_nTNp(}aDxE#*S|6tExf6SNFSJLl~@fUjZ -zY<(m3C>6yXVK~9U)-X>+fihK#;T8;+g)GiOwt}*KfW4Q|yHJ!~xuSGh9NCO^5JS~v -z%>Fcei@`kXyeywu-RzVhW*jQ3X34*K?V^pADD3;!xD)!Nzw-yzPop|0F7-av -zD|0{yN?9Y5G+N2YkngbOF#Q`~p(z06i}jQB2lPMcuj!wLf8aEN|3mt<&Foi&)r#q2#FMNyO`)4EuZ%&G?B#B|a2D`GCCBKZ#Sg -z6Gr&G`fHi4eLo2auKyj{z;ct8+xkve -z9!l;|!I5X12btlNe8Ve;j4^nqOdv3gjgm+LR=z!w2Y7 -ze_^C`FyDHVg|ry#mU@Pe)XZM{T+X8YC!E22=QZ^U^|0c>m4-KyMlZbsbTerrdmwJn -z0NGd&x9A%X3hQ`Z!EXrVLem+5mO8+BVu166J9Ld@!q1O+v!M@Kx7F!nk8BraHz7Y! -zr`o2mgf8w}okhYwoq~7gZ{$7=%+^;-$#yK)(0;_3Jkz&z0vJ_DlLSsxk#_GKJuu4*mdO$X2jyGn|PrI7@z1UuIXCl3yE^vUtu*^_Gt=e{DHN -z>cIN=RozxW(;)8Dr;SLOCV)H_l>9=zaC(}J9&Dyn -zGCQ4~26cC(rvaQjMKn+2@5c1W$;a@!wejJxj^J;`^hwDFih5xQReY%)*YDuwQQ6Bf -z>|Ys49?z!UmC<`+y_N_xs{__qlX09c)Vpv--K`FE{w=c4gQy*LBAb|gf3IpAXmPgn -zh#;JXt;0Z9H4pUs(<^Z@l(-FQcr0?`+`RJ#D3QEhzfP~=4~_&sMBRh3zA)@!=e6cX -z;Zz>TeGoD4#Xj<4AK|PH%RYvuhG7Pswl3 -zoDhMafQ~4e8eD*u0nkDKf4!L7wDyxGto?h1wU;{32$v@wBYYV^4Ydf1LsoEx_`R=L -z=pM$XrwZMzEx{q{74nOT_bm1azlWR)n^l6PSI35|2Ow|q-AI1@1_%~f1Gwgh|Ys@xRWQb -z7J~!yaC*N}$f@ViWkYN0Imi!N%8|4I(&(@>HV4nteJCq)B{?&Xa>AyYQ -zbOb>W>bU$MrjlKXXo;-BRfdo?z%vT96%L>?t6EANc+xjs53aynfLfV-%4a6tudP7Y -zE1HE=y%q}AFie|af$tMRUB3T6Oryj|6u5Ui!XqrL(0F8!Gi{fP*^12OgloWY1W -zm6K*r1^xRPjtX|g9dPH!>*&v_BJ4K%U%B07svtf6;3!`CIbs_Z4dS#+TJ{ -zqkAOI%qx+LSlC1@Dj177)%>IC{vhBB_i=Bo1AS#-`+lVof{0idr%)F?*sxV(##_*72j+5g&`>!cLVWjP%`eAaaN4+ -zWkF?4YLSQW?lIEthHS&n7ZJHWDvbXI=>H!}=H~N4f7*?{xe;U6hQ@sO2Z_*%QAF -z!aps@uj9EJ8}{z;)Uu@C$5Z2Q>6@$MohFBcJ&^>v4bq;5DR*1mfmOH(Xiofct3ELL -zlz3U*e`#-sdodqEdVr(_GaPUt2)h-jZkO|bo_7O -zu;iD$SHeeIG%ViBG2Ue#82&orNBHafU_zVS!yXTx(ibq{LmFjZS9t!UC&Kd%rl&v0 -zvCO_`{f@r~x2)gpp3H@I7O|DUV4%J($)vEPZC-9Nrv_`}X=u -zf0;&oy(cR8!R^_VX`*e-@TZ{DPL8=-or`5 -zV!Z)&-0Pw|?d9yu7IGHHc$U9Si^qz7>BTtDhxBjK99$g}+WQxi7QeXdg&zNYK0W@& -zRPsIgPTrb|bEcq1NZy)6--FKgqJ7L%e{OeN`%S~H&L~Jj{?y|#PHn*7KCKD%TBM_Xf-jI$ -zb9=m!V<{_Lw2g}E^T4opGaRt~V{kY*ey0vN7e!IN`pu}YP4=OYV6(IVXQu|#Is5>v -zY+4_~xpQMw=;8_3dIIV>0>`;Df6dY^${n_|2rH|>uYi=+W_~%*0Hp6llBxlp9)R#4 -zA3-ix$*tp+;75{NZ7u7LzYk-(2fiZwZYJYCD#YDei2K-!%UiQ(#ZdBO(7K_4R&VL` -z4cry$DPT9h^vqbwEuQax_tqcJPL(jN$6--KgR_`wf}jTEb9n8*{uL#k&AX -z@_H(1`OYV6t>So;Qf6)ig(*90bE6*_O--jjri>;k72hKNHsV%6+wc@RpV_Se_AW=VC?l&uh(KU -zpG8aaE?p~ezGD4{c{A{_(e1oX8XnLZe2F}7MP+VmSG3`jwDEbAmFTn{?w=!SqX;uA -z)(V}zeya~#wXjvhh$Q@s6=pwPn0-0FgKIt8J=WeOas|s~$@}t?lJ{$p{a@?p$EH4k -z+H0c1a|%gX_+s2Ne|$S9N0CCKcX~{7PK}o8+<$kiZ0FMn@8qYh^>k=bp8}5Yd7);Z -z2QA_de?K{Di7@}K;VPd){FpJ6>Z*@>Hj1#FbJohY`Og5S|J=x_|21;j*aUp;yKALf -z!)I^~KLzK^{n7tFat%`U;NrDX_JEr?MKg1%V&*hv<^rlIf8|M}-pjQTjvBe?IvVOw -z1XKtqX5Ol$w?NlXOdK)JB1-EPbN-9$>XY~2MrL9@7p^~?1(o~v+Rfe`E$Wj7%$yxG -z@hwkUK#m5a1>|D6TT061?0|`7OUu>y%1Pg%cdivQ0z##3cE=4f!-K55vCO;!?(P20 -zKL^t;a!w4`e=CORHll50Hv4q2tW%%vJL#B{H!G4yR -z6{IVJZ|whqdd{Lf))+toR!SXCh3xgW*{GeH^u -zXmmNmcZ5P@p<~c_Iyyj}2Rq5yetlA39DY6M5>qJdaYIa=jy1A!`U^0tQP2MGZ??Rj^5~Qgfbu!y5VpELQ1W -zc~99YeoxuD0!?a+2s;Rf!yyHix0<5DzCzwgdS4>Gt`HyfzEp2-R*wifjn#}>X+S-I -zs)1h%eibK;I(Kg;>(JiQGJc?utX{?!8A(foe-|6cvSmDLBts&+#7L^kxNB5$)8ped -zK-~wB9K|-n9ejXzOK~5+Gr@ijW4;$=1UVeYSDaVBF5sRRAj#?kdq#E72$;w#IWg`Y -zw~bEC(^(?)2X&zP!D!v3$Tc~UxyNG4B>|l!r?_VXO*{o4SMX_7U#1_UUo;YYI4by7 -ze=EGa-6P1?CM1o=8*NVs*|)+FYL@}KB9z`4juxyI2dO9 -zK5j$WGW8JpPLqto!yN6^+%NoeI2Xi{EUaaCH|x-ru-%k2oZ~gHiek(`7SX4Xf3(90 -zjdWKUDcTE5su2LSgbwo)5_v! -zqp;Ir)4U3sDe@g52Qgx{4{dfzfAF?5y!}{&1D~z?akg9p6lnh^6a+oJmkT@?>+Y-| -ztv28R=ijwDWOAI=}I-$k+0^B=qM1^jQ;M*;$f0leZQLmquxM|L~ -zemTQ2hn3oy3?Dl#PiiD4ZBfd4s>kPXPAJqP^GunL=OkYqF|Mh{dVFq2sGuV}4rT(7?EK=a`t| -zTgTJe$CqCl^RM%Be>;s&Kei-&mkI5!D`~%Ne7bXd%ulo<948D|H1`)SZIW5`2~fAPoEyrU(#&rTO3-AU*h -zzox9rXOG~JW5t_8AFDD^{>h=+;w`xMO_qS)0c-gr&QOL8wsq;bizv -zld6O%y@g4+TZHkI#|oPZ5%#wz_G=!!5tXY6{;*ngH~Q+K7PK$EoqJ6#Qh@Me^~85E -znCDp^bEgwgI(U4RKfQe}r+!S8MjvPBNw4Fv2^$ -z^D4oFjX|=szc?IAs}2l%}6LECZufyG&(PZ3(u}&{8-BQd)wyM<&Ly^GuL-urgatAwH -zqyf$?bR=jLWr%ZcHN&h|f6PFAJU%n2@MurjBSsH@(8y{3G;_h2xl%M&4moLG;3{tCnw&J%P -zTd=3+Mq@mUn4!dt-XDh>O))D9Hqbxy?nA-PORz4$c6XS8XJ8D@z^Ezx -z&}R{{#e>q12PV<3X_M-w6KbH{-3skq1{DC+eDPF3iM20h`> -z6E1tgyq?JMH~tUfcfQ8)w|@0@e^c@Q=g}71?fM_uO?-{*F8&|dZTuSBUH1P3XVbnm -zIP3o(;B1Gl5zfBzKg|2|uVLQhc+dSG#@qBYj`!;SVZ6z&5zc<}KeXHYHMA?=PwxEc -z?Jk}XOSxZZo`cZtd}ufD#q<2w|1jQ}U&DCiz4zziS=8?pJb{-Xf6XO3h4p|X -z?+xu8d*M>v9XRxcn1dvQ&LWZlos&hk!G$Fd}FsUZhCeQRo97+yR*p3f9Eq% -zwMO`Y5CBp@t-pPHafa+$9Dn+zm+*n4ZTkefPaSaHD%jE?KgfkKCCu@1k(okTqd8v2 -zHeg8^+r|Rl&MyzY2b4v-Lw$-<*4kJLwCyxl$6QR%w$n|N6BiWiZLC8f{cNR4=~L<< -zw+*>>02;$-u)T7T*#a<&&K~WSx{7o(XO3X!>Pqv5n<& -zZTXH+|9nr*P|W4(!d&h&;mjIZC(o>%zS5bM`HE-OPXFhb^_=$qa%Rafi8E_n%<}Dr -zQ`SkCyNwT|rkjphReyNnID4J6&%Gcf?Q=`M(*^4!-)XK{!Xqivw+&$UfSBJN)Ya>x -zJ*YV)_Monp?Ku0!#@mA`rY($(w+D6ey6yA6wr5}HC+j31?G1In+9!s5w4Hr)*sbe? -zyqB~uBy9wxOliNT$KJ&(!qA=TJoyw@MYIwVXIW(z6Ro?%OMiSx-0!uUwbEvXPo7r7 -z>TlQiZ5#9|EoP3lniaHbaNNI_?R2)9Xc@G-tHrd{{F2o`V+tHjT864xPL9?9aetv>R6-Zmydd7osjXu@#4!_5Bz#Quq`ObuqXG&O8ss8bDcP& -zyfPfiRIuVYZ!4_xw@S{--I;{7_W{_D0M;HSSUbcl-d*pk6Shr?vOhODs0<1P(>ez%S^O~gkR8J>Ht+yv(&EXn?vMy@15OQ -zVY)4E8<@|c`T9`pfDZYlWL!+H|Oi}NMH4%GViQRYDE -zk_LyzpvQUV(gxA;htRTYH+j6Yqm&=l?jjBCRevYocfh*50dmCiY~kVn`Z($Ginp?b+{?ibQ<>bw5fp)Rkv%k=`O)}I3SrO+3?BC?Sj!PS>cN-hd5}h -zJ5O<0(s3dmdR8T?Eb#x+bEPeim8ReC%IxE%KTK#Vfn&ObY$DheViuLG+g@WL2eI3R -za(_y!O?=%=+PNfy%JTEkh#Fee|;A|~&Psr30z+Yjov$g{5<;kSea -zoC`gx+S&xG+7TY|tYf=#vBh5yo{W&9LU|KC -zY_BwXt)t;@mDvlBQk10{hB`Y*&SaH|c$l5Ykk{!Sz&U^rsG+#(l~0p8u#XS%>SkvkurZzkjw7O5=Ue3ev8lBJ8iJ)S3YHY=}J@4D#fI2?cN^>klxu -zIp^r_#Iw3agZHkj2=NxWIJ%2d-@4n;ZJM%uK-?!Rtju&siZt4L8cVrdIrXDnGz8ijX -z*Xe-%JsTBpTE#GoUMup>pQ5PI>7-CMJiw-^3wV_(d<=_Ly)bl~1o{o}t`%jM-vRy9FXJS6F2Wb1mW%!DCr6=j+S_?}0rLLFt -z%`b@$72@|TkyR>RFUODj=EayCzqDyqyYn?s(ZQ!M5r0!tKNql@-nlOtZr3)W1F)#xxxX_8oF76-q+bHeuIX*t&#a<; -zAuhPXdLf(Wrn*dbE}lY8y+x;xu%`Bz>bC4_y6G-+p!1WM)#bL$H<7PH{4MJ?>v-r;+mvxoQ?&FJ*7cH>5jKo1R)6$wmsu~@a_M&0^7_JB -z?pCrkoh57YH{aTLcJtPId#)2ttf_R;A$=%#SKRh2U;vG1OZyi@Bch)eoZB|SAGVFz -zg#8uofdjm`&34W)(LY_gL*AIFm3T=j#TKf@weTKbB`cy!C~eyqdLKpD5j4d&q5ea# -z{(+ME2PW2UtAD)4YXk0|glr=)H2`e{u#F$Z4kG#bZDaY=(a}>4{C<55EyNdXZ=l5C -z62_+`|Lh(&+suR -z6Z}33zXR48G1Q&HzScrtQNL8^*y6s3k?$vL_uTc~yWyfmW<7HkFCvc{Wc5}-KRylU -z`3%1pS-tQY>*;Gu(npaqn9(r?hbp@ZA_}?AtC7)}K+2;8B -zBIe^)>xG;{x79;(z1`Ng=q&Tw`_#xHGT;baUG`f5vC2T_FJg@rN(Y7^75QDif%LtF -ztbYaIZ6Ss<|Jm^Co&;D6uVQmx#ygC1sXqZ&pJ?z2`I78+b4eT$f$$vZ4h}4P*jV9-WXn*$XN?y>;BwX&$=F?bT -za3T5sI*K*3b*v+#v)KmC-bcy(rB21DGaIGsmk2yirTsgqW++UhQJ-ls3#*BON@UWx4C2AB_N3g~))o2pOx<8pAn>+s+qksB- -z0QKDr_5F>9XcW*l17>%$x%INb$O>_@&aC!oU)g*G)Q%&(iS?OctlwkL8pc?1TcyvA -z!bj^pey9bQHQMy>#xCKpoL;pV`wa4-PSdljY>bb#Z9a(J#X>{_kE-}>(ENxuGV)<; -z-H9H%G&_*d!t7Z9#(d{5A{%~YYJX&pwI-=>H>0JPJG|KJ&YNZ=PER9}dp;qMda;LIzuh*PV&DL(mhkw|up`s75 -z?QuIUmHxrz9%x3C;NB6H@15aj)$Kr$&*HxPf@^?zu|7VbK0&7?o87td&HuZW`Cnd3 -zFv43pWIxNdVYPn=u;$Linj7i` -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 -z5#P~M&wY~%Cqs^eb&c_0u -z?^(a+i^+S|bwvH1OzH^(Z-2spdWNS=!;{7>@Pyhsf2}Um^Zx2A&TnU&yGiPS9DSU2 -zp+;vFO6fek2kmUmi{-2j%e_b;82M&*d4-^AGqraccoyfZv#WTVKNEd-s@-E>HSmP# -z(`xxTe%sS=#Pw@Iy=#TejN6I4SVfHcG;S==rJPUzgUgMetg%unlYcnH-gPiiW=o8Jwf9su5K#6_GPgk1{qet~xbmjmps&+A;-QLfScrQ%+B -zsOkQe>s&cEpjMT|GMgVa>{|3Wnc4i5k(N!?wfSA6sS&+r9+2FhnMFAZ*;yEkGb1?( -z-Z9^9CSM?**+SCBJRQR^LvwHGlS&5O>{Zk6?|B)vR&F -z7}mHb!RnbM?fXOIt_J{e(~Iy4mJ#D=A$+RFCmEmi$EPo$+`b#|DT--legscN@Knz} -zVEf+p9<=g0w6YaiIS5(-zI73d|MbS6pjVZbSj(mOr3vL*&cr7hpEm46k}uAwRsuR=1e7r>L7VV$7F;7a5v%Bwfi_dt7W-frONVKrdw`=299p26H( -zU?u6NB3-Z5Q7U>2#*^%TstCbsA?vzwKhxIt?H$W9S57xuWk-~w$U9JC6u|RUW3nvk -z)6n|pO1|o_S9SZ6bhg1?; -z;%V7J&&LNxu6#UF#HfUkFM{{wEdRb4-d6_RdjpUOsR)?|jK=XKow<@r@Hb=JOoEAu -zFsUxgq4=7B%N59z?%j_faA^2k-L(nU&X$xnKd_II1^fQ!bbjA&g7=p^{v7uF7I)Z;J`D)0c>{=^fwtWIs! -zbk^0fpNUox5LITp{f -zXHoK@uuL=XovOu90~0kfx>B$L`!bo8Sw@2;t3lEV+QyY2JQ#`)uwz+jaH@`fxP* -zUXAY?@V#pBci;EwE@hF`39F7cz7O#1mgzkI0P49P7Jh3H!e~sN_et+Wc2fcEP`5z^1?i_HhKiqV$IurWvkLpf}Q!zde -zL8~HoM;?0e01-6{)=GIn>?{|`0sU|@&=0o&{czM5)eA-@M<=9wntKyJi^xLS`jTnH -z?_GkomWE!wB=lc8$#sg7maTfs$VWq~2}VN;{f+u?G;=HX?f%iUUTZ~kw0~esG+2+< -z`#c$WQsc6NNUR)kICtF%xS#8fmjeZG+nfF~b -zOT!c5k;t^xwg%f3q}IpS_jm}&0Ke8E?@tfZR(}FDQ$M$hkq8T-<|;U&X!|@ -zf8h)1#yh)--+4qJX948Ydpe17OT3o3_Z=IMZr{Y*8~BPKYkyb~-0J@myhpwvLnSRd -zQBynX+j;cDmryUsef(%>qpN-kw04N;*?r?llv>7Zt~}jm;Pzy@EG?PL(}BkGRce6q -zHBK7O&^P2ro0A!mC7Gj{&v{6V}Dc7hg&nyO5Qou0d2RV -zj8vTpyd7^}5$$u@2IjX7+aC|V(0&TeQ->m}=kK&--gcbYn!zen-u4W7Z}9H8RcyNr -zPF*+EWoDcC>QR8c;ZN;>yDi3ku#DUAA{^VvK4l;BudkB7hbsJ)H^tEtzxR|BPt&DJ -zHc#Sl3@nenO@GyfELEg%x(;Y^m9(7Bt!fMK^*@AmC+?N6FKz#NzFtIWK)xP0`qyAj -zA!i@F>pOLsXJ5THI;yCUj&g263BI^{m8i#OFXM6uH%0rPAz%Ywx8hxP!)(N|W}H@T -z4U|I}$Hj6f;!-}w)$t=$E_ -z2rzCP_eC(hz!$-dQP1DNjv>AX@_9Rl_#)UfU=Olq=e{I1Ec5)HEH$(8Swnmf{dAeo -zotDmmu^yvI^we+NHA-T8jwa8))=T_HArtuKZ)**i+C>G4gLxR{Al)!cFV| -z3OdPfpClyS4~bE3phTr|8}#QRxk08{qaPT^DPf(J%B_&|f!ru1H8=W}fnR#Io!IMp -zmVbFPDAdGu8g{fvL0bTi-$^Saejd+RWbG5eoa86AQmS~iyAMM>+pwMspse&5z)oXb -z>|LXjbzQi^?3K@k8lE?BB_X~#2xBmPY|pWq?Ss)LY-3+FYn)fX8rw=)V~5UAS`H$}4%5lBBX$Aa -zAIUcB4S#MnEekVyo?ri%-tZTYrjwLx2BuU{ODb^RYLqxACajkW#~kC+X*tFWJF-oP2bxXPJ#WTcv!K(A{@`vfLbGLoV|(LWY^vgr&o$%Yy!QQ1f9G -zYHwRB%&fi4%$BV*vm=(9JnkOFM_pdVS^_aodmJdgyE_i$YoYvDC_fH&d3MfrBRglC -z(cN*c(bMr1{M~K1?)wI67rO`THh+?`-kf!JK$-Uq_vjy+Y2dc9bKWwN;e^6>f9Yq`)Z3&_4J -z3+RLs)1FlcUkBE3{tnu3N52KFF2ERKZGfW@W7^P11%26Cjow+0@b6eI;+CcW(hXQ^ -zjAZcm?Ai}doZMXMdd((YpMQTd7ruFVul@X?*U$NT>E}G`=lg)0b*WP61xWogY-=Qi -zp9g)32JMJTs3zBjb(Pp{WNlbusXA5CvwnNFh)@E*4AQ}vqSef -zXFvLeYbzr?4W~sFKmBFCs>W4Ijrn!AaL~F#55iVslKazkmQgPBJ=!h3YjFKxiTb$$ -zaRJ_G^dT01+~6{#e1DIzAA=}oIhPiganWGRD0&QaVJ~yeNmVG1!*XsdoB|5o60Be- -zKTIo2nf+;Fdk=FH2#H0FgefDblk3mD;G>#J&=&zFKe1ks9qr;+y~=+)J4-8hN~ulxD5yC5xD?7b(H -zFOoFN!MdqL6TZ{kqjIzc -z=RW#KUyN|rP}R&!G{fAhhXPe`2t)seIZM^J57&v5pL5m%k1RZ<04{e5aCz>4JT8ZK -zb~eFP@n=Wz@H^vtn-5Eg-ytT8aFuXBncO#rJ)&pCGk*q_>y~jh96^zzFOwT5_XX4QB+}0~Hs1m$TkR8(}#)Ldfe>=b#FPr9AoF7^woDzeN$RZ?Ull -zQxt<#w$kk0&%>I`THi!?YH+jw|~cbbK9_&xlLhT@$Q=MKyIB-65=^% -zdw?hWGCJY$%$SI02ISZ7WxgD(EPhp2Js=yB6 -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 -zrn{;t!%$9ewyHP5amI~VF#k7D-6jbocw -z*W5>qbZ7!=nnkUI3R`I&rj@SDqogIBZ{_F7L%de#44uX5LftO#k?w;=avW*a=Idll -zA@4h^vr-!?<$wEp9K1)pcfa4Gsox28K{B6ji -z+a6(FI+s3skYKcuas3>zipP4-O235_|2s3QTos7<$7MP{5M|udZ%w!1cc$BTmANQ2 -zGltR_&sXv>tGu{xzaJ7q??XR^-tSF&M!z#J=Fthf4}T~4efR_P;cDo^ABXheCz{uX -zKR_R@hCck!?}I^_j*Kl@#r-^Ir9VME*Fim-%&htsGpk*1W8WTF~_Fg=bs?uFQz-^dee0`nf-1D?sh2oXA^xH -zpw#eM_;b%v=blnVX-eTHnzk4|J+wHi4 -zd%y3z5&E+k#(61>6Kz$Bsm&`^ahf+P-3e`O0e?8&4sG56ZQc)U-V1Hs4RE~A>@n^! -zv*rV4HgcPpExKz+KQ^!8`X_G3ozRah(AMqHk2}o%w%G(detUX9K;SVzVMtreLtX|_ -z+^%~G68LsEyxnJJ=G-It4^Zp8-An^@?RG)Ea~^;hfjZi*iP`OL=N(Y`HY(lUcBE(p -zM}G<>yYBKwnm-TjUNtx_8OOIZVZm2RPnsNWb9{UMDo;oF34qO$Fy?m@zE1gCe#BqP -zTOt2xfZbE(;JSnQ!JaJRsa3+>+WAlcOxXOiiS6J`o(gYI`F02JrPMM5)>7kB0lSDc -ziF>Lei-+BN(na1=8m7LqitkZuA2pt~DSw=n@YdlQ{yKaH#`Sj?*R!xDo`W^Q^Cq5K#a-07SCmZ@ta2uWhZ160sfEBSBvfKQenNNM* -zPkkYf`l3knVx?jm6Q+6d`Vx%q<*ywJ`O;qH#ld{pTx1=U{9neiw|c)4w1F$VYJZ~c -ze$FbFJ^$-T6;pW>6R+>uYOn9FK;K{W*QD3Re#i5*>_ipvUGLF_MXNm<|MwK6qx!91 -z$2hHx_p9#@N<$6W4-~rBhcxeAKIm`X>wnp5P9LFW!Wc;bn&4gf4$ArT5%z4xgq(U>LHwyneb#OTSAWXKibL4pV+D1x?6REm89gNpq7XtT3)UNnidNA# -z5dV_j58+p}^lv+hDpA>MyM8sdo5;6=k|pd3Zx3Umj#2nqiea>7>>a+fv7nr-c{S&W -ziISI*e)H$}BYzE)FsDtE -z&@yZUq-g--f0C5EMMC=NQ)L7~EcN49twuQEpZ(TZF_mNn=wEXONze0hJHofxY>`Sl -zyG(&swku;fUil;#Texerh=~fL>~}sAvSpsvJ!C99DL*Xe=lPI755LtE$?5P%q481h -zUUbnYuot*j$1cf_LZea4q<>Lpbf36C@Fp*l#h9=;Rhk+b*&^rZ`gt_ENvu`R`$^FQ -zqZ}C+)7PaBOyLoR#(p`nTKED`G+VUb`FwXf}%nAMIrR2Kd% -z!vv4BS95w>-!z6nNux;BFVwHp@7MpXzoUN^)-4teN7<6_2{Dd=FMkNcncc9O`^ZCI -zd%T?zwJ)_KW+^#mmy)+h#D59_T+#z?f6#u{LUnDA|Htc>BejRL=N -zy8hR}u}H;Gt}iC3*c)4%2P&2OJ(L?ybBMF{3C+YJYim7uJw+Hxw%lTK=+%(~vJKYB -z&tfTVi~GqU=Lwh{9)FPm*Qu-L;dzsQ(->KkFft(4F9+%uZ_bnT!1=@Kh_|DjvQGPJ -z%W950v(i7zZuxaMr{08f>NPm0-hy-LjRLw7*Xm=dxm?X=T@A0BE!IRhBi;<$8nj7n -z<7@OTi}-*2&ZDD%E@^mcP^mYDDMeP0e-F~Se_!p<2X6ze-hT%Dd#8YI!altMWyTWS -zw9UWMK>sU1nRaa}IQ9FjYe&gs0TN-Z`;OV~{0bw7E7*D?U(fI4X_I&Swzosu??Kz| -z4r%*CzwP&iwEf<&ZM*KfWcl7qv&=`HZ`<>|@R^twqF*|TVfLOuZ%A^}Ou(CEr3#h* -zwA9CwUwP{tR)6Cn>scXp9USk3<6w0Sx4~azy(=W(p$P#=IGtxg5)Qk#A+*SPi)1v& -zXL32&j)6tio0vv(=iPgG_aCKec&xuXP4C&Z;~K9BSfX>N@JJy)fYk{UD?p>2ulWyx -z=fDYWA>A1k^0LuuxI7Or8d{0;r+yh*;>+@|cAexd8h^tbw1i2zC@Hm!oI+4tB37hh -z&w||(2Mjz5cIZPWrI2l-5e|nVW`8@&{xGY(Yt!rW(l~U`3*HahAgpKY$c}cE! -z!rR$T%ztUVodorfV|$RYkvKH_Uz6fTd -z8Zo7{Kh`F#h~}&ce3DlrY$ey_$f>fN71uOcKVL{Fg{tvOwuq9s)EL>4(V7X%Id&V& -z#3Y8ZlCx4Y6K5o#l+}RG${9^7n(zxp!J2vGpnoqUnQE4JeNZ!&%$J))k?oSt*zww^ -z13Pt!M%r$U1EaRJgEUE7k+JQABuR#T!8aXJmo^nf+nz-EbQeGkpOK2|lJ})&l;Cx- -z7J4Q>pBnKHj}zeAF77uQy_w625Z`Yhjy2+~w9_hw*=e&F(nQH|HesJR4Dr!yfsZ7u -zW!z}`vWFGvxaUtMFMdUomi5mj+^0#Eydb_y>*e7@v8C!;_2v2v`UCn^OZ0PrTEbqx -zDEK{!Rk}vl%|;(J({eqm%{u1Vm&0={S$~joDQ^sDL&DL~%L#|ZX^%dnB@H)vML`Pm -zufh`4MwD*+n6U6>Y~vaplPAI6miw#+;D~>rxOkxXZ*yoQFA1N8=-d55Y840= -zP^s5IZEI5)@fH&j8XqZIUSATMBe_REYG#go#7u{PH@0G^AJlZYnGEHuN_xHm#)b3x -zXgQAVv2vBHEby)0`CiOrQGmfhXn%*_p@&3&wm^TT(Yjkwp%5-;;Ol9!>pp1ap^cu- -zQ0k3+ktMh5uVyCmkeSx7FO}%&J#hu~B}UJeo1Fi6v>dhJ9u^XgN6Tv&0D?e$zgiD2 -zgqHA>Q3SqwaSf-txDU;++GiaULwYT$##u1V=bLM|&z1aHl!n!nv#QY^h0X;oK>~ja -zF(hRl@-obOh0{5nS1ARlIcvg@lqo|}=q41-6VjnjdgaGW)Ijccz8#arX%&@w -zrN5CMbWD}R`5l$ejvi+>swCvAwMyk_1Ld5JtWH*hZr2xUxE!yVP19_t*6xBG@^Kwn -z^3+CMcz!;~cSxD)?GSEPE=gBK>_C4!UAC6X!SICi{m#f1os#2dW&9kdC5*j=8Vz(t -z@3u#js+EALkoE|}_v@JOf2x#>td}OVkg9it0lS1{=;2#o^p*L&ur?CLS;q9W`Y)tMypihv -zT~gc@W8_O4G2d1eEr|k54dQ=i>Ht2!#(n)6wv1jl!+IIj8V1fS9IjyQ=>Vx8KWL^6 -zlXi~*_}bP`R^`GOk~WsHRuiFjCd-_`p=XmeH9+Oyq=t~Y?DirJp*H4}q9T+V!f&xC -zSCTF%VQKOyx3Hp!;#J^NG1I@3v=&Pbmjk6*(w~|YyRT%i^ccQL`1XH{q<qjKQnyN2D4o|uPIK0o6gbyG{S_H{u2uU^1PtRV<*F1Ui0%&qQtO*o<5Bb*7JQAPt -z3$l)k`rjQf?01v=@2YULQZ>&REO& -z5AyaJptqZqIT1NPj*DOyn>2eJP~xYtIN5)7=k+4bUCVvkBbG(a -z3*!lD3)y3U-%A18o)*Km$IX7$L)JwL+281{j43MNWhQ(%Fj1c-bkB9_J0sdAOmVWA -z&+}Zg*7G&C9M3jiFD>V+tWX7&j#P|9k;Q%rILY*JY#EPb_g)FbLkBdOpM`m$+kUC8X_#zPNa_Cbw@)-u~|JhYhE -z$21<=!tBM3haSbGdg-T9b3HpAc2g4)A*ZJ&^oVx=3o3YLg>y&u5HhjARk7H7weqZ)F(GSm`Iyp*g1nFgemJ -zVHKq&{i#gsDyc}zc06qMWFIlJM?MPhX)VHYu!i9&?#_A8Y=ZgDc0FijR-)%Ho4G5G -zHPE}Ug13Ka)}{EXqu;6H$XA;J>mAm;7NT!km0&9mLMsnJD}OaxivT+T2BbEQeAsLX -zV;c{fL4M>ZnA_2G4}WQZ@8;)~+kR<4uWmr;pLwXu?h>D_-?o;^4#@rks2zzs@m7-6 -z)MzM!>wh%(is8(>4o-rdV3s)GI@s3e;(-3{S3bRAXTqPTP>h!eu(s -z*N1<@Hapem#9bT;hs#)N*kG+8oz5_f?^8lgVLi(FvmG(x?4oEo8fJ^7m!+~9x?R`^yOi|Ci>C(+oy((!kW!=DXg1l4Se?_{EqF9w>3h#I2~$8uzID> -zI%gzMAF1}(mn8^hg -zK2LuG`086Z9Rc+zBdBhDHO>Z51QyK2Iead<5Mp7Rq1KQ=u~%^ntvbyGJoR^X#FkzI -z=RExW=!+u5Zo@lbg8}a~UtgrJ)Nju{iph3{U&{l{x1*ufT;kY -zu@e1C{S*Cxur`7%4*e;{h#tZ|;=SX>|K$1Hwsm|Drj>CFdB98xeJzg>-kbmrrqJ{6 -zNb(iEu1fJvHmK*fv3Q%?@PLt!Wwp;q$7T|p5D)m2>R89mY&=iofbKP(C$fLfKb}xg -zMt3uKjx2?Au6tcVXP-f9;iz?7zM3#p6;|GE7~3@f4T3cn6{_3gm;D&w4h9RtP#&*$A+kaxZk?8kJ! -zANb$B>pcDVd&uq$X+@X)(TECJJ^uIM7s9?sib@_V|GLhLpS)FkhqN;H3!c{-X6*5G -z-red*+TX?X3pV -z*Q?{%JS!%ia_kVAgCj@vDCjd+N3SZ%c%maFJteu42SKg_2TZ| -z+D$ekvM)EG*>f(ccE~cvgVC7v9*kZ#q5&JkvFkZs=sNEkeB7?{82J-))p3pKPh|8cx~A$F;I)g@MCcKvP>b90;%{lUDZ+=p@ZR5-Qmf{wb)mg~ -zb^G4G@-l|YZ -zKMd4~QiXpSn)eu(n#a?Jt>-v4fLnljE}{K8hHX`X_~pC)+K&DYYx}vq;uoy9^4K!r -zhw&k$&-tp-VtJd3jA)bl5!K-Le&g%g+_;zh#Ov)@&+pgJFX=ZM$KUrl4$^r!#@iRq -z73_=N^}=5_?S>efX9=GNT&=F=;`WJvix?6Exlcjo%R -zI2ZVMcD+#=fZK{;%WNtrGwEBOnBOkO4aV}NgLJhx-Y=DgOY`GRuIKs}84Dw`00-e5QWf{wwoCar>@0@0Wy+;w -zX_t>Pe(icL2SBS*JR{2C>2Cx*4o$pc`F4L*qiRQ82Wm+zsZOb;a&tqelt2G(SAN_7i$2{&U%4r$~i|4)1Na7`s2~yTfV+OPES=M6a8_PSEI*!-XCwy9`VjSnpX|# -zSax73>tZ(<`MG~`n7Qv_e=3;!XNN6wt-lVizb~)nGB?+G-oQQGXjRa-;h#w>)P!`qi$^(~!KJd5*9Tc7k=?3^2XRXtF}yjZ?ul*0A5)68L7c -z|Bct@igSkR^Q}g(-s)lNy)97hl!AZ0;5w*1$Ga;H`T-Dj;6Qar0jvE=Njii-^;^G3 -zic2cA>aUbShYa-@u-ovw06c08_6zW+G1xD_dq#SYFM#(9ug+ESU~B&TeC>Nq5XXmM -z+_!TaFGmCN@jMMNeMtE`hAr>O#lIS`g};E?G_H%XklkhE`L*_QxL;hs_kDlVZM|#s -zvyus1wpcoWThs40kR#k-WUap&3HAw4IFDB&g>%1wHYhI`J=TYiem_tY|E@$%?;l1l -z8z0G9&qHdP+Gq9DVCj$G&4nJ$nt*RF8bNE8mten6t&$3SdoO^#wGrLm(bGx8mV4xD -z3|GF>$Vzt_dK_=!7FjyVD<^+(udwyx1CDg{Q|ONkb-Cbtl49f;)}nEJgtulYtg_~< -zXwzSf6mUX%Q0Ytkw-S9lekqS2`R8`h;nanV;u7f3IMf|+?x|}53c9rkpEQP^1#mrZ -zJ3dUQWSg0n_u!Dc`@|D^AV9l6&98C&RPQT{cXJn&e$X$CE0Wi6onL=D#sIlDP{Zm5 -zo`W&KFjgs+zMFYzulZ@W`e~2*X}9}nPZ=1oG+*o5CNJj+zx0iM=|}vuJN>j5{IuKr -zw7(6ibz6&<^M+sg0l)NzqBN&2O8u|)Z}Q-Q6x@CEw6&nb6@H1WeuO1$is -z*iukpQ-fDxi(lfcf)aoK@#}cYFR{I#gfi7DvE47Rt)PVDm)IsszwG7tScy)98&T}e#vB@r0YCT0G-*59&{e?;kUD(#OeEbC3b)M@EalEmv8N|2Cp@q -z=an2ON*Zu3{H}&_=Ki)O)~IKNJgk1d!F}3PO4lfbSe@@=q>>6f%K|^6j1*6T -zpHXsi*H@?9VBG6_#Tgismpy0XlDa6`nL)w#i -z4gMa7zo+2ub)$bfbuZx4EMUci%yGHQvW@o}*@mr<_bB{52+!{s7?+?Y^@tIS!TriP -zp3DtpO*d5s?GWBLhwFyf(H`kO@-xWqqPL&J?Er$-zA3h+m=q4Y?+C;J!x$AG`7tVf -zjyB=S{6NeKUoN1arvvV@Am68t2KC9Kp+7rE#B{WK?E8NVl%#PDf25X5s<|Ewk1&28 -z%y@fM{A+AK2KLa7b}r|Y@SMDlJmtc9WaBEjuA1wP>HOU~g(6RRGO&_!IS-bzmU1~@ -z+jp7MULv>%#{Te0un&UPI#=|8+A0w<#{DP_E?YIIte5T#Ngq09Pfj-O+`=(?eV=^p -z{{Y)Iw+estyS?_)-=O{B)A;w(|Igp=d7LN@9Nf;#Z`2Mid&nMO{p~^N!_Td#cMz;S -z{_Ti!dF*Q9&S*c{scxVi(B2r=+YI2{GPU;^sGZnnEw92D+gP%{n)G26N8Q^#JZ6yZ -zg+Axg7)H_NI0*Z547C3PqS0P5hT7f-n-``kw*ZDAtj)77->&Fc{BXnPwP?3cPCbb3iRuNAM;^CEMRU&k5i{>DXcBL?xTw -zkXW%Bp?{r)Yr^VrUIBW01kkk2qyf~Ix-RBOS!WmQz}Z!eZjq9uD0^dJeL$LZ1I#n` -zC%Vh%cP^`G54>Go@OJ+=eEW#r(9>)?dPIMwI&O?9q_-1dHq^cgV-aCAc6AcT)!O}a -zgfP9_TgL>`Q>*a_;3CBcE*8tL34~qF`i{RAly5Na$L(?6z4os;SNM>i_D`eschZfn -zo5HdDCC1OzF%;c};nAf2HQe|lAo1o?lj -z7+>G_^V4@aIuVw}Dil6rP+7bR<`?1(-UYQrq4a(YVA?q@PtP3gMZvWe*;#&_c -zZwk2Zah~nZsW)FWV!rrFtMOLaydZxRkNTh1*$H2ZUv~Lp&iegc=8u{8`?GUB85iQX -zYf)|ol;_`#G|4%isUsP-gwl-X(Hnr2g*@1Kh}&t$uc&4Pa9|tC*kJ|u3ZLvKMzeuOHnYH!;s&7nL3I4YO} -z=XIG=az$blZ-I3hq-68!c@}?sJ7JK|&_ZuNC#8dQ$1wgv9Wgh=Yp*7!=cSW-j1wMdm*;OFfjF*kkI!*%i?iF?-BX##Cm;DhPO4W8}e -z9V9>X(w&d&f^^UK%QH~EhW74GGiUvV?r5eHy|T-68!#;&Z-DSL`fujt;rjU6hfQkiVBrg(^2#`{yi4Q9@{C~5m~d_7+aKmV^Sd@X!r -zX64;OeBHe1_0{>vbXg?g#&?syK28aip_CT-`#g_#fqB*o+=nRngZ>+N#_`(vv)|Uo -z(AFnI+Ikn-Dx9+*G+%12p^3FV-bF8+RJH7I!X0P%Er6Rq4IFl8-u~&gq^*@w~+Wm*iirUYf!uphWQ*9H}r~DI24CG5l -zirOndn!+Oax+JBSL7McX>D|8bsD_yKl{q-7A=j@*k0fREtP!kDz~&8f%_v}wC -z=lfGb|7n%d*}i^CAV!en`BOs=YcG(OHnhCqyPSWlMrB)Rh4t>v#GZUrjan{!8p<9` -zvNoM8%aC708u}7RpnyM{i5iwjE7a31I({J)_$;Z|==p#8SHO3QxWC)z$prreE&e^m -z0{VdQjU1NMtV->7qG;JAjghKU91F?h?_ZqG^oOo -z%`|zoq^YwNEwoVkxA5bPZ8U8Zcq>&*IK{i4oVL-^%QZEb^!6u1$9c@J{U`-btX}ym -zGb)P|8RJuMAIo_X?H2JVbMb*71LJ-qPf8aw~q=yR9f9{u;3(_yy=;`yQk)XcAt@U2IM(G}2y&THV -zE${SE_x^gE5?qjU&eu@L!MlI97_F{{|;OCp@*0)55TqW1c=~3CaA_i0kNZ8s9Da -zYoIR0vrr~kO+K{adIbF$<5++8Cb_Lwa@M&cC5kBRwfV|M&d+8XEs`GM%QaRof7gyK -zlq#Pyh)c@H#Kt~r&}SIqUSnL}t#N-`+&;>K(fb>PPAote_|bZY&e&q$N;wQ<&;E|i -z_52;p?v0+T>K}C8cYbY|)Y=}fn+O6h;b(E|VIOMy4O -znKkZvAmX1x5cB+*xktzmq>~yCxyswAdRm{z@}47wkIPQJ#zqS7lWqrJv*=l}ndLo8 -z9tZF3ig@RqBz1(|B9@&iN0N&~8=-V)GE0Pb8zK6>0{X(+SVHe1>KlKr)LSTR38aPm -zv{H$uVLO0vLfB3(>kWSmnAlct=nMD_MUrV3-}C{qX-N~yw?A$#?N{oz4AWlG9@=9O -z-rncbp2utK>2B+tV?A6Hjs$fxE6?-h`M1>^^X(EguX&x5_<3B;F^|oq$nXmJ_oz{E -z-HefH;2d4#e1blBRE!m`6vQi-c%Fy@kcvcx?x@j$^&3+KUjToYtF&q+t;-z)xPLiC -zwrxl(gl50)qW|CO_V~N$=W&?>(ya>d!|%pqA#X$amWe3JA|EJ__hOA?ty@eurC0h7 -z(7wDZ=0}yN&kN5wkLwo>#fgzf@U4h&q6s+B0Gt?(ln8$kcrJ9E$7vCSD|%w*_FvrV -zGOQ9A`&&!0D71fre>FB!!x;7nd9>Qsd0%Yi0=F6F!}&q|Se8&L)V|bRv1WkHGqIWQ -zJ`&#V@!#<~?pGbxLL;rRCeqzRdgSQyxNdO}(^VH>x=kLYKlvbG__yv#;%q -zSYw;VXOqvw^EiFD=lZV?)UWKd{x40O6>LLp2)1$B*S3GL`5U(}0Bw9ROdBh{wv8LU -zaT_dBI1Vq4-3Dmm5+PKPxD -zr{Kv&bP8hpR@__j(LcbDSPRX8SPL<=&~y6W2n*MZ9wwTCh9hzr@<&+z%Xl}YwyIkP -z+{Hz-I-7r4@{vAkH}shID&qGlB6>yrbLQ38di_(de+u=2pNEpx+wwJJ2)U?va_E&H;RX -z{XDMoSNV^L=SN&gJ|EP*c+U6D -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 -z_^DaF+{>!$(+dTDFC%Xcmu1ouEXo&CgqD!_e@ -zs}}e2}2G~zW -z(Z_eUu^MD!fBr|9omyJ;=&6ZK5D0)q5$=yGZ}5D6a34{N -zgbWRJTKbWpTrO#IIOEgGN;mp9i^P7LL5B0OqFxHRxH@6P!vT&A -z!Ii6_6slS)k}?&ns}|}yo6|_24bDT2aY-|@+l}QsT~Wt1S?i#Vjp7sm>X=80v>AV- -z1Xd(1pDQ755k*;Z9-r}XIO71d`l#90Q47C_R_OhrGYs(s4Bl%N#WOWdU+5@*#`lwk -z6R90Ln2d{(2-by>x$0w3rVMMtR81eO4Q(K>Mx-EgG9xDHJ&8+hmm+=y3a}9N;M8LzGeLhcb&E(i6sU(lHcW}8lmpEI- -z&P6}%VefPpS9y%C;wrE4<0`}39}mWrU0IziaJ2CT#Rz(XZNxG5_LL#DQt^KrW2o@U -zN5sxVyeITO@ZV&9p0M6L?oM-x;`4sHNa*|fGS^wK`huxCGpHM^{BX9=dQ;K$V!kwT -z{37M|y54k2Bc8#JhP&cJOm|GZIYU3lY^glNEa%U2Y-+h3IHQh8_|eDXA9{PZB~95yU7XOW;cTt}4Ay6`;?smbKQ(~;0Z -zb2-{cWEe(qA775~dvfe3p!eMp@vb=iOz__ri)DnJfxt)e773l=Ci?)hhTFPKa}F?F -z`#`f!#SH&4$J}y8njl|9a5)g#Jf_?sd(wYW-|y`cOS<{|Imq;N_pX0j=5A1M*=iE46tTP@=(YbV>(|nv%}0F4qd%SobUBS -zrxkYd`!_M_(`o1@)amy&D*EG0y -zXm(74nPL42#@!x;-a>yT0cBq@3R38YfKGsvjXr>L_GF;dQ&Db5YEOZC%2IDn8$H^@ -zGdcVfF~|G!meU^3xJ`Y#^Z}-@1IpPG%0*T9 -z5*rKL^9kiBO+1NE68z>rPge7N2O)ue<}DWVE3@kiq-GMd&gifY5_p!?@;PKS()7gy -z_mlt&VckBO5^wyOfb9SdKl8_q3k& -zg8WDMeT6m-X7F_QTDkOJNRq?jCpc~L7>8TF+_rYH;1g%FKNFh(jm_r3onK53O`+1r29?Be|+O&Tk;HQ3V?5uLiS9JHX8$dA!-89c2dhE!Oed#e%-TvyB?3kho9|X$9af=}~4s -z?NC@H_YX{l)?`U>7zQZW!ikH8zYx|s5!To!5^GJ6iLmn4mrE(bz$m8z*Ors+(Jgh1 -z^6GzUoS}F9HRWlp`!@u&9E|q#CFLbX>O=WHV1URFJWIov82zH6pVJZdM$vxv>3k(4 -z@MXf=h_b~v+AIq2iDxYqx;|y(uduqVDHr_dVMZNB*R>av3)|p4SX-BtC-rvr`|?Z( -ze$87f{lwCv%{p2@Dk$_oi$t&oNuco1m(73CFstQ=G3a2bXs|063;GjRR*epPi9W65 -zXrCJ6Qf8%Ziv3&y^OHxyCBAXJF>@2DGuKx#hH4F9mVx~?e^8s_taPABxMNR4M(F(`x!h_#8xUKe5T}QIW}gW -zA3?cKf}S7gurC3YFO?Ukicf#FxqQ};wqcYmFbjTxM#cG!ED`&*l}v^Cy(&VrLhqUB -zJ!|ov8B(fQ49_O*;q1$GrkL$^FAjNXDhEQk*%T1Sbtao`$uU4Xwik8SxBLe2aJ&7| -z5d2M9aUJv9?Hxmc`5kQdZ!#oRK0^b@R=IbV+A8!6VCxjj+@9aX@$P@^eeXfu{zxnl -z=k~{IGl1If8?-BiFRA1Qt9|)_Rz^rEY7jHxXc(JO?4i^W!Cwh0{|0I0Uq*MA{IUn# -z{XE~e$C_xbih09jo$V#JaODrjkr>C<<^iY@L@HsI4zn18jc -zWR^1nGD|^!-mJbSo9Suo=Gd_bThhC48V022#~Sf`xpF3an=P!7__Bgri|Ah~iCU%f -zTEJcHX}y1s4is=(!-M4+L&e<2Ik;nqJX1ihGv`ySKKcbu8IfL5?+m -zlHs0VPXw$p(8@KH(oBP;wd(s=twzdfPv`Z?7`Rq%VAZ5m9|F091G(4p+$zW&WI2)c -z2BS~L#T9=YLy6npXprB3dWqnFX0ru}BvA3Ns$hT2Q<%n286V|mgEzBeh=+X9gH?-R -zuG-jR<#xz#;y>j&XAKu{4^4Q^a{)z|eQ7L7*ywX9atWAwE^W$evpU##$j6ci;{xiY -zPc*Tl5%Nv*4%C_A^zY1s#-Zr)M2^L&(86d2O5~QPA0JVTBNEZ&I5fz!{XCeBn^-1b -z2Y-Kaq0-YhDWpfUmm%`A_U}S=?Vl`Bl*wYcRj-9I`v=O*g1j2Y+ZXa8GVgyR$g6|AOrYGUkT)FissnkaK;BTu+mElx -z7+;mmCBHM(npAv!siA!0o{`{O3>(jaIPZbO)Sf=g+tX1lIfgk{D%QyeeK2tFr$OB% -zSO*ZP3GLU$rGnRR -z(>vp>w2y`RPVCjyw1u^sZZd}_EBUBfg{d}3O_wS8ZGfM9xg5{NbL<3of)FZ0f)2!* -zfJ@iSnfPr4^!Ow?l&Hw93YMN)t70yl05kdyP*TO-x;fbv`@FKau^646&Pavj0P#1c3rw7VR -zU#jfgj!Gy$R@nEGmP&bBdLMto)?Dp$_-04w$JmSRbDg=g#hC+Zb45%8 -zu5pfuCqS-!7R>otnUk}Z#xyRYcx|xo=CmfJaf^7A08Wl64}Pk>O-scY?QC{Gv{$di -zp+{d!jZZPJEzVhHD!+e>JQ2&W*EE$AJRiDgsql+dr}Yo^0cx1UxlLIkK{(2!*IYku -z7mwYjK&b}a_$r!)I@Lh1Xy~{P8 -z#5!uRPdAGL@wmP(lm6B0GflO|(5usI`{o2yGDF>wQMP=!<^z9A)&6^wCcVAc)%V1i -zA-s(+S>Ww_z}t&Mc>AL+c>A#cjQ+R_-hOJS&o)3#(maq=vW8>);;+}pmYdI0SO!$4Y6FTJBLkxU6n_Uev?AG88-^Hc9 -zn3D;>*ZH=9BO-rRZF@q*mfsaVe_N_zd40)c$Suy9P~WmdQsrnF9wmJq&p~`rC^-v4 -zE{%x!oy5*IZHc?ME$&jmySA|@9IpRdj`zD^UGU)-<8AN4GFXu`2c2bOM-^ZLVsQ=V5y*u@vMJy8pD~*m+MzwRziL&d}m3G -zSM+9+N31-D%g^#S_CAu!&+_=5KHos<3i(Vn;3@+>km7pONkODOl1E|#6OpS7wCKfH -z2RSSk>0r-83Tt54;ii$aoPm{1Zh;dW -zPa{#Mc)Wiep}Dk4$3!fe+6LS}qEFyk^;)KI*U7M(qKP2x+IyM8T?dD77s?UD{-BAj -zxXXX0C%VGqf{mAG2IM2jfA9syjrf`>&__er;mkfX4uJd~<+;uAKMYG#HeQNj2)6R-2 -z`gfj3|0>z@Vat^7(s^dHKHqe{%BAm1Fra-?9*vE4TtT|xzf(i_Z{jkA|8g(~$;AJ{ -zf2z+XyJ1|XV0|;xca+3E8B(uTW5hd1*viLi8JTB0u-@O$5ccA`W#l3|$6nXe`(=@&TZnU%ZRED4RzpC4k^D3rg^nANayLPX3mS-eGG4Dp&iUv48#M6K1(FPYt -zn-4)xT(@k`^u%eNeBh!GJ#l+&$sXkZg^4hKJ#ou2pPnd62znw<(i3;Uvx9MdCqG%< -zICBOWY2_xDQn%G2t@J>vRXYIq^nyON2Jp1{e6y7v1bL$Zc^5!lgXL&Qci2h%(nxm{ -zBnZd**C$Fi-GQ)koT}MqjhtzC)(us+MZ~W@`N4W<7a&)?50}i`DRd0t5tY;HlAB? -ze0XU9UcM{g72;*|q%#t!67=82Jt0!kl3ZX`l4A;T>>wSZjVyo}SzQ&@OZjYB7;h_l -z_VqHsZy?@I>Tbyb;KB2T=v;z7PS21)4#74$SpE=U&4uk9sRz&d9~q_a<`n^dxsmWE -z{WG+)AFjhlU+Cc#W>f7orklRnbgQp2#~IYXuZ;FS9c*_Md`sglciPZv%vA4RE*l%- -zm-TUP{_?K4w>^Y=sJ<^iC -z(v938xg?ql -z>aiTUTH;}rdjR7Aw8i;!dk -zo@y16ahl=DG;#L~6z5rA6-PW<)nZlmQ3 -zI=C+`2daK_fU`c>YBk1itS2Pamzk~lSjcM(ua9CS69M;wihb=I1 -z9rlF7PAOG5tS*{k9TJC)Oa%GsE0-&OGMDomCGTJt;mPyz09Wnn@Go7iVBoa@T{uzS -z>gDPz?pi#DOa$$(I+rW{aE^g+K8S~|U#|GWaUnc(%W{Ql4(*1A{AY)E!$Y?(?->u> -zyQYZQ}WHRGV(zMo-4(; -zr=xv|+ltTTB*e-6UVYlx2Sl8s{u?6~1m1L~i+g<9sxb>F%%Q-2N5&H)f_!(<0Ln7` -zYJMzY#d7v*`7t8sWAR;HULMv(Tg2g-Slc_73*RxWCi;SZJIU4Y{ygN2^g6va=RbuO -zA*{8+4t4<0s;ydo%h5ZsBaP}Bi*~R-88qZS)ss~Q^ogRyQf_Xa&uR2GVd{$ld-6kX -zPZq$QyehOOw{_W*p9l8j?TPRi#JB33xIZQAjK7!uyIj#(DD4-Tu>HtTI}dit&NxP` -zn9XefJbh7rsmqYFPmBs1n*+HY{&sR6KM(9+E21>OTSZm~9nGA*5%qd?=dEV;s96Eu -zvW?9lY2Y~?gtb49*xa`KKDa+y-al+2pJrnmoa94re?Gs@u?G_wWzEU%Mf!)$C*1Q( -z -z>2^b>Xr<)C`{W80L+TN;9w2ef-bBRtC{PLPT}{M6-a>@Gw&MU>Jzg$oj#i@u-of{Z -z_pl~tKvp33V<#a2xHn{lz?G#yb@(T%b$Swd^MI1H(t5xFta?4gs8+G+1YHj$pUFq< -zmz2(bJ*L|uBRY?C72%%G^^kr!nBa1Ly4Q3i8x%pGJe5GX1bjKP}S_$@Eh) -z{eVpW4K3KB&Bxp?(|_g9>!L#mYdufMm-owm*+*zml+xRW<1d{7*rGlCF12;^M?g-?G549N#suW^y93L}z&4zX)5lBA(>0}?2nMAb$(mdgQNGJMW1SsL_t(DY8(Q-3? -z+zUI}GT}Z`=^ZEb_Vtbx?r4!~dN#YBBuUnJ)O5b6QPxjdjy;q}{z7a{=?86v&{vzy -zZXhTV8Q6#KRDM=~qZIp7q$>M}9V${4kb1yNCHrKP_e)ud%kDE#Zcs*Hl=cA{w`1~R -zj)~sPULnp7a`s}bfiECZIY1=z8JJKz|;GgcdD4~u%N39=e?$5bZdmB4kR(YqqI5!IR+{sMJ<6gh?zL~{0j6A@gg -z+p24O?M1fM=Gb2#AHA9IIwS0u)ka;^B#8*t*UTc)S0ij?Rur@wTp?tyE%dK2jyozu -zbko0>3LoJ2UA{u{F6n0zOh?&Elw`Fh&1R>XhnlCe0aj5bS`WG{3EC0t8;+%u~@_^lq(7oAy(o7i+|7~%eFkR=b -zrdt8u$(}SI_>KR(LeP25^hwi&`EiRy85+<{@nLc?%#oOfhv2=da30!!UNC3SL#$TK -zv`Y18MBrnbK}UB0dX&<15@kF`TG@_gVBJ4VZLNSdw?AXH(!;GByAL&JfL=MmLP_zx -z6yI!(9A-Jdh1^LeL~#|MTnF39vC|AZ-N?2hks>EoVP}Yr5zD4QlwT@<#YFA1C^dOa|foCyBwtJsY3=JuwCDaP+T7 -zu$B6}m`Jm&k-2d96x8q>q<+?JB*pm^c@Ia*@^?ks*m0?qWN@BHzv!jCGbp*PTzk9F -zuSQ8ct7lC5SyXh-hbxqPay#^(ktzK*^$mVIOz|ksN*+b{N&Repg^0=EmcsnlQHmU4 -z8JWvquBh;H90yEW3N!t1q>=k!)FO3&&5Mmzqo3svoX0U-KU{;Eew}OHH_C+#gmbT6`gt=);f}SM&f`Db`a3dD)P*OSFysEs1ghj|N&PWF0yC -zcU+o|eoj-6dYN;7gp6FuEvi&H0qKtPbGR!3mzR1LQGPj*4wftO{DT#*l;@cC9b7m3 -zV(9T-6R6wvH?x)OZ8h7^0QEHwav$fpPeE!vq@LiZ=RCOu&UOEl0v5N~A3?v}^mfy& -z##!Hy5HW?vGJ61e-uN`p81nZpXr<8elO+M>;px#U3E`1{{5A15TRZ^yr98%CJ#i^q -zPx`}A*_ZuR3OaH&yN9?it|HoICk?`9L&R!2moJxNH6rj -zl~Vr5VBaKvaoY-D$HwONcm&&ziIC`-m2@J2@2U>ELtsGM_s} -zE-`Su#J!vZcPRRGc-m!;@ZrfhP_8H55WXz1w` -zZDQ8#t!!eH4Z*Q1m9F8-Tt3Ih0z-{h(9R2B6wfCBlJeQFCnbD@ep%B?`(=F|B -z9Q#r7GyCho_<74$s`#ecO=W)$*nl3jH)4Z-a9rNM*D4tY;+&^LGLC^q1)n_=dbU== -z5HZJxGojm33^*Uh_yMd7$C>8*-E4B6HtV<_rw?6(;v@X_X;m$CEOni^ilQyj+F{$TnP~7yO8{U -z=AM;Gesf4je)G^uC8PPWoBYOq_H{S;&0kjbEWdebrIO!VVYJ!1xcug&fc$3r%JBLA -zNFDvJHPe5XzP;wlavb8EpjrDzz_;HUD}!hJS$KwL1j*3cen!;XzF~IN3A=`<@BaqO -z>R=Y+b>H{a=38bd-MxGFML8DdyXZ}SXk{Qv6Swj$cuQwGaY~AGr6d3ON@aigrrDys -z70^MKHry+P?HOyh))4%D5ltA^8rk$aW_HXwW(_ML+4Q?`|1R9e0qebOx(C0l&Xf$K -zC7j|Ss?JgAD$!5a^;$Ohj=9xF@95d&yYkLWzHNs6ql4mogQi$R8ZIW~Q5EpsaonEdeO{`S -zbE?-u`+ti>xL!ui5dJB6nmXEl4879IrAug1N9;U+)4=F;8};F2DXmnWLGoxj)2$5G -zZTlPW;@Ro%n2wJ0nq3P#kZtn%>S=_uvxoZ*B&D>kq=b8MSqo6Y0ROTlzH8P+qXcC) -ztuz%aiDHbnfzj!}FRzB3IGG(oilaWPjYwVYT)Kkc$!jt7`HbPK6b#XS7|wnv!F8DN -zIO(DQJ$q2GqGw_Dgij+<6wnD9wMyzDv%MM0uPVs3(3?`ej&UYm!gwRPvnzu>esrD( -zwP2o`e4j@qqg;MjAaU9uP~WPME>r~-cet7&EFV4Ops(x7GoeibxJ{hHixLrT!Hf~K -zPJ}(3U@N)j`8XdVyc4Z|JpnmvY;Ph-N!=)R%vDBxG(xzi?88xK3Mg+TYJ$?E{d$Ud -zom144{EB>(QKb1WN_bh&SHWB#!^HXPJkKz-)Cf;%)#Sx4VP)2$eAjKacgCqWTL;ZYVcfPX=wjn*rVe&X1sFCMj4EON( -z3_JO{ZR2_#%6Hl+crpZIsUfje)aWECdYQN&erfzjD)oS6vOUqc8(RWIb6>aFior|)<5dbfYGL( -zsnTM9cMlc -zpZsSNe(Iu^rLQg_6S-biOQLaR1^Gg2vuC31Z2HxnV0ZeTCR*>m4qRMw^$v4d^~;hP -zZLWUJtk8ZBQ1tUehO}f}G5x4PEt#F>3~jv7%bJ0DSw~x_$K^%}BGYPLH(Mh|0TuLr -zBy~CF%O~v((LQdkf(TN$lZevT@?qAvUJ7RYm!C%~TDJdcp=&*xO;0p(c(2R7Yw^8X -z!q@rq#25jkzX{q54)org@eA+H==Lstt9`w9=k57j_|_T2e^<$dYF7)sZZ@nioqI-j -z+1x`7P(t%sSMQHnt@JG}$M;F#eOhaOi?_La37%^r3jH@h-Tbkug{>s&S^ByISB7;5 -ziV`|N(DXmdX7-vXbqI8&F`$0^Iw!6czU?G^s1Jgg&rJx5f(0$B1(gqQiiT{1|JyBY -z>%M&u#!%8+`I_m=!#~xPJp6Ujx61;2vs&O>lyB$X7q* -z@>Qh)HUsKf&2_Rr;{HIkNp9fA8U=%qLb}d-{{XK;uMGk$7xJG)hzds*emL^|5kN -zVKM5@T8I6E9`|AqD+~WMsjUHj@4QDF78z^}j$xf6(NDbfFKL*^O-eErl -z_yfJIh&%M*XQ>!Ru$%IK_&i0(ZBXAlZaesi*&jH}!A6wp7Jp*8lRh;aW4x}RrTVBS -z@;sGz&f%2SjQM_dO$L4VtsTWSlxcVCUE^LHZS*07WARwmx#aJ0--|OaUZpPXa`qE{7VPt>`b5NB&&?!QFmF;<3iSb5e=S2lH=O~M2Om@5Lxz5w8s0rv=%Gvr!BpYfHQ>EM8&3=^@UC_ve^=PjO$kIh -z@A6(Tya%<`Fmc9_&(EPW@)Pvy43rJqt8v{Cx&Ek=sY&L4sa$Qib^^w;OHL97UX_@xIerOAgw$EkyKVnG5;eHV^oIJ{PYSP2$^gJBXhD0Bd+Ky`^4zzUVsNvq) -zDAO((BPI&^_K46c@d9)auWa)0LeF6F-a)(Cn5XGNED#eIIm%$Njc?EBsF -z868Hy+^uBPSXadw!3(zA2XG$=?PMgLqtjeEpK4UBUC*E28le}Mv&S&xrM~AHI@$D( -zrc;dEqnrN1OvUhTyZvf!9FJT5gPG0z$HdxDyQl?!-of{L9p9mAgg$hW{S{Egz|Gma -zpjL!w2XolgVNaq$VzTgKKih3=97FuI2w-Ft19+6)m!%DanyU-}2^<~ER1*O+ -zM9ocqYa|a2^=33PAZu@NzB7^D_hn`H@7OhhKF2v#`ffDf_avwzr%Ae}cgVkV&W_RG -zZa=3yv}xPM(vfaL-r60 -zy!>xM`DfRt{BJ|~SFKU<^&d<;=lMS1+il4jrL*$2=m)E1j1+oj>8sZ$9{eZMB|n?F -zhW>q7V}bluVmvQ-XCptEZMM@_`E$X(Y+NIK4lwzCx~y;75UJgOIcf%^QGTh?_WlEZ -z2-l2RD5HfW$U+0`Hl-tky~gQ)~9Wp?EI0u90Wc?9Ks6;0Ep*K>05G -z8Su^upjVE-4#q33PGK8PtwyXv` -zW1%7Z)HhHO!_s9t<0t`7t2m@dD3vZYszbUIm3eA>x)t=PlAcDP)rKG$+ -z(lVA>bsB0dF3;C^I${O+$#>QWn|}0rf$s>YPOXd`<9T>iV8c%CE&c3>Q}Oi_{eZaD -z5vz`t@VXIdxS5EBd|;AmQO5Z59D6=LXvg%)8pVU@R&XC)@UtWH4J)|bc6o4nc?dp# -z>*ZhP<>Qkd<(hNtt)|fSIGy`{{n%}j3D}^}waWM5I%z{IPP9?mew~TAKK##H -zEA}#Q-S$!wDA53JDqO2@)7Cxe?cl#&YgNDRl>1TQ__Y$2u&q3fZ-irE;1L404$OP^ -zw$NM*^zyfQdmPh4)+)Sm6PK%Xq_e04p!soyge*zzmGoMH$8z=`B=?PfXDK*?8t<2y -zK{t85*^zdstz(P_f9~tl80_mkzXb|EslJX{tM<%_kbj~FqvE?Y*=zZCYqD4Kc;HR; -zttRUHIW}r8_%LUTSI-|q^?X>M^0$TZi;7hKpUt9xEas54%1`MZ62enDv}F_-Z*r=2 -zHqUd4YYZVDJ)P_E;7p8v5;Kv(nHWzQK+IbcSVq;GT`P3pyViStLyooms#=c<)av*5 -z*tNoseb;)CyKd*wYm_n@A*pW9^&j11{lEK#`a5|29n2W=YwDj6s^5#HyH?qfh4uB- -z^Rw5=b8EhTZEg=Fd|niAsSuSqplUrRdgB7w?<~8;%vRrGW^99hY_p4C-QH!o)pwaS -zHu@?p()oBw;1^?>d{xBlqIsWd?h1IzIW?6gYHf@97oVkU-+^ah$Dz+PS`^rum#tND -z*c(FY?#4kX{}!_-fS0cNKkc=q&|brTOTG5)HG{DvR;^WMa%V}s4b!_vJ7b$eK-d0L -z0IpqFq~OP0p8c6&>lo{TIzCD{;0wNSbza1qy1Bwz)vR88H*HRusWlpF}_vh;| -z`UxGy^@YT}hyt}CWs~3-AOAm%ak4i?5{smi$!v|~Aa5GCx}K9~#abp`4|#JS?*z!pmw9(V -z-kFehd?4>nkk3S!eHuZ6r0$ZHMcZG*ga$U82O_eaQoI|=e82ijc)d9KwoWt+*%U54cr -zLtaytyd{u#B0tfXLkjZh@-WWY6^WTKtYf8_Dr$`#6L^{zdfFO09a^0p=m~s_*co2= -zX;V7Qy1W9?nl~d*<_;)xD!kVs^7>-lX2?5Dqz7aA&yfC|NcX|?3T{Uj4d|FvtP`*X -zH3pD>CgF5>zVPOBFb6MStrh7(9h~U0bXnWbxQW2V0?cLOVFA_PGL;}b#m_< -z6Jp9chwtNa>^fl!D|WZq@j{35OkOA7seEox(u;FThdh-zOR)+#=wsU>nDFYhwa$ -zL+QdDzfS4Gt?>MzVE*sc3Hq$1a;w?IHkjPMzI`A=?T)Dcx7zIE6T-$+ywNVpPt~@6 -zAQaIy@Hi@$KwEf^v6S$4FpYXNu;uCIoDc8zMIHWyJLB%WWhg_9*d#meZajO1JH;tY -zVSDj2{q->Z5}W -zE{!NIry1T)M1aeQ4CS~4>WgB1A_~}lU|!!$Uf)2{v;cNkGzPzSpoS*q+ZVzc*m5sU -z=j8EoN)bm6W1~^-Bk;NWUL<8;9koR9d1^#gP-ko%-JfI^Y%=SkQQ}^<(X5O0;=lE= -z0{C5SqP7>t8EaXv(RAUei=r;;k$KaJNJSwvB`--*X48VrkOq$Ln3P6`VeWK)BDhG= -zUOmkxiiZ?Ab<_#evNQs<Ag^=K>aS6Z1(6+_t -z8*ohj(fnGzyihw(0G&?o8#s?YW!31_6Na-FbKaMP@Uy1Zfe0k!x3S??qi>cO4azaceVJUYtPfOI6T45P8FHD%pe*b^P`4T_LTKX=6k29cDZWfxb-U5-*OXu -zt?~0*c4HzKLu=-LdL@&(i?^+LZQo`3eg{R_(_~qcYh;)S>*LR+>)gn7`a9S}zV_4{ -z%<;Yv@+3z}drBc+5Bf8{z-xb%*vGKzlnp=|`(tQ*Ub0@%6Kf46sZOytbvIlr+m(km-)XsLE0H7+`Tf}e`kTh0Vg>T+Icq~$bJ -zQb^NlF-=EXC3FC(EXJJ0JZGFGp1;CVhsf0HJawq$REx52@$`60)cr26dxC{KPvpGM -zb0%3%n@AfJ(`Q@wEk%uS%%K;_8p`?exhTohg}j0cAodU{LxcTyH~}_u=|CTpz;q5nLa`^$A>`!u1(k?`o7zi%>cp -zt}3W&AGl6|>r}X|hU*%*u7~SZxNd{%Zn*A&>wdU@-i7N^xQd}~z2NExS2bK&xMl_V -zi+!nrwuazEemNi4+Xs-o6VmSm$|fL>!SxE{?U4BhPmhHAcDOEs>k7EOg6nIzzJcpo -zxW0qyd$|4s*AH<02-i<=6+!=o!8Kg=GbZ~p4B8j~&tHS95T5mgYo;ty(B*rd0&C$^ -zJ^bB&N5D1m|D(KuIb%FKk!6-|vmw^rmForHP-g%NQq9HAxBWMKYyP -z`0Y(Q!_Co!yMx;{GL-QLWC_5|iXpb|c -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 -zqQf{PI+#$C? -z4b^-v)?5(IyBqR?dvd=`Qb%sW%a%J4*IK^{yBl>Uzh3hOa8Y!ZAxll`K9g|aa8)%%>q -zsav+Y4HO%CN;cjp`G(%*@szgc&!?` -zS{DJzrWa6{@SJeGgn0CSxAHsi`b<$DVBd{UpP6HCvu&inEHZmTPd97CoV4Xtt21h7 -zz4M?>Gn(i0c4BoV-**~4@50o>mrR8c_iMn(Y8O^KJf=NelgdO*?GZM$^Ht03e9fxk -zr?_vjHZE6;LAwV*`dw@jo??q_q{t-POAU_&uu1x!Z+#7T_6CA~qe45{p?&hnq}Erh -zcD5hN?qWqTOl>x_*!=?@Zt!z!`@~7lPqy{Rv7OkDSfC!V6`m+P&T}@2^IJFlnuW5g -zNog!MG{rqYCw)%Mt%jc4@3A14_QN=FH>p~@lk}eXJeIPXoVQ8Hor8AfuLi#PWpaIq -zZ*KChT}N$#U;K4{_~NMo|9iu%v#AZQT0#BaYd0xAMU10@+-bDguc2)|Jg0)bPOTWc7nyK1J3tzSN(#YJ0wcY@Nsx{4UN*n|EBbtFVFs63| -zR!S^VaR21a2#H;I*28U&r5~9v72c{dqx?(X#5KlWhu?aCElS+gFqVP>)fS|%rNgzt -zfL-bJvj1vkT!!liWs~o)pltHi&^%dP_Qtz7Q~CZ(J>t!i;*suz_xI;8=?zQy8^gUk -z2;c_fz}QCK2?cw*_snjpZGa`UvFSkf*0_fTeVAnc&|Cp;y{d! -zhd0Ui3+#J;&hfZ5*7|SH-d2_S*LcqlT941sN2z#@y?nlk5n;ct;M0@P&LCkQ4bMMj -zJTBrc$EmTAYKkNqNs;DOzi#2aq+IR`keH|6hO{W*4#jsrhxshh(3VoQ{lX>{4-4By -zy-5*&T=ex*=&SGhL4D70wuE;K%Ge)r9ZokX<{aC9N1I3WO?PY(=T6QS7_kO8;L+k8 -zEJw4oPCw!{Vo!H6^n15R*Wil4oEH*ztQgTi9w8$l=$dbfw5^%czkJ@j@oUGQTiKVO -z&(=3LDWC3Q?ohMA`JzVXcO^v&eiT-hiN2t>%5B`%QOS2c*d+V{1fT}K-34mArzzQt -zKN~`SZWFW_R5JTdHu?T3P;$T1s-R+LQ%JpT`QBh#=o^-QzW?B4{? -zkRLV)U8s>de8UnkC%B4J5nQF!=*z)=o$t}K@B_+zg0<_GLdo>M*Z^If=VCjN&A+-X -z{)J>+y`W^n`)pui5Fb06)!CccD`I^zxzav=U}2nGwppy3;F=!+yG^X?clo;hiEBM{ -zrGU;J_e&Iz=eK;bvX#emkJ|F0AD_s6C>*j6lpDhPfnOWpm7DgVi_l?5F9bU+HzQz- -zCSeTj9+-`4%-sRskn`Ff@$uN7h5Td>-7Ne_2i7PVDeMiBY8Q*s9Nf#OwIuek9;jn~ -z)Mg=T!uic`j~xQmq`3}xu&(MrU7Bq3bCwRAZymB(**^s5eh3M}81*e)_h5|hAs_q} -z2afIeTO7x~#sBTg5u*HqyPG}#;8u(FmZv|1{_#)-H5Hy$bJ@;Y@XdbL#S?4afG5^R -z40ryUmRq97v!yhi?WM)Dy^VObPb7YSMszUDPU>Hx4x}#Kxlodrad#f%u#>B7?+gn2 -zG}G(T+t8g?{#bc00C{r3XxD>?IJo7MS$;Rdn -zu;U`<(=kPHw#>nbv}oFp}$<$`4Vbf486}fUs!(5lF)b_ -z_QvyBU_75fpLRjnrw7PXML}HTi1B>dZ9Kh}sqv_Hp9#(X-@N(%3dZw)HO&7vFrII{ -zaVXut7oc1X)>HY7><{XGe(QY;k-{g7@mwsx1PI+EUUR>p4 -z??p-My&m$>GxsQo54zOz_W>e~h#JQm-Z;L4aeNQs_yNZ8pKjy$z#GR8fpPpNG>-oS -z#_=C-9N$6v-$VO9TWFtuE5`Ai9EZqPE-?8<@NPWw03)WdwF>zF7is~1>D;~m_|}??LV7+ -z-U?^^zcA}RTVkJZUxr)c`Bu7r($<>wAFXENC)g#st>!3+BX1FZ<@FS8@%+XpMUU^rI#J-UWXo{76XOF>w$G*%e%G+BX#Cpyr=gNck9mhdDZia -zv8*jpqcOEaro2%sjK?eT9yVh0Vw+-j(8uXN===1$IkEC2YQ7y;HJ3PLMFoO0LwtI` -z7Ual;Ewmg3y{vel0sUVs#)2mYm)*QDVisUeR+2>pma)ixj7RDV@=3iJBM3=W5+}bX -zzpfxg&bxX3&Da1#K)k=lPUt(N?#0v+NV!)O#w*N6jM(k5CG-jU%A634Qj-J<%P!*IL~trfzscPq_?iy;A5}sJ$|SSX8!M7}ci%%X`A*9gNpnv4 -znd??LdQEGDv}Av_e^Pnwg#TJKt$Rc2zZNZVXYP!voeWdMMJ5AP|6Oa^5Vhxrl6qv+kfK3d5mh(BnwP3V)HIUM`va&5EGuyxUXA6rAqN%wfD{fwV^?fB-H -zDC2sZjaY*w`{Iqbmo8=lW4To555efmlE=s7=wn!We~iP^I6w%5fwylFaVy+QcE%U! -zX8xjxRp8|F2*1$2L97C7aW$!n1alf8N2a3gIR*SnT#lM@6)|GwV_%jRSoswN4;Zn| -zSbJ>#oLEVcaBO-LvGTANc~X9a-{6TY!Y_t9A@F_2*l}^rp0jVNFo>yPtx4U2-R+O> -zKA1f#f7#eejxT~WM?$)XFKrQW1R2pqa(<;;N~|loxmdI-e725=N}li2pe*k-3A=K3 -zCP`(ylAOJ{f^z;v;PAJh%+H*E@y8+RbK4OzoW|t}=m*HrM$iOtPlsGKv#NxjQ~^&@ -zqsMD5Mt=uOxSxW>{O{8PE+cLSmYh}Ppe%cLf9h?wJsxjM@1N|G=e8phJ-KQg)QsOA -zBab0;!${1};+yT3_dNLQul!kls8=KC-o!m4pZBShpUJ_FgjNp8L#QGmJjP^+Sx|!a -z<$br^>{81JC}W0d!RPRPWJe^jdqf0%V9bP_g7Icx)F;BI7nJodYHY;m;BUTUeO0LT{-L|4oog)wzbQA?@f20xo`h#WetSU{s`H9>1|9E>B_^7IDVSMlN -zn3+tnlQSm?0TelBCct2QOePtUplC<}K3mAi2{TL@_TDR6tJXfW -zRh}XJ)mGaA)vLX&@?UE|X3ivF``z#R{q@J>?Du=^f3?L@4F7ode -z`H>pM^Aj$~tNZ!t5%rt^^;8Gy5qk%DyC^p?-AMAi)5C47z`V_ac{@+c+ZaA?V~9T> -z=50RTKRtYXbU~Z0@kkCk4axJ!r&`>46HgD|ANEHz-1e^hA^a8k{0(x)1a;Bo-79TNIv?@(1gr!7 -zsDBs;1!4F(_X-}_xg^Fq33}zO2mHn1(0CHJjeQ}c2rHx<>XLJ548}Aggs}8jH_hcK -zg#5q-P}c|8_FZM%3?-_AIwW -zFRmfdp;flQN^Mk?+F+$N_CgzxQEfa9ZG2SoF>UCdB5_@`0aWh2HN1^}_zLqjG9nJz -zFrhCGK^sx`UcD1m25ks&+}^~ROp=^B25}$~CbFeSQZp__c{n1We*>9F;9LS0hkcxTds*K8tM@9M9-Ec*w*|~@rji%p*sPwu3sl!B -zZqV+`vWzNQ4`t6u5NWdt_w+aKm2WFrJ&f@m3E|iNV1mCSq~^J4TCQjFy~;;;BNO}w -z)O>GXL0cq+d!?|f8-cwyO{{cxdE`DMy?rZ -z(_?YR>QSC6n;Hk}(T^7Kt1xUkJjR;q>VdKTpfpco*hoG1r|(s^(VB_4Z$w*oRvO7w -zJx^-u;=VP8`J@F}xE9w*;Qog^E!HjNc>eXSPP@S$iM -zRY<14AYqc{e@tbb>#(A=mK+Os=yYQo@tTifp5wA#!E&yr23;FFmg;mmts%dHi7gmw -zdyms~<3t^;ctWlGoye5@ikI&de4o5^nk#G@)j%7q3`?#hP>!6aHHzR~pg>M{GpILiJ<7wK#$|3WgBB^)PuA!%ax&R!+-!Z!#%@_B1# -z9Q_w%Q%A#Tn97Dyli}Ya_&yf?jc2xtIt_#Af8&|>JAox)6Qh&qg=Ul2vGFA=L_T -zXK0~{xD3w+>k`Je%i(Xf-QoEn6>$lco&E`yJ)xP^hYzA{3=O?aF3?s2bbSJP(dlL& -zf9wLaA2)vp;S+f{PSBQJ7k~9pItb#wH76_G^v(@Jx5~GYtd+l33E$b>K=};Xuz$GE -zU*Dwx*m?bh3U(%$?;ZhrsX7$&&D^~~=*nYy&bg}DkzZ@%m+wx2(ACWr)I8Hwz7++1 -zc=`q*i{dSWGrtJWymu~~^u=(}4P7gCfBQ=>Y4ct=9aEzbFnVa7LFTSk52P`Z8-N -zP>iVqw4GvF&Y7hRleI3!H0l1Li4b!c#H@DL##WQHgvST?0}G(-MZ9gOb5SdA8&3P; -zbgAtYY`Y)YZuA$mK}rVNo+{f$XcFR-7vSOx+j#4FsH>H&m3;`)MzZFyMhaAWe`-I3 -z{Dm#NM|pzbCW?8nU)Vp9KY4^25%#~WVnjH`7B!-ZQi`8~XJ;73)P`f4JB}g5LE9>6 -zD?*Z=@aN(UlHhtjSxCh&?tO&xWaO=4oS{?0*5OynIZ31dAotaaa;YiA()@W?)6oQZ -zEohq&A<5@A2sxL$HOq}aZFabqf9T=00Oxx-)EsuYlIuydYS@{Pyb1n#YmS0>`q53p -z)-<%BOByNZIu1aDcw_ahK9c!sU=LXzLWiS<`2Gieo8I+Dv+x>v^UAR25-IWIUk&N0 -zFE!I}_J$*wz%RxA|I!Ab|KMpyGhfGAevg*U^wzWkaZ_d7vpkM#(KLA4e>gY=78%ec -zi__rrx)_=yLp>aC@TsUvcy@-msi;SUr*gh-zgyNv9;y4L_?ve_|Io6PH|to|X$o6< -zkD~sVX26Y?rtru>87# -zwFB8%{Eh(3H9J$>5#YpF9rSEE-&$mq_i-h>nqZ^do%uJ}? -z?*hm&^9Xjem+Ptup-!uMEB^uH>)?KrS`CYMEyuDnMehYI>|AXufAs%K&E<9I1ZA8B -zc9b-**E-ML3inXjsDpb7O3)@=!UDRa0Fbti<5srSYM`9mf0-gC+jcA~!^0O8jO9@9 -z&j|$&_a%bxaDPJBa257rUsn4RPA2lj?Upp+N14E>wfL#+JBHcuL|mL(dWdtY8OSSw -zzXVUN%TMkY#CXNof8`J6U{N@cQ`vg-MWx#fGvK!J -z)_#Ju!79-1q(;+2YbP^*tvIiUDSFo(&DMuBb4CbqUJp5!LeAM}WpwEJNo-)~dtKk-&gXWkd4v*J3`D5whyeJuf-#%&a|%tZRMF;ROOFw(4RX~Mp} -z()(YnSL*$TB&>5bN_#0??F_Y;8;I96jlB%O5GDB;fAM?TS+A~ZD8p_y)}cjWE%|O8 -zRrP*-xU$}e^v#~!DAs6t=mfw;Tj0EiTK&Fu)(NNFo{1W$gAlS03_F)kbxE?$wc8v< -zUIyThh(ns!&fI$281BD2IkOwfoguiw^o%eCTzwitO{OgTtp$2{lQ}+2n^4|mC7BWu -z;bSZne=fh>p0H8TIPHwvao&%uTZoA|Sd;QC-@Q@T5=|)Xfh8i?Qb57I -zyOa6-ZM8Z77jY}?&78(OZ6j-UtI?(=8wzb=fBpb^&AByUN_z_U-@ry8&z7YfEUR_$ -z{ixRF!}*nKqjWciHVXM}w55Fl%Q`2)zv;00gYFFYI#Is+h*$e18-;zhVdp}?SEcU; -zJ*NAqWG&pC*3xF3k -zw|sj_R`FcW9#HO)iIBt3wzHR_VcHw5icY%-R^kYNct;F<5q916uqOQV-|xZn)Qb*|2jDmzXNq4%jGU)CRgvVCZ9JELso1|E@}E#$3O9 -z2J?DPWcj{}-GqU=66Uk(4ahl8f9+0g14iyng4|5M_YK4fQCFMKQ@-o7ZqHI7&ne_a -zcR`yDKQn$ycj=uYV~rKz61Nz}Yy+%EPFghIb-r8g=d5#G0k@KG)N=h+T>tNE6!M{f -z%^(!uJ?ii3Vq9YZwp}N;zuW_9)noz0=bT7r7V!sg?H9VjzJP-NPj6H73OpWK~YDVd-ys@!9e{fbV;%B9b^NTg|hmFEFJ<7n3*Y4we(TKlxCM&-iMaY6R -zT}-r6E7LCKX|`?{nFK(K>&01^#^1ceSrGQ%5nB8hz6B3+rC)8}PE7v3MKgr;?ibG0 -zE~v|;x{mHPtF``XPi7By=Te_>lX|dCrj}||qK|36FDSkGq3+#`kO;Y9~vZ2a -zmD&4qsUwXPjS|GHf9q7LfoZwaQAWzBGX&0seL8cK^wZ>g&Rto8p|mZttdYk}25494 -zZ@q@=5mQ>947Fclitm07W!@?1?bjGQ2J2Pu-rp4T(HbYUG;fVF5W+(b$&hslE7L-Q -zo7CQg9$MoKz8koOR6-U)+I)V_U*YdOmqU(E#o -zeg9*8Blk4n+JX#pv -z&3@&g&XGN?^)|qTZ-eoM2clQ8^hOo3|EB{^;|lsV)E^BOZ=+l3Bgu#g)7A8AcGzQ= -zvDU9+uJ@t-DC=NQ`s+}d<-2Zjt!2?#x?QvCh#jeqf5BP1B792vp|=T7`&P6H=k+dt -z)U7QBnMz(oZ>7i!usiHAB>jg5(qUly3nXIeB+>|2NPUE84b?;oTSSY*AgxGnya4U1 -zCRV|CZ=S_4uXhWKIU#GS@2C$G)WC1;hq2RgEKvMLRJB>(S#Oa}faHg22X4wUky9Pu2Vf61;Via(ZZb*!cc+mk)oMrVBXV8! -z3G2b=n2s?=@D|$FnY^{+*w%HT-S%ai(_h{CXe~)T&eN(!^{cw0I;BPc-(!jQ*W6N&R{|N7fOHjN1KGqjOV}@Vy%`*yu=)a9>%tCtR*A;p{a1u!X1uK -zv{0|!RIr}s1NET1Ol2*0?4Q*WQg1Vx#CsE;Q|J$R^L*bG(t$t^rA}jB%N({|qed@G -zL2+iWuNRi1*j=Y#T47c%fD?!@inHoWfAwDX#wOwSD`#!v+=x!JRzv3k-7^Ou{c5*` -z)37;bWdijs>;tXtcoNikI3uKV9=?)nDfxUDul+tU>_iNk;G31NL4CTY&(;M^tn_{M -zZxXVZ*uJ0@pnV(i*JJ)G+-@Cp$^7~=nY|D1q#oow>fFy8^r@R$=YbxT{GX54f6wGS -zO7k9-yvJ+fbm5KRoAzko9!f94h~9NKk0t)I5AffR;k04}iJ2+_<6yu~$ITm)1^ -zbD`%9-4uBBpJJx6#nZM~=rQI8e(btEcvGJNGnTdHu;3m3$%@dK5PAlvnY@dkxeywL -z(bRAsqNlUrEHd;WBCi2oP))>_+Dw1RnGmxIV>BKkG&27y -zDEt2B)1>UX11H&?!-iAWf4J!9ZZL6L1s%L_v(o+gq{MZ6>&z0?BmBc-edj^GV>zF6 -z4nv&G>z~6i>B-RZ2i^0zq>KaD|53zSzJz%zatv>SnIvi~OZ_n3Vfen-mu--rSMtY1X$Ra}e=}g#yvxpJGa@e9 -zLpYedOr~ESrO5*b{a|(@#fXs?T4JH*#{3+J%Tx;ltm!e?fT7UiphJ9JDM -z?t_$V*e2GM$;{{LIEAlcAG9+kn6t+F%p5lDktR}n967AXf3BRf7coJu4V>&O{J{Ur -zr`RX;YLrBz*z@EsMryOYQWb>k9IkC`G}oN`WWU!to2~7As^?h1YG%Mcn&RhlR|h)^=&4)WP_3=m -zMrKzNtSa;q4li=Dv9-|M{vy#D%Eh)jXf>Q$_xdB|e?PaBKah*2-MJi-6`E_%qx$X4 -z%d`=%vxO9H^~SB_zsvBqGflkKR#NEn>R0gJOZhKg`bW-&G5?1U -zRm84oWTb0&=$-frjfu4NRazCs{Sx`}vE_v4ZH(%4eSX1L+)zu> -z5c&8hf4*tgWY?a!>~Fnm9PH7HSgTb_ycM5e>j_*5--QJP6p$Jk;9!7fLi|lK -zKG`60SCw;9+MNuS@@RA>eViJZN4_Z5Kdjf_yo6!LhC4ZqzZgdL?dhE25EfRCgztlR -z#;AX;IA7kavskgeSJU)@>z^yub{WTnp?(Gve|%hWOhuVnX0g$^3pV6EiXN{4R+b#Q -zg3<(@V}CK^2Q0f+*NsBTUo7%3huJLX8UPe5L1*CZ4iD4cXu3t{yY$5sp@szB8)qe| -zq@~fEHJ^VY4|nLsbJ@U}MGP_dF!X7+H3XrTYHBF`DSe$D&u>Q0jNBuzXXd>V2ON>J$ -zH3|J*;VV@Y-u?tRUk%>!Ijp@NH5zyf!EkE|&PgL+Q1{v)x}ILMDs=fciW&jV*T#L3 -zB;&R%>(ON?!@C@68CR;M%F9D7Re@TruB=17>*FnX>=wxz0lYqEeV&h4$+w+NMyDxV -z!OS7bsX9;Ea`o6wYYrX -z8BEB;2>dq-^$qg3v(q?jbxGH034dkIIv6*&w`+nF6)jjfi}J6W^%16M1=s6_RjY4J -zPlR0cD34?o8gte^FqICcUX0JDQPV%=H0BN$TYAG`S_tQ?4|%Pax{^dgf5{0s>j+WO -z45lGx$Daiy=N41Fuv1I*^3?epCp2tnQ -z();vEasOS48z{xSUy7SoiudiQhBlYZVp*$S -z;;oqPYg@$IN156X+(zNou7OC(gG}dAG5lMTuuspVN6*i_TSof(9#5-H)%UYY<9WL@ -zo&}}24`kecI|y-K<8ee+ai5lPhaR`$t8dw&-b>EpzQ&7grO(j97NHM5U=1>1&t-^n -zY7v4a!y+VjxLIpKe*nMVvqjja66I`B&gqRi+-3)sn!`&Kw5+{=C96dGDLfrxvh`=P -zpv=+tpuSr#pX -zabdP=0hK1aT)Reue>QWA+6mg3#GAE%t#&XL -z+bb;1LO9vQ`ylzvez&Mg<5*Bg%g%;Ywc};Iv#?&hFpY4vEQF1(h$mF -zOD))Yv$*sGvxaz3+v)*~MZ3nud02bUR{3jNvf0Uj7taT2QS_uEng@20zvf%GYyuo)a<}_g5dI+El`iJ+NB>|`c6s&sz -zhbl{0OfTDl`)G@_w=wr(7PPyRB)$hRCA&-1^y4V?&rhH}Q5Ppr=ejLA+79)hH8^`* -zX08oslRfSvWqawDHc_^QvCYWVdU6t%Qwg@&py3Ouf30WqG(q|Y+ip|ZHNB#3p+j-N -zNMAdFW0oe7FA+}B -zD2Moqf7TL~WRgzl1gr!8a3zumC>8qo4gc@;6`UKrl0aJ4I#;Nib$ -z_%p9ydFKZ(-!ZX{*7sb&X+u102JPmrb_N-kc_|y{zKZQ}hiIN5^_RB}xCYmd6>oSr -ze`dc&ysgzEBui&`Z?r@M-#g1#@~FJ^S66tW;;~v5dd|xOyyR42_vIycS#+~>n4zrW -zkDy1fz+3KhTO~}Q*iXVadT+XxhC2q|L~&1kX{*rRw{^)iH1Jdb9b|?Vq9*W)(A!XJ -zO*j@7?*zE-ZrLjAC=EDQG1R-T`8*)zf0XmzaeAV -zt;TonR)Leq(Fsl61LZMB));^{q_>trF+{#~llefZve_;v4Cu}Y!6yvY;fTJ0W -zCRu|%En@P_h+lCE1eaxPf2={f1~3prClRt+Aj=N9Yzb^pX -zet<(sUA~!obh^OrPotE -zGwxHi3H~RpjnJD@eeS+b`9i?CJ0o89g@EBx<0E|`sJc(RPsr#Z?@N>N%V|ytM>*Y< -zwh(WsPH0L#bHsS&+^1|#;+u06;4|E3?$xZ-s`R_SZNEU?D@f@UBsLW~W;yHqIC@#J -zZSJ8cRdB;0Mo$ogpq!i|qq;*#?wNS&GH)y1YcmWI~oq;}R_<|CSIbvlK?}cF;yL -za4GZvVdt#NOVk9w&RHTahO(C~V0Bs@4J#j#_X!&k*dJ5Qf5H32>srn11Fa6qhwMZ7 -z_chbWTO41-I@;!9{A)lLt!CM!XET4+6%5}ykAWONbWOgGClibv7yuk+DfY>#=o4Zi -zUTl~Z8?#G+mZ}Z*P^A@kS{<}_nkSz9Lr%=gOq_nUr%25YL@W~LQS|E8xbRG -zodl~)v5#tW1GBD@vs+uyFK_0RYG!MKW5jqht68W&f7^2elaSItyXFOSxQ5FHiTIl1NTQro%wKG7$Iwj;2X`r!Zpmc_c-~~Z`_bpqhlCD -zuVcs5g=AU^&t@r2hA@poP*=%bqu-@ce+sEc0c@d0-p_x4{$7mt&`pb(w?4d-H#pJz@@JTrIfr>)xd6VD(3g%OK60{!YJ2njuP+7 -ze~WpUBII7oihbUfb1dB)BN&G@s -zSVP;&_`J^VPg~3Nz2zpH8nL(bB{>|>rHx`!maEw&?$pwK6)Rfkode4n31Pogl!R2h -zPFMDM?QPQDkyXA=ip~sjBw0;zU6DBLe~Id=TMOw9(ym&V$ -zwAC4Py0G!A>OQKXZoy4k4|{M1P|%02`;(&X?iolmK+Nh%Si4V(301dxGdX&j;DO|< -z`x3&IER>*ST&#}TG$?P@vQ5bZU&dvEtK|FLv~9xX6waHt<2pzi$Fq_tf9@(cf4M{2 -zXPLnCXM|vt9K`6QrhuM5t3GZfd~X%=nsY$a{Mx;AZ8Th1ae{$6xV^_9H;0IURKe;C -za3t%9KOgYHl^3$QP#q1)_mkP%1g)p=EGdZwGlc$U>vU7*o3l;GoRsi2m=Vn7_6S?w -zhSWPeYn$|=WZ5*|^|YI|YPlW@f2MtUo8WonttSD8vaKw(Nr&9evmqC548VqloHZyZ -z0!8p)cB? -z4Smr>UoV|W -z4!zQnh5#&YypV$*BdAoneg@jSPpKWjEin4^ahmq+RV>%_ygSni`eM9)o8b5Ra{(vX -zk9OSZI95cIy>y5l(DTeAf6G|XLTbb$1N~PqZ|-WqQ6t>K#!Do05Ph=>8D%?06P~|< -zWqKI5Y@JzHMNo1mtQ9QIVLTAD>;0W=Lhs#6A&=1x@E8G~)x1_AeS{J?Scjnn-vXZ8 -zrsSPgG4Y1}U&vD+gAfkB-TnmfeUJ0+_PRGpFGeOA+KX~0Nasc%e`lD>Y5R9w%x9q! -z`ZSP-QGWX()>>~!uSKn?5SKVvN0Ln_ZL&^F)*mj{Q<#fOpR9xP(3n^k=kn!%|E)oO -zTmhhZ9`2Z%PUJUCn9p_te?JS$_p>nKaE`xBNEEE)oO+@qYw$%4(?or2GmR%dJuW@4RTL^0BdqTzNhSq03I5FdwvBi -zBw~C=-@_qa9sm9Y#BbyAo%-#Z@~D%VV^hgZkhVHu0fjEDf7cndiFoNbXvYw4l}muu -zp!4Zv^oGnS?c6HUa#9nW7^NoqK!|b~X(6fqG!NNFWBt|Q^VEH6(4Z6Hs&U(mRhI1>|YiF+}Fd&7N$ -zTl>p7_k_^%@$Y45Ye?fZr37E^I4J)ewDqd}3I3|xN|>j(kXa{c9{w?==R7|kh& -z!OZrqy%JzJPlwUZMt$n*%T#%B3D#VkjTl8?e_>K9F7~fo&fhRQLJ?VegwVdEDZc-4 -zFxU4#?(L`NoL|RpC;rv21FaCs{}@9J=P?l$y&q~gAHq;q1Jq^A1pL1#K9-lj_o1Bk -zYxnlMaXmc>5XM*nE4`SZ_E|y4`O7v77 -ze|0K7bp6Sbu|C;)eJK?}UOm*%0JX=U77DFf*yqZ=;!Bt}23lX3wU&(RId9$KXY^DZ -zS2~-L^?zIS5YJA8pB;w`tdaYr3pM`o1AlQlHUlK51wHTWbH~DWvN}H?zC>&wNB`g4 -z+sDiKt?I0T`MCjCvOiu$k|F;F*r%{Bf2+vA4S=uQaA`nK?3VilE`N!0Eb58TL5gQG -zO97jqfX&b=nNLM&N`h}gU%y}AgO2l}fq210?L`Bz9+Wx}GCuN+;C}he(Dhk3#ZB<{ -zJjVUB$GonKP(lzTaC?#NFyd(=84}-S93{4t?!k5mZ_tl!Eolcz0j&bIC6Kpue?lTf -zxsAZTwWlLI>`-pY?{7lC9r4Krp?rS;e?B41?a%cIP9FEw%i^BTh8gR+La!o{%Pe^1>n^x8##RqqG-pr>sij`t(zNBO -zrMbK%t}kS8E1jYxz_*2N_Jk2*6+HWCE7Vx$^0BrrA2C+9Y>Vud_lx&gK^vqkK_zR- -zs&aV1`8?ZW4LMgafEDnKUqP9s*PwhS@^Xy{C>M@!dF)83r9U6{aZ*dje=~muEsdlA -zhcZG0--0?xj0`*7_#Q+CA?&v-XM@%d%eGy{lx$QP=l=8kf>skXQ8EA+ek-?AIAnjm -zw5!Yc-yfC#YH9mv$i6y|U(rQmyO7Jtr(*FIBg$<@)RKIc#VMl>O|0-Xe8GhB9a@!= -zNaU6*@ohcZjS?qSeAWo5e}?+*;BTY?&f+WR5Cu4kVYpqc1q>@2S<3uV0q$G}Cv6{4 -zZH*@q@4BVpB@^xx#H$OFvJfNRNKMR*ygF`OP@`6M%>_*Hef^mLvuuEMPIk=_s8{Tj -zv#_19p9zLd{tY({VtK{uk|)a7R9?Hc7TOPRG7IVKTG30@?mut!f0Ple^02vjK(zZw -z-frPKKJx1q!>Kk&aUOnUugkHZUCk-m)!V_@%!@Bz2&t)7ThgOCcDwY)nOeof8;ann -z7W=YvF~it_7QhPa4hnScewZ&eOD|wqxUsU@MJ#K6hBX=hLyerYGk|S&j%srZZ&TUT -zJ9)eG8{$BlZu#{Rf9><}Rvod>m5V?m!`XKWWX -zK@l?!m3S{`2^aC;kn;W6`jZ;;QP|pJ613%AN2o0<;i9i$#n<@S&4PAUJ_goG85`W^ -z{oAE3u5$#?(dfSmbu3<@sG)IGJZ&Z4McXhTJ{Q^Tg7@j=f1j)I)<0jv_1g~MUiX$m -z2q-9oH`7|e#9NO(kFyYq`KD2bxdmcUStwa>vkI3U8F-xHrmL?u`;*5WY;)Tj;$jLJq7!(kh21VmPA0D?<~w -zUF$kdp%Zcif3*1yj_Yyg?{}Z8v29z=STW-L_W7DtqZfb5q0!XRfwMVMVdQ -zzillmxXb2^jnAK16XIol^L$Ow&A$FzO^04faE>3Ut*rfNZu72%bcDu=Q7?MFrrm;7 -zT7=`sV$9>ujf#aBOnF_#zFv`+$4)E7K39`GK3IF(A!~0tWbJK-tUVa}T#Xo&_Y;wx -zt_|^Vf4*FkG{i_dLMFsKJN2PZt>nZIvK7|(9PTR_YJ48%wHtj5W-M5vmMnym4c?2e -zMtvE}BE?J=zWp_8fo6Wb#((jrHOmIZ#+{ZLd=FJN85W+*cZ -z>$0@i=wG`QxyCO*$^NnN=Dr%kdmeh(d9130@|mabmfvqz -ze{ZejbY7oD63V}ys_U1>2J0fFx>Wkx6>UXFrGL{7rvEKIGJRh~`GfJ1eSL4cvIjY` -zuLs4QWR2{3+5hg}w+s17KXonOXMXxRmg|Znx?I2QI_CAZ611hD@@j>T%bVtT)m>Iq -zDEl_=in|r~QOlo{Jsn)1ri2sl;Z|2Tf809mlk2#wVxNsE{O|V5gu?%Be>NYsfB!A} -zx3XfNeKi?eyAMXK-6smceJ0YyYJC(RxzAFCU|k=L+9$*7KYkx&3Ln1@r&pxYQD@@h -zLU5l2`$`kReOB&ydGE~n*uB$IvCq!@*t~5O`>g+C_F1-2AJ}JO`94!}HWTC?e~gn~ -z0;S-_EmF1*sAr!kxNi8SAW~{;Q35w-t!u{819U9p3~|fb<7<(M(V7Vfwz>0m)#kcUZQfW= -zw(Zw3pVZX~>qgt-A_nz%Ce^AtO4;6t^0{4e@{jaQRM($u!T*0q%eHtHe@q%FgDd*6 -zzBKkPl=`9Qv)fAh=nJqD4GsTMt8@cyKxCt3phf7ypiXZ!{@6Hl1R53ibs@5=LpcG!aZ8q);7vAr|5@A@Qob{n0z0vRUyKoHAP|&~Y -z7^r6q5p#+AF2&~w?+;M}b-7 -zVeN{ad~Q*|-kkHTw6Sw_>Ht?7t`X} -zW^=r*PslqHl4&wUW16yaN4U><%JH5E@8!hOI()mR;QE)K<}X#?mH6MLqL57)u)Zkm -z*p0A-e;1IQ-Bzr$$M%Mix4sxhJmyPWcH)bHeYFenW)P2SdkfmVGOo!NzMOM;yc_K) -zre0^zGYw(FelxJ7BDt=s<7rsm@8WISDs-PvkIQL0z$MgC|7xhEP_q43 -zzU!VSsyiRY{BLnW%Kds;&4=?Pen$R1o|<_$f4k#q9iK0);~Kt>hsyhZ6Q|(%FN6Jd -zUZYL`=D%7LxMa>+9anzWhHRX1zAwlrA>0>AcUP2ov!cG&WqktA{8LfLO2@UUXwG`d -z6xKR!4BN2N)c$|BI9d-0=i_g(UciM?cf?(eg(!cg2aD2QJ@+Md6j~_Lvf97HcSe5S -ze+1vh%J2Vx?>cD*{@++oKQy}I(70aR4s{pY7QjP9zZxMe#bu8qj+T0x+f$Cf*E?Kl -zX|UyOHrVnGwEC*F1TY?U!fniN!TaZP%@&WdI0hiJ)1xB2m3tpeeZDzG%P`K}p=gCa -zz)83*F67_E{7&8>;9t(#8t4A+oZE4xe>hHNN?!l5ACpJbGi`^`NxLhqWGM|L@4iFX -z1N$|51tvn;+ohau-BYK(LW$8y(aP$Nd3?_L5!X$$52RhV7ZV|pZZXI&0BDru)MxJy -z@SxvW&n!tl;(uq9;%}~qpIeH*wIY6?6#tb{Jjda8h<8I=JB^@p*O!B~d!1X@e;9HZ -zSpcmsfRba#|G@XH@O^W@rtkSX#C@1^?u(=U)Gss60du|*cjUPh_sAtXgpEr-bxXj$ -zZw4{;^eq9OcyAiZtXty}1KKZgqmQTpY4 -z?XF#Mw99WudgDg9?zWcm#%gZ-f1lkoH}6m|YBz^bAD8#5rMwTyykbP(+M(`>+quS- -zqAwI4xM|0s_$Rj?mXEmou=y+bdTMX%-l6y@w+DD(w;z&k_i(VU0lu1o6OWhR#OmH;Dl}iZ`dE&8Qgloo{j+JtesYF^c+9>K*EX -z9m4)sS(Y_Jk1f4mOG-sppE?TVuuzH%ZOkBjrE{6)dg1_MK%Bq(o0;F+R*Uiu29HB| -zpPxxPe7e%4{<$5Bh16PVI~8vHO@FTA0(0)*dg5!7SW^KDB0J^yQi1VV&zOSds{x20 -zMkg#8bGic@@ox}8F6ta!Lj4Cd -zc0(@pC`IdzS^cYQq5e!wIs7#U|F{NiTs^>JhV(lj=GmHZ`0KC>o}wDZ1%DKMaMVt9 -z4;?VjzHrcP=A@nCeb8|LYvMY$2MmNed1oMj`qE{4ng^skO+O**X=0xKgwUxTt;>Aq -zxH7E7{_uM!R;jmj{7y-4Sev=s@B!GEL47Huliw!$UEWV9)6i6sX;9dp*EUQ}fPLb% -z=E({8Y6@qEOEdhj+~$cp6@QL4$?T -zK}GQ#3U4x13GPh>;1g>27JKkC3tiuj@UL0){iU#{2Qsy})c*KN)0>|r#dVqX2I9?c -zg|GIeI{0cM#oIEcMB%FizNSs#9;=(`!oj`{l=^ya$*y$e9z>aLaewE! -z;U2e53io9*Rs0y;rhh1hTqn;d!nzeZCBD>ke8TEcx+lVG-sd1~HTKm87@(sxb)8;s -z63e#IekXx1C+(YrrfGBX9Q)mzv&Zb_&;X^CKS0Q=Np87W^dzi?uhnss)Ak!T1N_)+ -z&f-#hCvyp3%6Gy+kw+SuHq)seEE`5g*o0<8Bb@+i^cMJ8dVqWrx?y|Lf5Q}S^0kWYhrdRuLH -zID9R=HN0U(s2yA6`bZ(38|ZdYUPA?cHkIJ>W(l9GLxQ&`bSkQ)?Dlq<&zAb};aliE -zD?(ifrIQqqZ-287?i4t0e%_zrX}`v>&0b=_ZtFD++7XVBd{=EE-4zXYgu`6gluLtZ -zbtYQmMvpPNfzsL=;Vo?)C6>kzYF6bxHG>L-Pdw|A-qgu6=bSyyq>sUxIc*{MdHp#ac*R -zfbae1k@$i2KKHgDZW~gPyZY-+;ajh`#17#Mpwz7Wn!O)&Ke(TzNGbKe>sa;CP>aL1AK2wUnn^nA*?oxR5=8~V) -zAYOg)uEXuGbjALfRZ-98u_NDQPp?SdGAez}t`YFjddUp#&yp{MQTcv($b8vR`CdL` -zzJE`T%J-`g`NTXdKEymIdpt_#6Z2ho*!gND%1;*NyX0f{`V0SLuaCxgRQszA+kP7f -z;xL~p?T2j@`($k?{(e>`X=QGI>hE?1UNSPSM#7JEP<|E0B@dfK)Gi|l>5Q1k{m**Ttw1yKZdk>3sfH34hd%iG1XF -zWJ-wlpliR=H`#6+y0pNOP30b=l)!J`8?7UK4_{d^uNbMG^Zx4eO&hqhC@emh$Ok?Z -z?LRLo26%Y;cPU-S&76CebKaA(L}E=oD8c-)E!bSwPxMYjb7ImZ)qnKHCXaTI8)Bt!%+uP*4e?=TI^eg}+Kq9KWXKIVhI>f0eq#z- -zzRX2b*DEKK3Ho}sRS -zT}a|BV@iw5Ccj$_BJYIrCrqwq<{8i@_`MW<3(LLmDm*io#~AkCiMz{jv>(JxY2(?H -zG^wcLqqwSLC9h){)^Uv&S&opbT*o!h2wG`gx=wmDOU*M^M#_3apMOC3B*1-~=DfEm -z_bE)UzntxGCxQs=>DybI|mPHY6rHG$ExYeK3xyIz3$&|7#s-uiW8<}F1amz10 -zFcQWLHV5C-ZXT6B)a;N$^UnYEw>)uX?s!1Giyz5-*Q)b>*8>8sRnXpD4$$6Z-SiC) -z2)h8tr|5vainM&P)viaLL7MYHCI}wJKE*}o)EamUa(@X#xTX|NmpGa>%-CkMl5_42H3$0nz#;n?=lu*z?C4?0bGqWG?#I61`x*LNjq*5b-IA|p0P~!j -zbLBYH|GaD5WSPDP<%~!$zf;a{1@q@pW}?SLD@A{a!(W<9Ss2!GsSy4(hPzgcv$|{W -zz8g1NzJK@PS^C)nLO-W0b96-Mp6EpE6K(>Z2}(Q|-&HqZ9bvr1tARc^1agpEQlv7Jp0_b`Emejfd+8o{;y|okNk!WHh%J -z|N7gwdb1_Fl@G??eK@9cA1YZkd?yf|TurVGsOkKUd|TjZQf_&-l}U1&pG$R+lbvD^E)>r -zrhgEwdH0i?bt$ws13eR;znS~u4hQb$BX&#KO=kw`HacHQ*rofI-`%^_d#1SC0nVfT -zHRP+*WjkiKde6r@p146+mfkIGHp)7xgx=uhYr*roRm?xz@6&-Z)ZfWZiaD^>Q -z;96LJ?{2{#QFw4rE>3uv6`^r~(^W6Auz$aE2@tV*ReW^a@cVBGoy%Ol8pqJTC;B;T -z_gfK1+b}68AL;KF@@LW?J?B{=7scX~mGDQ8;d<`b{S??6WxLr!Q1)ovZ_f83S)ltQ -zFHFnY_XEYzsYS?Q?JulTGi2(1L+7b?@torOZdRG^E;%>Yzl(MYxdWugblxXn3x6H0 -z&I|kK_*IW-y0V2{s8{yU@#{nWh1TH>ihSLF@Uwv73?I{}iEh0tZ@IFx4>q&m)Y}P1 -zFYDlc4$@AO=P4q6PWWrY`MfDwi*vU|SsA9yG(&CLlQEn5zB!B3g#2|#y@>aU3&P&Y -zG|5bZnOy9xY$feu;A@e$vW;YB!++NjZ)FQ$F5< -zb5O_lrrko8wo_vSZ5V83gZ4L>4YRzB;jAa?G0t}mvO(Ozu~uH>8SMkE7G41$li+w!BBm&0C_Z!(}$!H#)R&P~UE*U -z*^lp5-fpFR&D0-oiaixOxxuz&7O;d9s|S_j}b4~JUJP=s6V -z)@>8;w#GVBm8~CDcGo{GTP5*^BlZY61uWkJarg>ug~z~Lea9RF(0}RCN#6-Se5qxs -zeI4IZDeni=sa4IrwLQpfe(wp`i2lSLaRxkyMSpN2wd_YCwMWSP*kZ1&dPCUmm0_pB -z5L~` -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 -z-YeTK`&s*3La&aJ_;pn -zO$2ok?~rW{0Nmml%NEYbMN=KL^UHak_&plB1@&F;*(=^U1$NuSZSHtvBjeudS{`Ku -znr(TE`Kggm&jx5yhUQ-SF@M(X3P`96Ncb0lCt@4hB+M$z8ePu>QBQya$mM!#Jsa+T -z?rM_ps)!v&xbFsQ|7{SCKDbx;4g1ir0qeLYk)lCex9{v#x^5pDnCj?dpPx_cRX#t@ -zsPOsufuT*$vL;@c4j~UI -z-Lt1EWTwqh{7+e3K!5i;`jEiw2Arq(UiO@4ndd&iidIthoF7-zQTLFNyMCcm2ac@a -zA;Dh{p6*|bQ@*HQDEXrPlcrAm4;aEvjC-%-v--!SeD9WgRzF?xS^c+CzGqAM{#=TC -zq7-+qRQ6}3vVSebJynYPuoU-vDefPoxSxKkUu^ZxIqo6xc7G!EQKKT1J{5@J@fB6J}bpp2!@UVVwURWlM -zkvnVdp5qL0_Y4}7QdOF@MYV_sS#1yNwRu%~cD$r#opUp{N%}lBipImbBUx6A>_-d! -z5$J0K`Wo4%yXly&P2$a^iI9_adm72~S?_&jkLSAdpno|NW++6y>>_># -zO-*TBmx+7Ap;HaVPw_oh+;i>FhILmAnzK?HNXYl4EAA=WbNQ_bwSU^C|Saz4qF&`7`eQY|quZ&Ya*WB^wG2-bZ~X -zL%#&dg|+IL*S|^7a((eK$nixG*yymA|{;`dUoMR#9511Ax8E@im(DM97zabRxSe^s= -z4Rt|JG4LC`7(Afc9+&}Nq#4KMJ8HStNN}pEF{0&wdg<{f+VJ!qMNx;3<&fiu8$)m6 -z8CJ@FC2`M*qP+~ml34BrZ^(0l551XEi+{%H6ncT}hZ5ID7|IbKudc%n*o6OCE -zY5O&x<~mrAWNt)?_br6#?eK<4hYo4CW7^v?4cFGI5JnF!982oSl)#ZQl5KHJn8{#R#nM)>Pf6*|F@L0cVtVS -z*d%ml?188B%&qmL@1m#l7}-eeg*ZdfMi18nLIp#UqfY>FGm|y3M{Oz=bwoXWST4;KLLy~~w@_|1a}Ywm*ZVUs>c!04Q0_Gy`Eq@2&+9^;rG=cF -zc5HxFao?|Q7P5Q|I94fjqaeK;g|pK@t%$O*15#}BRehQH%Ld*$L@SAaj!gUv8@g`4csqMuksfu!oB#trL&5kz%BATX&{0_4A^A)H}O`r7BG=`jnm2+&}DDyD8E*D%i<}Kd@21+Y5UfB?|5Oeb1%NFV{U|? -zyz|?-^UlF-Ic*m5dw_4}UqEk7oiKtoF1iP=8 -zhc(yvntv|d?y9u?pPcjiusLEk@bkKH2P8e0&PJqeTx@2s(BJ8O%O|6iIO1M@MCC_sUKJV{thzSZj?rm1M?Qw;k|rF`{7 -z1xw|T>nd~xMHud+iSZ1n^4I2V5%1VI*MEjGjtbb~zPfo#gjDCDVZ=OyYUja>@>ipv -zv@?7bz`a=NWCo;8W`PcI31B<$6TLoQuc=Cr<>nnCauG%8_+K3GZ{X2tX -zOh!za=X%;cIBWCN$xXe7zP3Qd*MnY=D?tKX=nj;_td -zEdmF%SEB}gGQKfbCoJPZ%11hS&*sw4tC17WxaBHGBd4&snIX1J4fFvtNPp(2sKFWm -zie&|fBr|8JB-=75;0l`<0JoWB&(gRz^ppqBlTv=Rx-L-XMJk_;0ysx4^1aW!V$mSR -zI=pEK;V}szCF39RIO5u({VcRcn;?|De=gz#Xi*#6sCU}Xq%Za8A`M!AFd&ela^A7r -zCjj2lvBXV8`1!6^OU9iEKYwq@UXx<>)v#6z6XF|NO6HFeDFN|L_|i!kg8ea(2n$I6 -z5Y{??)r+w3q(EpX#b=0Zt)5$L^Gm#QY5F1UreIy5K2T1tPxw{%&7YaL=~iiV -zL6iC14x(6V_sa9bPUBZYF5xRNfu)Y*oIX0*!G}$J5j#w(Y&@4LbAND$EdV#g--i({ -z(z|<6N&(K>S7U~!4%U0jQ!7s^;2T6rtsVA`HJ-m?Id}99r{AXRxA|HOZ8!d_aGiVg -z;Vllnm}TMxZ-J+5ezw^Fye-QxwZ0-#@%R>@8*AogQOCxjna8tSBNJ6ct5+wgvnWcN -zaBK7mO46XLNdhH$jDKW8U}7Feiut{I7j6II7U#bEh|5Ab=`UB(HReu#qmmx3Nq@VN -zKDs8|Z4=YE^FG+(+<7U65(o~j-nsMsD(^g8vj$&raMx1wbl;wE-isXjn1`Tj4tbz+ -zDMNh$e#*=}1gFf0Tn7VZ<7i^{qP+Fr%s8KsDRM@}x}?3EIDd8B&LzYFJDGP#=jWXH -zvDqmt|N2@}ik!jU)Wi8KD2Ctz4J6NbOCNE4g%e#8E3gyV?19?8982s)N9xOXS6@bR -zi9ZhssjaH&>rkOT3qQ3#PgdpQ8=*hb`I+u&mtxDAPnd)+yOF=YbvR>gi>0X}l~J`D=e#|4KOpEdVSgi(@x8%q6Pr(<>}L%Z&nLg% -zsZLw@39M`;V5}I5&>k2-q#}5wNOMkykzwd*xb7fhS=)&{h3l9jph*;K#W!KQJ(eKfp`F7H$miy*mX>J$Mk;A!G -zuJw}ffXZcQ7JkTWU%{+V-*R+ -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 -z`utD=z%}?;~ -z(GY%AhK~Ul-<4&?L-;%V^}4uY979>`I(+qMllqphw~q3jNbK!lX74bdy`dQHn9~z= -z@a5+6|IdK`Q7);D>s)FCZ}wyP&aXph9QDSDB~z!}T;8cj`?mj0k9k!10{14iL(gwW -zoJg8bdVibs!HBojIU^p>_SKclZPX@p{sC<}_g-expq6by40jy#X@KtJ9?Kfx9PNL| -z%W^adX?vj7W=KQLunlCuvzN!)p!ET57Z2N<#|(Mi-8{Y+Z3oStml)S8W;PP??ehJ` -z_XhoNh1ZktlJj6!@?O1Hr(=7%g7&KSQXTEm^M9U{%%Ow9{O~)oJ}HNim;JW~DmuJ0 -z5`W3gQ<0)jBGm3he7qfH8C1m3gZ14myECahzyBbq|@!_WH?Pl4WZ3qz)1!*;*)s|j|_d;hg8{pX*-@{Ie(8R?~%6D -zW~f*`S1F&XDgUuPvix*j9?mye9z#xflRy-{DeM1Pe> -zLrM^1A&gDKSSq0V;?t}k*1QdCYB0AcwEO&0}Jndne%PwFbdZTwZ< -zah4e$dIECyj)h(QQ;!JY|JPUFanch~_Xj8WbYCoZgxdTi=-Z?vFys-Tn%aJ>{UzU| -z;6JMUlm8dBowum}n}0Q10zd!M9y5Ml5HcS25X!ZWg>&I_{uX;Yw{Mk3y%+7fp}*7T -zLI>&Hq3!hc(D&&rp{uF)-q4&+NMCfM^y*!ldPvCOqAxM-SIu}v6V}SnQ<-Ct+(Ys8 -z@>yBpK&8Z;%{4a50Z+-ORl85^4~aXl;+w}@n8y39NaZcHwL`JP)gz4Nek&O5A~YyMa5^o?jooN03&5_;KIT4fPh -zY*m?%JG2uXDepT-{=nS6UlGtJ?c?i#)7H>azxelP<_{Po(Z=#Z8EZAf8IwCZ1-G$rCmz -zN=Sd&(waKW8ci}?_@9=R)oI2+iv(4esNGNtAE-o$Zv|jHi0@nq<4IAJgM~iUm&`j+ -zT6i_`l%iaE6H=9aWuNXybAAR|y)8-j3GN4YEBOCkl7D3jo?q+8TP&<=WI4f8jP}zf -z^!~Mttbc6-E6_*ve!5q;*HmrU73qH6UM(b%BouC6@j?h!Wfy3)oemItose8;a7ivy -zy-?4oSY6GjA!4r=Tn5##A2Y*VALcTxXt&XW_N|1Bm9Mnm$1!_RooZhVqf6hKY*+2| -zXsz`LJ%6Xh9qT9nbEN#7({8=X+AE$gnFQQJs(lSW%YQdHtDWN$w~3KG3L{$#<*#?f -zN*~kvmB(~^x3$*;#*sc2@P5qcha76!Ys4G~tACKQM$7;`+`op95j);qhn8=?pKRbb -zz$9*^5_20=Vbijc_fsWLWr<;54Ks3$uvkguOn)qCt@CheMd>RO%^tXa*W;|*l5F&F -zo8CVMj4JNu-ox-0?_$4{=;f;=TBHw4Tnx{tAHw=NS-wfAeAS?|8I)Tn*IFLe`+k$~ -zRJ(J;y1Zz{3x$M5*P -zHNp?Pr^d7AHA4yA1C4WW!olv&UXKxbeXQ}qjF!hck;0VDEpO=*9 -zpPD!ZXiVQveT#i7e7CRgeGumuRs|A2JHKTQeTLch%z(OgB~1WZK%~DIFU{mhD&Wf?xE& -zTRMNdji2JFb6h;l*Hnmqt78cEMVvVH&;-^4q+k!M!g5+mOec<)s!@q!l(KOZ)F~U+ -z!vAi1>Guywy=+t1)G3)+Y{4w!O=BJ>($WKQ(_@>*f5I(uyz7?vvx=po9_N;E?3DlI -zA)#kwnI6V%=)-TxctPI0FY@!bG*9s=w3L4yL<`qW+xdlYv-_WJ8%jsJMcYWPp+&4B -z{IZJNmw%h!JKJ;PtQH#V&v|hdG^*JV!H2+go3)yVJV(Tu)vd^DdgOylCP3^)@v@X4 -z#fI0o_5Re;0{)|u390f!8n!upv$kl4D}78QeKSuFNI9R0kbXSeJxk38v<*bO`MG~B -zI|9vgnb4pSwi@45?d9mn>c3;_PUg~R@7U$B3}q6gy67;J=Y5x=jAY?5!tgdi%*Q8R -zx|-At-6ivFdJ4Za(c;#so}sq2-Dr9IeVSA4%Yd%q(m>by*45ZZE17QrR1Dc=pv(Zb -ztG1b{wz(YIRKpxEL+ERJ5dZR_C6a#vws4AOFNfNyXkk6SSD=Liz-_#*TeM-9fl~a0 -zF(D3sa0{11JDTwQiqN5cQ|(?frhWw}qz -zd532-u~)*m?r(r!u}V;ybA~^}(@Vx(=r6~g^K*#vw -zHLtNqYbpJWSf19AK1eTg!uTlKaetD(BjGnxrN`H2Dxt@D2FGW^pqEMf`6$O^S{!CP9mO(Yqx(%9SRqYi&|$$ -zJ4D`{O#%x1QAQd)+)|H9R?}p=2KVnZ0@px`ponX58~qY%;680bs84}BW8wR0D);up -z?SZ~D+XGNlgev6Q@!tCCHo=pw@mERF_xA+h_p>2GhBKCDIl)3&&t`&d0_KgtlBh~mdHPBXY -zX!w;|d_t1!f*N}C{%zvjJw|?}#^_6G*}OOwC1rD)X^=jkCEdK(E!)If>Y#CZGnKw$ -zkUKkQ?rx?oA28c0Fz*ML2La}}9Ok7p-9Z)toVgG>g-w^&c3QEASKbaJA-scZ&6MFP$SNmhV&&aVp -zV>0}WW!3RMzfIbVG^-eh~!s3 -zgz;ypd$D9L(7FV)52}8W4*ipL&ve!GOCFYYyL=C;(IZ35Fa8O7WQ{JWn{geow#7ki -zW#Tew_X2;V*4W?nn9gy-7wox6DPA2P@Zs0eV8nH@-G=R`C5t`+TS03v1L)fPPLEnGkJt%*sRsDEcLQnzTn+0S`XX -zY{Xo%F^GsQyE%ZY -z@*Co-@5EmD2y^L?Oo4u#hi`AjUo^CzTbw%vZsh)Xj1?>&6JBWFMQh<)qXMum+CR_7 -z?0J8vUyjt)OR;&Re{PZq`HhnRRyT}oE57jn4YFVDo9Aa8^msTQ_N!%MG0GW0%AoOs -zW=(L`CG0RkYX>D`Cigwoq`cdCoI;gpTmz_ymb+}r&l)|ci%X~PZMZgjR{SKGuZL1_ -zU(WR-1reP~*#E*0u)s$?3uB+k$No1>k(z&bNYDNthWF)966l+z-(<`=CAd6g`nNHY -z+NMJt*=9XMJ6%{GDcK(+9a)w-Nb!sJShExr_F?@@%)OwG`nC(cgfKM)y8+)J8qj3i?%!VUd9Oe6n@=z!{@fkcVDAqUf_Cj#M*zC -zZWq49EEB)|uu+8Hc0wr$Dvsu-qL;58LRM@Sx^^w}uF=&O7$RR_&}*2F -z_aP{0=yg#3C8=B1fiFO5HL)Rp?|ypR!H;s}e1e`m{alaiU6h~q*vm&V`|=dCSHSp- -z$H(n!0AI>y^BT#b9$BOVa4D2V|<6og*c0ZxA_vLHf{2mHEEf#j(xDIhBd=Zt2a`^n4P;REd#7IUwYEA=Ms){x1{# -zH`Zd_-(ig$#d%Ra&WrMKZmW-TM-UQnTOZX?(*${Asi0l1aMG|%Wv|}9?C*a%a#1Fc -zR0A*1xsQy7enXYUEIN@`F9o9&ry3Bc*MOWzBvpJEI8NPaIJoyq;%h3%uIw#RE^vaKq~bm3WHB}k3^`X{#w8HR$9 -zgf-5%J{*_jH0rreJ<2U?Ci%Yb$vV$LolCIJ0KUT-#2&ye{WQLt4k&-(_xCj7Q?x&P9XMT^qky63X3W0 -zP^CB8C8JrPaF?Fb7(tGLy|~I_uW}Xo+kUNcNbrli5VVSeea9B7{X+`Bzx7eQYPKl1 -z;(BQzR$E)xYfBrk7%tu(Py&PL7shl3Xh&+?aZrB-ZRS!#SQFphc|CP)&z-7Yb=MTN -zQm;e;$I~F0&TCD?S{LTn7jKg#m9??GQ3(UXld#qpUuyhuP-lMz_pm&U*ZEkNHR#&< -zJJF_FrQN+J?_S1hp*8!jcX)#2IG>*&|MoavkV~K-Z^KKNe7y!-e2373=U!J#^!1`r -zJB|DO30+v{c#`|D6t7;~?i`m`m)7QlZz-Uyx^eGk#H)qUX{W_&2$0}%E#lmdg|_bD -zYjF~+oS$%;1UY|lH^6#B6W{d*=<$t*o2Zv$jPJPO3dtJC!+KkmMSY!rtHe71+eKMk -zq(c|cKk7o(SI9}_xFw!$X(m<#v!Vl@TChQT|67PSs)v9$G;hDgu&jXg_?$Zpe -zCv_Ck=g{}D9KJ>N=xfwgMODxieaY0&#-6l@bQ+F~b6$P07S7ikdJOl)XJF1xs>qxm -zmVadVk{tKaiMf==97&V=3?X|`&6`}4_p$EI6EY$quU1CHp_k6sA@Gt~j7VTXOlpcYrErLKX0f -z -zH6#i8Pem?|!gWB~xo>Wa!>F{Zjk~R#hcgzA@I)RSnu)s5_;xyURB3)e>$W(ixwrZb -z^0j{*jvWiBn_#EoW~<;epll`D^2w-6)Ae%RaaK^?@7qvsA@UJ)mG~Zo-M7^q7P{Gl -z_iGgXdLnA6w^`{-IMz2z`o5Z@DVIgB7_rGubgXMdGQ{#A_o|4YNETvQG6XRQMcN?N -z#`7Qq6qW_+Zb&IYD5nEPHY9YspOv9MYx{qReJ_mY=k2U8q`C62bhDg9aB -zeZJkxz4^FSLs$QJhtR#T)3F-N9oAAN=EB_nq%Jehj!XLZy`^Tv+g)SJ_x>G1hS4%~ -zh87nJMl;8cml{o8O3;5$ztO^&^mt6jFLsD~6z>3T1C#DTi-dHyUZi{Usx9H2I|P4z -zZX46(K7K|Ol8--z`?hSXO4Rz`dIZWZz_UL;iR&fT^HX1SPSE^Ex{&7Q+8F!<l!seQRCe+A-$EA^FS_sJ`SF;1q0->1 -zy{x0e71uFQipp+Y8a>CB&1s27{(^tJM|b!CxgFBS^1mP#_-sWkuzK&lEbm>kH^nVs -zsJ|TDqS@RMhK;ygYcs?13Ndb}AKNPQW4Zhvz{t@sL7IkB&Ix|DDKr`38sXiVA9Py6cLjFri)#1odVgqf{aKELUuvWVOL+2D>Pkdg6zYu9$j<_aoW_*8PCg_Dc -zub|3G###>Fc`aADwVv5PCq$ZNdwrUN2jhHdJH^?Aaxg8*uSO4=el_Yk=jwJ!KTzfm -z6H$rtF~G`4d!xkdAERNX;}`p{+&`TmebC{!TXu>yimUS5NO9Mf^IuP74D^QW=EFID -zuj4!A8-n?fps}MS%*>bg`Hg?tHS1y~K}=QnZv8yU;3Ne$tr7HW+Q)6dqiz+}yEcY5 -z#TR37IP*vIw?qylJtp1@DKLi^%U>Js&D(K@`&51RoGRz1gRcSf!rkIET=O$yr=Y9R -zu1H1^)B+{_5yF<5V_}X85#+FFe3aDXNBoqXLeFl{(3;UgqsH8HhM<32=I#`FN&Pgy -z-1pmjNFQCfyF-<`JB;s7<`B$NUpy>FDl`*3HS*a5J01CKyw`7tn;b7!_&Cppybc`C -z#%7iYPJ#8g+J~OU1EeE3nnZ&AH#f7w#umn{WNyU!H2}ZT>mBEZ_21mWQey_mLg;$P -z6KRilBff}VZN0+38-0Jw2TSHvBGe!^u< -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 -z#Bt*Y&HAPgd%u~AIrkzCx82l5rxPc= -zgX^h?^tMH?$MPr(pzycg>9`}QFPeJ7-Od4@@6a^gad7&Imdet;g>3=E_zEsThY*p@ -zY(H-dand_HflB(6^Mq`FkCYSe5`=&1qp2tAsYA0Y-6Lr@W4tC#n1Cj50Ls_@<$L7& -zR~q1x6)aNEy=0{qS6(NFjmZ0@{HUZS0@O>LJ13%GdfW(ddy@j*=Z^r7kt5ei>7Ue2 -zm>81xvQB<0`_?5j^p1TS#OnoJ#ARaNk2Fl(0=;O%SF_Ci`NaN#nAv;z{S1FI`$MR4 -z{&HM5vH2wEwQq;`6&UY{Ex<4D&xJKIWt0zS`u0%(sRJNghiPp-FQiTN!J5zI0+Rq| -zOOl)pxEs?+n|C6aG8#_XyO%KhE`1~z3WstmFe0VRtCFdsN2U(VPTd_=9G=BZd!$ci -zPek<%aE}GwT<&d3I{XOdyt{vOk7Hl%yo!A}%=v-bi0Eo+;LYoy)79$7mMwLMNd_g30jSkq2DZ)agmJ6kI4Ec^%U@Y?Z(yd816?A#-0 -z={~wd(%UgAupfNkS}dqqx{wv=0M`gUj}?_g5*OkAYxYPz7IQ4>yOMuCbq=#T7jqjz -z^9ZlqIl%0$#Z@l}4cUxJik%A~qJMJ#%Jk9!fyWEkbJb&Oa#I -zZ6ahf^5RS8m?T;iz*q0_JXA6w@SEj4{hSJzZ3ZC5#A?QVv_%;a+;d3p5vv~gl2bde -zMh38wp?SsD0ak2X$f|!fZr`xfo9l^1&tTc8PAr%?t7{R|e>;IZ-64u|$tw00{tA7W#?OJp -z{6(y`2k6D5GG^G13coEE${v{f^f+=4BD@EY_jw;+^j4XEF;KIXJ0m>H5so4Qd96f+Kb+Z -zHwNfUC-kPv`Fb9k}p_J8^+&``erhc^mn>l)0QO;;wdQnU&1|;GFdWmoAgMZPrK6WGPP(@fPC`xO3?YY7vAYY@nW& -zRKsvP3|Zn8Qm9x7wbw*=*|JuMeqTqC61bhtPfzaIku=lg;@K&N?c) -z?%%=c-HT)Ni8qWx5zjOQtq}b_HVLp&`*N|rXTmqKSBTSQ7Tmp4yKYse(vKYqP8bQ>!-l2Z(rlO?Kf0! -z`l&u>eH6Cd?hSBnGP3nvXkFu;Z=OdRrMiRDK>PnC-+$^j2Wr@eDHFWb_EoTEuAZDB -z7>cN+{Ff$oHCWr1vdEvZ4JgyPAX(?=i#MP*`@*i3EQkL6=BG5o3aOXo+XvvbYsw6K -zf%kvA4t4whSM!lN|3rU4v#*=OtbfNd?%K&;LrV{V2*I?nnNHrq;~rA)tCrdTr3%-< -zDTZn@wD$BSlQVgP!4E%fEuMa+NxchRTeo2L7rY%`QS1t}Ri212K1ZbB$S -zb5rXh{A|^^6+A+|iDx!-zb^_tSIPWc>?UXdzg9gh8_SY@QZ}b2?||Onxt$I2QWbBW -z0j;2%26xCD1}DlivFH5!B@y==hRW&H$y4ge<_dseUwtXF<`?v#S;hI5&ex4`I@f<4 -zU3-3`@9w+q`pljc8_qAzpQmHV{@$V<@%GPOpqKL}C4auNaQ#ZwfBnU*11+4TTax); -zT__jQNaownr%>6v7<&mRqltC>DmFZQT4)lnzYKe`t}cY-PYc%7ENmFkXu3y3KpB{htpX@%E+Y@1KFUjtQ&~yl0+@Xvjxe$)N0kOzB -z9DO4XmCTo8dx#sF>}N0+Jcd|bf__e$7Ce<$b&FVbAFQSExlqXIOAz7JA-q5}rIDu` -z4);JXcqsKOLTvwGlyE3tf;vI8wbPJ9?>GRZlG4ai5Xv2-4*CL6ZU!hpt}B1{LOoTb -z%=x~(!pE7FhTZm3miJt39z`+a~p8|P~E -zd>y~CkDpYU2!a9pXT#&}+1YE6x*P7B>9X~%zo&%;P(K|+&) -zFG^#Qh}}gRXq&YJMsEYeB^;uPc}bK<){wu;PwscZ9tWQP6X1>i6nNv00MEe_!}}b+ -zR7+Wh%h!U#3u$!nO<0qaSBfxo~DLe--rVfHSur|a{@&t9Z5Oe+@fh~2#arbw^|6xyI`9-XQ -zbJYvWSHc~|wR3DZC)(^4B{q~P_5L~G?LrT}0r&2U&k{#VOo36o&CeSVGVu)^(&X -zZ)F9K)+%^3hKhryFl*j2mT5hf6b5HOsU~92t73|lwTul%ZA)N0=Rtpl7ZwLkW~l~I -zYEGrpkSukwt5jIP0-9qXl;ZhPT54)^6e+BL_5h!>=Zp4mv?-s6&Ec`)iYkngT`9A6FzQ3 -z`?Os3?JE@fyzl>$K0lDC@&Ls=J@F~?`^=}z -z@4k1d#e{9AU2a~K*}Lyh*XrJ>(#9_ -z^YkGj<+WCy$-~124RO3F{rRLfR2Wz(q`n7S5eCoR*@7N05vN4e;CXgRI1iOogtu}br{qp -z0dW$s))aKq7w7u!7hS|sbdD -z{L#s$zOtMyz_P+$)Bvo$TT`TP@HF|wuc&_UdUp(0+wg7H`#|YNt@EyA_e6h(4SV4g -zd}P0dmTv&$fChm6kJiEx>m{XI?=FHB3-v@Tc?S*Ez!;*`L&u0d)xp_f5Z|w9hIZ3$ -zEcZ5|E@V)qbx|AN3@}Z!2CE3xzeSuCobp%V`L)SE4`HmFE+tnGu}_MyPf%;R2i7Cb -zM3aQ$=R2!pTr(M4(@~<>Kq*p%c7y{C4Q1^YwtFP+tztP4 -zxgZJd-$sd}7n^CYZtz7sEM#roar;?1YroKmDVQty8y0f$JChOAVbg!`yvC4_Rl_)c -zkE{6Z#`+8Q3tvmv2gN0ygMAPd^OZQB5!2u{Z*S$)2A9u?c+lsvpjR*4@4T}JdO{;s -zd=(3OmZsl{WmF+=rIjpmCztGFXI@GzFNGgOq -z!Fp8IqjGExj{bl4OI?58v_n_nDUs(Gua!ai6tx-Q?15Ru9JGWnRe_$G!Ul;O)-^|f -zHU1M}jsH|wU-=jM)&2>vZu}SeH4>J?clhpp@eU#AM$}S-uc$0dYjNRm)6oOD9m-{D -zz9F7O+z(r-l)faH(QFfTRsN)8*W4fvTV$TzJ{P5#k+Zg{7kPh-c5*pe1@xB{(?}t? -zlJzGqW_I#YR-89a#~s(u^8MAW#c`-jQY$Hiw`B48N -zpg8)?t03J6=?8fF1#B?yiFYrl^H^;+>m_p~d`YYA76@Ghp+ffC5V|s%Au-RR=%Xm= -zA$@W92F7QS3UTYu{dK?dMzo5Fy^eZ@{C0*t#FEkm`JaCrTRz-Q7Sy?1zC&2_95#b? -z66Eh>qiy)kg*<;F=kWOnz8O-2?-X|AY}Nx5AIHivjigXNAMQiAS30YwBw!_-)pK+ie-?gEsoxDqfgc~IS3`^ -zv;KLrSW15@bgtwfOY4V|YHAaVeP)T-w2$@8>t!}MlcBVlTUTn#!)`iNBTLO+#-h?c -z4fpHwu;7DPJ@fU5kyQ<#Lf{@!y>KTaVFam0J3EKr%*IKIRr4;zJg>-$L7uQ{E^LGx -z4=`6r+Pg#O*DjHF1kjabzK&Cu;7+rB_RPz;E!BT$!I}l%VF_S|GgmPoopu>RD`0eh -zf1y#w!@R>zj1=_92iXkZnDuAsb{9Vxym&H1kg5(lDOP>2j%N>^{dO1Bi}mWm(P?OJ -zwd*oA8|WweHk{k}YkSsZY%slM@_f>cwrOTviuRnND|m0m@VIrprQ4mCp&v_aS$bFO -zbCiFlF0^#(yn;RyEkcOfc|7R0H`DX5IQQ{98Z^83Ip1e2XBdAPWhpCZS1`Ap+U$qL -zp2r=CH#4_8PlZi9mxQ`816J=Uil;`TJLp-J9Zu)80GWYUK^!qYOX`n0aOX?70xL(n -zU?gOLF$}}KUr!vk!>u_D?Wg!T)K!fLx4VBvZ)@ShQa7Dr?Sfx`*o5F0aDU-YJ3A&s -z+BazAfZ~T;b3pM?x-O+|RD6DV8ONs0za?NlHfBy8Ln6sc(IA;IC}qeo()9l%u2k&{ -zF!WJkgPN+Vr21hMUMSM9^iSa$jD-uJA3h(Et^2Sayhpw%muZ|!=B?2sSoyFcH(Gz? -z=XJ(uWsG<>{~suGBaU(PX&g_<3(VD+2*01>-T=JZR>I%#*Hbbma$(ex@iE4=A=|q4 -zGBP;t%~)oA&|fZ|nOw0tRYuQnoh#1^7{FQZ9IP&kUseA7LAie)mztxY -zEjan3c=EgNkBQ>`;Fc1rch2rgz2<+ip1?KQW%EU@bF9isQLmNrC5f;xEb3@q)8G#=(3Y -ztht?{MBDeh=q2)QDF`OK98t;6qyam3>{1{s;? -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 -zL>t^a)Mfry%b53Rct_aNGV8R=9H`6w -zv6i#nh#5(YSGr#7ntfk^zck;oL&5NqA{d}9bG-w@dVt|RtwqYiPz584>&<|Fx=u#B -zq<{(U!$^Qu0=;^I)JDwHoH%pNmKGv2|eW3 -zlQzj7Ib82eD6y1+{O45^%ZJtbJY{pluBy`UeIE06l_QynNs>7M{-#VInfdTHwS{E9 -z0)H*dBy(~zS)-Qw)<|;cnxN)?U!&+{HmTABaMp)Qe!}X#hH;lrZ;02s2KKFgWOYf7 -zq+qwT0WF>i0u`==NXv3RNj}XyVbi!|hFacINb-Fjznf%{)zFifAzed)p;X96FiKIX -zL}B?;>B%%uQ9|Zk{*V>`_RX}~O0Fe=5`*B%KYe!#{R(NhYXoVTUPYFF(Nkh*$Rz{YHpXFf{f!<;(NxBP?sEBl|xemNCueh_$1nU7i< -zg?Sy-HVn8BpifM>H&ZS(&xtFh9H7HUTSWl)8K7J2aw+-!xEzpwD%e~`Sd_asLCiIh -z^eDg5YKR@gJ4Q1EqeH{=m1r&@k -zu8`NU)thA8+>haZlo-cv`(bs5mGvwy%~m$gW4AAre1*5Noy61eW>2jAX{=?Q&Mfhg -zFun#GUu^Z_hqZu;qw=iU!93QNFul|&{Pp$t$C6y)CA!#OrbK-`q}O_l&P1CU^>h;T -ztwawd(oDcFufCt2b-H&v#(r4|AEf%Xnv9EZ4STjp!lm$!I|E@o3j+zmK -zr|RmY%)bx7nGAhe#-hy)qq{3_nM+&vGAba}&R0I>siPq>E$iw2YV%@^URUY8KE) -zT(y#eYKpB0vWVuh8TTH`wB -z1(OPLYmaDA5>vzU2a(Zme)lG})LQg(vH?=-Aoar;y@}^p$}b=#4qW%0k>13fT1!5i -z{0vg+VTJsey*&VL4e<6V`}*hb)(GX7AKsgIgQYxw2q{MbPck`%enNlckz-%|tdMma -z46oJ#u^6<87B8Ltjh0PexUOBoRx?v -zB_0!lm;3j#LT)gw4reY=XB6<@@)oXtH?q`<)g_6YfECt)yW+JNj%>~tjuH|%Oz&rF -z%#gh_vGG^aSx3Kvb@UjlqobU4#G@a!oF?e}$07eopy8kJ#C;eXCql?jOSd?-`>@U? -z5PQOtS_PwJ)&d1&Pk6%B>w}WCbsE|OKH-Vri2Tl4)rk=J?&pnDfvLl`i1-_S=fzNi -zb9Rh6er!2!GHQ$9O@0skdJ6jW2d!KAqt>lHt#$kUq;>nBarcz#8{k;Mx1Yyq6F%7M -zoW9x -zbni4b!FbM%5f6T7bIWdqvdSnPUvhT-`b}}nadWTQ(5_SXcLmzhjBvNU3R~nUhNtv)%gixx6{o77LGU68A_L40e -zXXe|%h@J=uZx161B24&}U{T8uI($nr`a|HH-YpzQp81JdE*uF@;&IjK?^b -zv0?0wRe@w1+u35<>6cerK)YI7CUS+M5o=jCRC_lA~J_U}N#{7EY)7*HshvvSgy_U*o^S -z|CoQ9{}un=0)7L3IPwr#9vJRm(`!6;I!|rkcX}zQ%xR|$PT6S8fKzsrD=+5XZg$Qp -zJpcK(!s51m&HuK*4#1@EI{ -zR6*!WB4WKV+3prjH}Dx0v$C1_v}I#XO{vx7qglr|nKbZ!hS!ftaINn5c{~U7e0(aw -zHEa9xoE>m=jzZpBeQS<$@EPi>&^b?Q<>G# -zb&*U@3(1^+)k4pS^CL-SM2(rUDnM!W;oz -ztVTj=cHRj1#hj2T?5##_<+Nip(AOwW$)=|u?_Cgo!1}8>DE=4QEwuut;p(DUu~;6S4%Yy6`5qit(RRaIQ|;D$cTFbdPexRuLO<7t;j6SmZl3 -zo4n#gCilwyI<^WsZt=y*1$r7^+$!$ucMoc(bF0u1+YM*`0(K4si0Rk{^ZTC@x90Df -zv6g**0P!B6aP|VF^8!#j10FrSQ@0lD>GAZ378b{i`0vIQ6XW_dcU)z?TT=95e&(#L -z;+{#-?TD<~Ayr469p3@~_+mN4sIHxKt#mgM8%gR(Zd!sUZVSTy22EOp= -zIFHkzE}tG%js~oBRm^5M6Vhh;bZo;^vWb&omXeZ3FfAFGVT|9^^H>BLyKN^7hFPjT -z2Vwd;;KKMjqI}jmH-?@C^W%5bRuR*a&$SOmQPqc@FEOS!Y~?W}aBL*fBg5EOd~9TY -z;*5yQQY^fH?lfIh;ZHxT+7pN@B%-7%SXZR+pX -zD&nTYx5mpV*PS`WXYdrO+$Uo7alO-fwsN|#hm^qgkH)#4>UNd;f0@Mr4|#MI -zqjWoPgByXa?UA6Q_1m~v5QFRftsIwsN69##kv6ipCw@Ijo`$#I#PO{}&&Lot9oABQ -zKmKAXKVxu(WvxYQb+w@s*w`?FIy5WKI~nqj8tak#I#Qm<|L3fmfC9n0fg|C3%~?0b -zA|8D9#8$4KgXc?%Vvml2RrRfy1!w+GRkV(MS>}mEIRI1q-IVOZ`)OFcH3V_7#B{yTR&Odh>BV~7?e6Cw -zti)1xKf8A#F8(ToQ8?d`NSFou$m?6hy$6= -zbPQc!#X>p9KgC)z%k;UHp|`Prd&f)I9e0_IK28kX%SW~l5mV=TvEq0;`Mf*aJmDvu -zZsU4{OJRl;Hs;5x-UtjK-JTZGaR#VEe+(mbJEQ;&!eeJ~z6AGHuXSh4p+(;E()K0W -z_hV=3TZ1!}V#JQ9+S{vQncxLzMgV -zpmN4G&Z{p49BHuicD(A1wN|x_-!GZOj^xLz)iC%w^pU!&v@_;d?Z2@Uo|9}Op*C6Q -zKaGXD+L=7@PQc1@(ywY&&_pvdG#OWM;)0k;GwE`D0O~+H)vU3I&0p5K5Y7)LN8&lB -z#uR32bWuJ>;W?)`W%~1fIRT#2iI5BLf^D3Z;&ORUR6OV(>LBVm%6|>L -z%P7~q^y(Sg1ic#4Ij!0qdDj!SB)84+jbY3MyoIy=DKie=d1ZWJp3m9l#B@&&hwpPS -zPFK`AH5Q*!BMZ(cdpa)@VU*O{2eQ_@*fdzZl?-B&V3an0(ayyJUh70yZJz;N_-^_T -z@Lu^}g|}-Eye6aQ3AqW{nTBiY(X4TLtc;XWTjnsMoYz!ZCrlu=%3sR=gOSKW*dwyq3bL(JnA+Kw#ES -z8>dwT<0Q_L?cxl8Gb%|k7OPX~f?wN0Y(4TboizRKN#mW%eJ;Eg<>8e+E4&vK!OL;W -zYuk8S)ai-a2|CZbSbZ -zW;~EJ-c(D`mzhirDlL*LfCEg)BMF|0sQDaH@P0Ai+|y^Rzo-{7iQ)553U!hje3ziN -z7}Gy3Yt%?V)P-|(xyItV58u)HZ>nmOslE(>S?TyP;8y$R -zKGh-0_Mh_9Oi?a#_e65Rip&pFCwuf;4nQE97&?Vufdq8&{j6# -zlTPxLDF7v1%kJZkLJe5R$r&%xAe^&tvnR;!?w171lxUFO-80*NdJ8LY4@t=y^d9wp -z6<8nPyl(Pc4t1|rFO-m;2s*lKW4BiT|AO;=3bg-E7TqL)`T=xhs6Ui7n(?`0<<0#! -zXA_@LqaG9nPy_yG4x%6YPz`14qlpoLVF9yyg -zYy2{;43IS1AFn1s|C$m-!sp9LFpy2817`=a_K|_gWJo2BH3rZV+qt}J0qG=W=nQJ= -zXV410LK;mbSllQ68FZMQzXv*eJJ%Z?Y@0U<_|-DnYrryuw-LJ6Qg5X0{W9!-;jLzD -z=lX+IqEkhy2iqF1SIeEM-8@`xG0-|5Zx~U-v$JU4cE#1z4<@r5C^2lOd -zmfCPW-1XH%B_?m-_DZ78<=aJ_?`dAXcI9^Ni^n$JERNd@DVWNsPw(COMcc()DAh%- -z;z%(s-_Gr5OrT7UMLLy>Oqw;1+gS-*(35B>Ji| -z=3JI{$pL;}+D+eZ#*Ke}hx`2pns=PD1?l=rOY?HPc7GZwS>-{?W(ZS(!f -zvO!o~^IpTc=KYP``%eUH>R(t*J5`)F4$H&axz4X`2w0ZJ&|WAcp{0ji@gbJ4*ss|w -zqnM1chMoGI%uZVPIC^3`k0oeAn<e7L2bU3^dJ;n5^ -zgm;s2Nc*=|n1+6hu`Z{NtT)_K_GDN`lu1eX9Vm=;!k!J~(PGGfQOHnJEW)Wh8(Jh| -z2(_^7JWV=`!IGy*dH>xplNoKgUzd1XRGf>qowE|P8WH=VJXB~aBBhTSwy0|ioR@}P -zQ%VWbBJgK_t>e&JI{7)qmWH_%czKE;c>nn>?=SY(-TyG1efM^OedNEkb9n;uaSj~2 -zC>L;KR0kk`0`;DScrx@t8^;5!hB5AF+|Rr!Vrtl*Rz&`6q~-j0PI~kCiPJ02N&lP$ -zDDgRP03|+QdWnQy>xt -z|GOZ)*-a<9H+`a;PW6yun~48Sank2luWE)T{d?aQ=^wCkaYvJWj`M+L8nsDdjP^L4 -z{8@{VY0%F!(?NYv^WND=Ool~dPTfdOJu>5eEjfRQ??*$ur+H%6ACI#}(0&wgS9juV -zt%@8ta8lv}?WDx3=!+!rhUSsyH-A*{M)mH*zqRfJf!}|@??2%00Q`LnfB%HPzr)`r -zP=Zq#SmMKiH=sEZ?`l2t&sul$Tj;~R`DM*RuOwg5x|;v0&2N4m{$7V~-_$%bQsO0l -ztp~=SJMkW~#o>6b_cGB1L4saYPiJpDS0my*YoKOGsr0awO_Z_k_-#hv -z%?A1ij*@n@*XoF+;T1nY$j3dR<*6zU -zO(h`(5pgI1;8};DsW9~bqr^TBRi$wcm2cr{@wt{3wZMIL!U#SYTL_dUMhfbJJ%Dk; -z=E1LB!R5Jg2+EKv;R{%kb3W8^i8--F6xQUN{m!$s5NrD)K=w~>Z(QnsiTi}JXaAi= -z!|~EknEHvvBhc`%rjb?(eVOwK>q`Y2Q{IKtnPrPxGXq -z_9Viv#9vR&Bh;`nAGzFrRI3GaWQL!&QjyI{)_N4-mr@eUi_GVx#+{c|XI@%i$MSix -z*}Sy!d9nGtjFVwr?ETI&!&$$jRo;HI`VtN$y98!|YvDyD-kRjLR_nA@OY9o&DyS`3 -z1+tW11+v6q7(CtPp8;6&9WCWUZ9;~#eNjJZn#`|16-J|V!3Y?Cfp?hS9zFt3s#u@h -zg4k~*E-aC2a`3f?g=}to16uu1s -z&Nfc3qRty&W20OVZ-C#7k1Hwq<)r%yzTIE&?S9X<8X4i-cj(Yo8^*BnndtK%#^|4b -zMthBsN`Ne*XVzDLkzk2g+Is6hNuaEX_3c-zZ=GtOd^mf5gyE!4rW<0*m5l3H#Ow`Z -zv|=ThLw{k>u|zh}8}m`VgW|G@5u7Sg@?Q?%_u2GU -zVy_xykoWR|6g?m4o#Fa2nq_umDf(3s88%fpjYJi`N)%Rqzx^TSUsZPY0Icd*VoH&4 -z>m6ZYAA`1qGMOn;DG;IsQX|ynpG5-8tN3PrDt_v3@OQ*ZMXF7P>wb#2NT!+!&OZ=UW~fdp(hB-I+G-j8bU-%QDEp5N -zCoyKjl>L!x7HxWFCU}a!=hfj -zB+evQ57=`H)9Hnw5%K~4-vz&F#`BSoQu*O#JRc2zX-6hSIPe -z7E5V5yzkZQ6ZUB+ojp%33!uapeoNW{I%z8bs_tIEMmO^l?p!#*{pVJfbgFHC0fnSW -z;B=Wgpy7GCqy$eJ;Kp0gPj*U0jYQP352|fyIXwG_h+>K{16KlMKvfxNe}$TV@$cC` -zfWF=hE#31s&A#_F&3~tV1L`a&?Cw2CymPt>#_nh~r|-ku%w%(G0>^b^!R+Gv4L!Th -z{Eudr4l%o5Dw^HAoy1?B=epZ}DbznE)79R@bY@S1lvviXV-b?~GyDO3`vtboQO7~d -zvpo$?z(M!pm7e=?JQdHVvIv)0^U}SEZvbA5zh`u?|Z%=<#8t~|U#CP!Zg?G#qbPSnb_*mH_l+9V&nB|Qa -zr^JrJajJ91X{=|QChib@8Vh|otf0T!6mQ;mpV!7=8|8YyXst>aRvON3Wxe{LqlniJ -z&YnTKrBikc?c-?L4z90;HnqqVqOGvk*U^+6ULQ9G2xSc2Vol-~j2dpU1vKaUkp7!S$&*T)6(erQ+Igpt5?^r1O2@ -zIy@9i_B3I0@~&fl1H#){?5_11r>&b*T(72dhEy};TIc1y=9U}hl)Kq2H*Sb>pKZMU -z9^Mz*A^}YF?9ZgycjNesWmsH|q -zi%87r+ZweU`zD_u$Dm!!)2`{keV6YL_f`{C>cqAk-2NwjtbHHrBOzBiYd1T0m5O$3 -zVol#D(qZnsc9y?7Or)bb>w`MHF+82t>F8aS0xuk#T+DFpa)hrqp0@<@n(MrIZ{EuBSr4(GHzjov -zbzJl3MG)#aS?x8TadJA8iU*?PD=J?z_#P!Es-x+D57e+!-qD-b4cP2-5`ok%NX?P3 -z^h&fh@d8V&*7N7z-fwXjIUIpH!*e$NcB(fo$nr#dyGM3#J6Fu}FQk3+BD$8|waiyq -zmp?DDAHUz>sUuNVCvYt0E&0ATue=~{sqD?u3i1{i-aMVI<6&$0Vz&@)sJOndyi{-&{d-5=PuyX8{>+wl3cOHR=e0K~*~#Z&t_kf)CD31J&*1Gz -z2RZjdSz{+(TfA(5l|@^vw_+0cpZKO2zEk+~sI1F-lgQ_f-RZ<3q}XqxAaC4GH*R8o -zLEgb&Z`jH8#^xH$I{HYMYkWaZTBSgX;RyT5eDe!BdWEt)HlN9zg}4=UU2%O++{t5B -z_9hzY?kO!Jb7@LPS&L04>KF~trY-PpL3*psBAuv{^o)Ok?(g?s2mIKB%Y28yES8mo -zN-{F!sF1UYS(*QAnePjD&k8vv`~{qU^Je-^E^E%zw&~{Z4QHFA -ztAhYdsX00o^b!9#^qG1%3sQj!;%NB>+k()CQuCOWJ5hq%a!D!iUqK)7pA#>^7^nX8 -z=p%8(e-5NQlPaG@oIaMfmBZIl#G5scrm6Cjn_FF;X8qn=R;J-Nz^{(|e?c$P=DwZM -z+cZDPC4Lv{EH4XS6sY0AR|hqJEM3m(hIR7qs!0l@qID*^$7q=K_aTX~Y$jd>YGQ;O9TfZ26F`*7KJXt5I$B-3tEA!fgIOtA)lASZY&S(HE -zRgSvSL6J)lv)xYOWr!!Q4@TvMYVTa5PQD#=z7r%QrQkfu8dFf`SH->h3tm$k(nVg34znNdNM3>Q4U^DvC-NI*CU7gpLS%?&- -zi?jc62hTD4Ay~1@v)(k`XL0|FcRdmKqDr@?ajb_NDXu)su_*Vh#_}u+^6VMtKkU~m -zcbMlK+`N$O^c))F-Z=XABSM75(+blaGM -z+?`KiQl-K1Vot3THgoWuk@Mwk=J+h^*;y!4nCi$BrsxOvJ>bUmpn{J5D$uc0>MSR| -z0AcZ?_}tcnjt_eI^%r*v+ti75#rCfGyp)?KU=Tjpy?!eSb)|GyH)(|9<2Opq036ZE -z=;FgYGLrp&&e#im>@xxSQ|r+C_#8a_q;7Mn?)72wma`tC693YK6Lu<$`rFd8^hwbx*o2{K9tGuO<}GuL(KEeVBW -zu9>b=kMDGQ?NK`Fjip_y!?e&KQ|#-H)a@J6x_#q+5pbd}51a_{bVQCG0CI>j%m{YUzu{N0oW?tuD8ra-PD|M726H?tFqpGm1$*8 -zn -zVI*sR$e5rVfplxKOiA9Z@`GcZdOAc{8F{cTh9?P -zapzBB^LG)P)zyr5pCFeoJE2zmmBX-5qbk?AS4q^zpL`_h=TClu^cJ5V;R_Ad_NZN) -zC+JNdQ8#;eROL79D(O~d>E?%B>NLGeZP&Yh=}f&#>d?F7>F_%PxR|5#ynaw}7uT`R -zq^IeV30lz2g7F!pPi{E -zHA`nB@6?t}j8zg8Z}67aN$lUG2T$xgAmp>66_1U}F5!nrV{;s7#xD#$-&Tj5AaTEc -zT{BZR|BC5yfxo>I9N8a!i?L@g+LV{(t}U+^vRy2D!P(xj*~Bq&qM&TU2VR)JC|e%+ -z$QO6G+$D*CK*-l2|1)jH?I&JIRJ24BuDOuV+4|~iHJ?; -zi5Ob1rDe1xnhBcnu|xtGkD8i)O?+5KC4}inJr9d$t83~O-BKDT=_7QlAYP`| -zml2NH?{^8`lXLNOw@#=t3i3A<<#!e3KVOvJU6jACDF4ev`TL9VPcF)Tf2Syap_A`( -z@Wqc^kfeyKr0muWaI3a%gQ1-8~cL?kiidjECXc_%evj1CJB>|<(&1aCbVXp8^b4wBqM&H -zEAE6{bAFS!!;+l!$?uyUZScmfDW!t0{YsqQvG5oGhwbM6%fjS;m*cT!8BXfSr}ETm-_5!S>2wK)pOP_ -znwlM7ow{UCTdLc0m$KAOcK45|x<^kRarp=)C(Y`psV96VdMr$nOLfFjJXLb+Ouc6T -zw?oM4#kO!feQ7~|I`SYxeUEok-tPsCC%?n{ou`~Dm^RYdINHx=nH8$RtWLOHhaFk! -zq*c&*=R0A~8uI#r-CgM4D+{=2sfSmZynFC{h?pau{!D|Hhx*ssro-1==0m>DHhT4H -z=`x=k?Pa5H9fYsDRM0-~y%=>bjr&8&Wy4-O-gyDh*WOQm>8s;IZ@1vX#p>o9Q@7cx -zd;NyZDEbb0s>^)6)}{u-^=V3+JACF}7IJk@`mahj--qdFt?$hfvQ+P!Um^4MECa_3 -zeTTw$g?e@2H&)0Ia4nUvF<9+G8ScggjEbAnHIIGE{I_|WW!vi0d+6DE(#Z2e!fy5G -z-JGVj6XF|xCc#WB)5j1y*{3H>SmnCie3qUwehIzrGk)BJnjPJcXVPv+A4@_~IUNf) -zCCFmYVy)FKpV3#r@k!R$)4+Ah(PChC1NW=@EjBN4IG0l_egnsm^LBH2fWQy=xj9Sk -zkdr{lvrDm??I<*%!Htv@j-&Zp%I9~kHF=Dwx+jJ3>%AL`z~%Bt!! -z4vQChCMFz?xQJ8_SEw8!>u(`P^-sdV7cotFl)WlATb+J -zsFiwsL9gA-X|b&FK?AoU&F`20bR0e{U%+sGlb9pp9R`Ef2NdFceim+MqDA=Z+Yanu -zQWN2OCTBg^#A80AOa}MG?YsHiKAsF=>5(yEdHPsWG1aK=8o+3;Hrzle{3D1N@L#i{ -zTtS_^d`4ez}|55>8fB -z(rUB#ljMi0*N@masHop}k6P^gLezaY8M^L~@tLH~7o|T`i#?Fxmq?!ummT^P-ZL(g{Jken -zwE~o!Y8AdeDneYhEMuLc+mUm1XV21B&lxB1t=`Sg=8SQUu6z9bY}(D~2%wpN8)e78 -zyPY^!&orN-?~o|%N}dC>#IQy#+l-PHz{>9fW~%eZn9p-!Aa~Pq_0PIDgdF)RjvTp* -zo>L(E|JP9h50OU7B#(uC!f&>_c!Gc9#S@Z4KZ!ilE%(w-J9l&Y^sM1;lvuyf|H^qf -zevh;)YP)7FrO_lJW#~~5dZd4Uc6f$v^E|!RI?xaSF5!GOBg{@J@liuU!up!MzJ>n- -zJc<96P84&x(wS3!zQ4Yk%XkoiOk^eSD*tLoP}}+jynS6?*X;B}M&EqGzxF%MItUZ1 -zS0Mp2tnof}z5v~e^;b)lFPr!`&?6!)2cN426+&kQV6Z-EFr2v-=jtcBxlgk`<2iP^ -znKXZr8bh3<%u5Ed$1~s6J-#0Ud$_z8J;~#m=(C=$=RU><91miMd-pL9VuGJa(f1DY -z8GD)a39Qcdb@{W<3x^(mFVXK2djy?!oe$TPK|-!i^U-eJ^}gP8S)-8*xiY?A9?i!q -zO4cG>oKPDv!g-$li@Igk`Y;#izri&1wT!0zC!?v)*S&gkb$bNsj3v}-t+QH5Pv6l~ry6|k7*gn*G{`ididEQLI@|BFcZx&~;yhgn9 -z(^tkbGr{T$Ko6LIuFD=Sw;J&KB=l7SaLMqjuqS1}=L@8KGKo~?=8kWSv~&Kz$G9s( -zj@!fU|GaXc7sv4)ukXmsy*)lH8Itn01t;#|_%8o_#K>7k!a18uEUS;mc(43cP0o54 -z#ydpwFfRPeFisx?-Vws_l-TA<`_^F2{nC8 -zX+Tk!y>>*-rIUb%@-Z7O+r!tNr|$I1`sQ(7|A=e$6w2DrFYA#teD_8yGc?ISd%FI5 -z?|suvgJHHNHb$7&0@#}&q*-;3kLd62;W}{Qdxb>OHFQkSlv;t)nkg$%*4R;px*f;M -zRAP1_AB1Rse$C$HoC|pvBNo!(W(YNdO>#8s6kXzX`xmR?Za*ru_`>88c>kcD-}Q?z -z|H+_niG+~e;4t$({%jAYZN)ceMcby7lgNbD^hh!ja4M7JaVx{WN19s=jm!jWg6GmW -z=ah4D-^Wv_jCs8w$$b&di-gIjG(P!%;OR$)%F5@+7QQ4hI<;na8b@K_=PWu-J#20c+9m*82#dt!X| -zm&GOj*9Ls03hsG$?uBQz|IL5U3*p&F`JhzEakBqfc(Yhe(Eok^O#cb~r~D-}>~HiR -zzQW(x=mQ=iq=M*^&cEOPj}?LA5nq*5m;7Euyk7#(;oyP<;;ws12sWB%+xlNi@T}-cO?x!?97uIarebTCYb@N6Rm<+oCMhzFDi|}wAmaXj+0+eiznS?yL@~O5Da{$JNCis03FR=Pi~a0>IFkoBowdT>-YDoF -z)j4y|aeVIQ>}ib{3s>AH$c~RkmY3)NI=hSveXnzZTj$`sxs5{hKREB$Mz6k?put(5 -zbzGxy&~o$K_6GNFhMQNy{wL&XBCll5A@b})^dWtSyb}+R*L8@z?nC5#sWE?lPsS}# -z&K=jPA3)9T|N=_45+WK -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 -zC!H9U74*wP*q;kKrI+?`U$?72k-d{h%R -zddRi#j9*=)$4jE*cRn1Y-b7PVf}&QAn47m;nnSeXw`|H=YG(0*SOi@HqX(mgxThNG -ze~Q1;XMK^iiE@9jAO5yaj9qzi@qQ3k;A*|Q;wq0nvQJ!`DDZ$~!M-HJ*}lZp%DiP* -zu_np6+00sXO(u)0rH~$atsbI1}~T^g{6%T8T$}Xjwc0)*r83a%z`_?K#wr -zvuoA-!G~+mA93nW1V~s;vX!31J7qH@e+}N3Pr#a(ikPuN}Ji -zg3wWUx`vMnn^Dx6E9oI?*orh675XQiz)4tc(*LJc%(EYt$WeHXE%`g*W%yl`@|0;R{%c6_{ixSIc>bS;`Jct+f6b@h<)QdM#Umf_70lsK -zeB9IiVjj>}F!qIV5Pw0Qd60AEe;I)PI0pZOAe&qfj4_r`_PBeP_5C6=~P&Ibt(9fBbZ4NAu8A -zy_F(%LV29~vf+I`;)P<}9?RGU_{vB8Mm5>y<0n1FMmU|-ixJ8JTR8q4`G07a#_8R) -z`q1}x^AEvObrm(B7{`8#&!#sz-b1q1 -z$xUh0Ng!Q}Q)?NAnwdFcTLbRrcv-p9Bjw=R9SvM_fv0DU1x@G?Ws46zI{J{&MAS#xUaD%ndWAnH5Dmf -zw$A)kH{U -z`m7`1sRw%64Q29ne~Xm#LR~S(Cl$gOrY|QjG6BMAhA=Jx>ecLwBc*OxKUO*I_+u3% -zb14a_VjeLQ-`AtOj@`(hPaO0=byw*)!fhhhoj9~LuRtFrXY?Vq=M<_EQp`}F(TlPS -z^fm{5$QfrrK5A=2{=0F1pOIy2YX+5|r?=@@>%6Avu!`Cgf7I^#8s;hSk%bz$(@BN$ -z1xBq+cfTq0n-!IwQ2UIfOjn}MIFs$s-p-!*beZFB?9hW_xop(Ygr}p)bFdTNs^ik6 -z|3}=L0LD=qd*j_RvoovJvArYtT5M}pve8)99+EG~#vt3+oDR0U97aHlY;y!6b{%3M -zg!{_N3As!He<2CS140Of5JD2}1PDixM<74|13obL#wI|*5&f&GyJu%tvfzE+``(`f -zv~%_JbXQl``K#xNZ)!isrSP4TF|TE+%=Nsr%*QdsDbMxXP?77oz%0-8RCKe_>JuyVz6K0L>Nq|e;f1L>GzmP%@gFk?H1l6dyV(v-=x_?_fDtZmvthNAl^IOsIi-jzuSfG)osR! -zry4(wCyYM(C-GBl_(jD(_E)rhfU+qezgYXa)QOweOTbsoCcbhV>{@@v8~|uZBu-^N -z3Go@kI0*BZD%IBA(9Q|e&dbowm#Lkf#>cX!esR8dn@Bb1hP?Yx1dXWZHx_ -zw!r4VOE=;dI?3pC52dy%Sj_2kM!_h(q0YBbbmA4Tu4Ycg8uNIULwCXY8s!^&2Ik`W -z5vnWsoO9Hv_Vw|Um}ZV(3k+^z`?y|`_JwWuq^xKRTzjH#QMIh?r$%lVCUzi3e5Zyz -ze*oW@<|GFhN&ZOHSmPC#fqYleIBO@=yPy*g -zt)u%}*mjaf+SvPazJ*2kb=5~0*H({#Kk)Nv4!`^GFC47HgPZ9G{O2YEj&{+Huumwj -zV{#0qAU3tJ5FXQCD`XI@KRy4t#4}E^Bb&7TB$4YPz`3uFqYmsQ6vk$R8yZ_v`)*%( -zUD{uY-X*Bf(O=AyxKrpe@j!;&fB3qzBh5Cd*;KO47jqZ2aU;g=wbNL<2D5k>@w}Vj -zF32KlJft#-R6k*KzxO^>OhS1C&v`D$BV-dodBmX{l74Y0+LDaff&UP5f7KjuD*Mm4 -z#H?l@F-aV|y^Xi_PyXw5X)o`CXC=1X1hQF8Ewgf#wM|pb -zn-R>L$nWc8Uf3%GtGGW2{hWhR(97SLq?11m`BWH*U+IWQyRl@SWyiMlj -zNL;|gda2JyTtJJ}8_X-_z6lgrP5W_F;mRb}OI#!^dtwI5NwcKX(|p#rSig6B3vfj? -z5?(eFR=jKWci-Ex+PnyBJF9E{KZJ^N;B3Nr>3hQLH>_Q=N?Z!$e~!_(^fyuqtLwp5 -z&h&Un8)!{npKn{Q>-C{c@%x|`^zqg41Rspqck7UteI4tyt=`XRoBFL(9o|#9SrYTB -zQ;&~faA_HOK3?>G*e1$smImuyUzzWbWM62~2(DiN3HBo3~P=HmI2B@id3{hH=DCbiWo1*{`cB`o-80>ow0Cs$V*0yNSPP -z7rgIc24rqcTL(`BJoD)F5(6_F`~QW2dp^)8X`zXo4POXfX~?haps!3>AP0jcRP=6b -zTNLPm2K#IUE%A`|zKLA|E&QkjwWgo6cr>dn$5FxgtK}`cf7XykEk<1FM#*4|#!#-N -zrtOvMr3|lWyU&0z%KeD&d9}UijP;fA?MZh0ft4fG?|s3?43MOG8p)0w@J-jYr7H4; -z$qvzdO`Fd39(?Tw!L@LXIK{>0uWQ3RV{Pj{ON~+9yA9~K3;4;A-p@d{aN*3)L8HB? -zP1X`V7iC)3e+ze^4tQMZXK{RjP>l%fB#3?O)$tYAm)S}1+WG5c?jpzq%FvD?dXd9kl@Z{G$~`C}C)AlL2Jf_1xQcDax3 -z_IO=LSH5z+-ZM)00at=t^cYqSO1Zf1dTwd6>ifmxe>j3xlHEb5HWo`*x*u!S55^AI -z4n4ZD4Y5lyX{P*wn%=G*l9%2*h?m|pEH51oy!6pQy!6R{mp&TsQq6nrfc9ortZ}(A -zP3C!LE1SdF5%h(e9jWKcE9Ab^;&I0)il4PfB(uqBRzezuT`s2a(Kz}U>zV&fp9w3G -z_!DNYf7Y5UCh}-JLV7^E;Aj}P8Nphd4s=wS(?10BCRaL+TtS6v<27yeYy&k}w8;#1;P$?JcGc0Nn(e~fM}&w0hFKYiBPxPL?ih9~*t{C8xn -z2>c$Mb+iy(ngT`DXQewqYqb2#OWZIq%4Y-oJ3Up$8u-Tp0~bs~Tw>52ehc(|v~Pj# -zQ1n(|Yz{~}TL@=BFh5ah3w;!;VBf=4u(esQ0-o|8U}WpS@7W38^Oex|M3n77;gd3# -zf4fE(XaK2|vmvchl|F)ZnO$a-?pRKD_@7NJpPqv+S>`t=>jLP=Z@0)? -zuxAPTHfbJ29+Mo_G>N@v8eE~9S_^^vQ^wS0IVusVjR0-g{?wNY(?lGQ4e;-D;HeD; -zjY>0(N<@xIgtbJ}SF@xcN5y0Qs8U-lf19!_g8el8YP>TC-;uQC_^f2kQ3;!O`1fl2 -zwYx#`EJPpA$4+Hy<0Y))ksGA#3o~G4Y>n@@R7d?YemM6>*E7I9i>Ur>-g&~ -zwSs%lmJ0H$K{avUK3T6r-lu7B+y;s1RAjgNa<^DZf5-CoY;EawjRipZ{bISoe^5EY -zucvv6NFKw|jJrS{O -zf_f|)v|T71GayKl^|XaPgz50Rg>wClW%3)TT9Nl~o30STR3iK&W6x6@dvU+>M=NIgWNCBS5XJD+C7oM5fpz>zjW*bS`Eja$T9h5#h4Vu -zV{JxAKEXXi#^XKHCT;fz?Jv1wBAA!F8Y?-MOZlDgQasgH6_)Ig;x3Sqt{fE0Idd;@ -zq95etb4$Emg3SI+zcQa|f0j4c=ZNQ*ZqOJEcgHn8eE7M)?#1_V{050VqI?vvV*f>! -zBZR3msa4UuiT*H)1Pgttkrh)%R~E0FElky>ph@hJr|0n -zlFxol^$$73-*Q?TN4uD$-H&WXkVI=Yv5zn!oV53Q;>c@H0bcv7f4HRI8mdcjZFSvs -z)pfU3*WFxQHF)xaj)GD|(680fE`o7g0 -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 -zPa3X?7R7|=TG;Py&! -zSHXCEFUkzpW_*ERxy%Qi!WWFLS~d3ZBK-fOkw8w?kETt?G5r=C9a#O5S%mZ39a{qg&Wdd2b7Lp&W%h)!+r()EuZ}4`Mr8UmoSKpAb&AOTz(OCoI -zSl-dim#xH{Qz87v!%W+S= -zQC?pR#0Y*=J~V -zP9$s9#ui4A=?Ais9kwXm#IqLKL-C6{ESt3VdCcFZKX;iwkz?$C@jw~-pEUMY*0X-^ -ztNt=XHDCq0CNrs*(>^$YvH;{hxROb$uD0SP?Kj8B^NEP9zUvM6uJebje__)@I&5cT -zA?p}%kX|A1CG%NFeH%$b>YQ;`5ALQOYcix2*^OXSlTpgA;D{T6YXb2SuLi#5|3k+< -zCoSV3?Au)CkH*!4vO@FX@v&)(9Ja{f5((~uCeYps-pM{?C&(%_SoJ7W-=@k5*SD#U -zNPp|_^=&kLe=r1n|2{1fRIGvr -z{W!j2?cCUMIe21@-}3ts=v%$NEwoFxPm-e}?(EbAsl?Yx6U$ -zG^1*Y(ChiEzxxONN`WJP8M~5kLq9QXP8D0*PVHY6j -zW<$)Jg&up;uS0o&f9e!AsCXKy=)KxHPs#9MO!O*};opuQXY7uE=UN{ -z+kv{_Ih)ICgjEOoB<$}Gfkp$oyA#&1^9LMdH{!OqQRkQZ`LpaR(ce%#vw9@+N4Ui6 -zs$oxYqxDq+e?9fTbpF6!I4ind-KFDR^>xzwJ -z-i3&r<1+6`{9DHwqmM-ztDu*yz^i$2(Kpgp|1=hjN3m~F^0&X-QU%=hDqt3}$8cmj -z7dzkOH=kwiK?wxz#vR9|KK@{{tWO!POTR+pd%A35@jEY?K4Kyr*>p5x -z6nyho&Zk{8nq6r`xR!OUG#&aq9V^rU|LUkhxrb0a5%+tG+Yq-(^MCUYxFDT1u%_ymgIpG7EviNok*U)#Usbq+eyz$+pnnI> -zSL6A6Ne`-}>qXB^U(IT&y;I<8qaDmU8~UV -zPg#2wwztE5FRt*Hk!Nqw<7h`vceR0Z&2^E8g*BtORqTE>otlSMXMO)aKH>h?)cv;F -z3kNn=);I2o)G5yZ&~KFd0=d;bMnU`4u4rcCV=i9=jp3eQN;Als?{jAdX|56EEdI#R$8B?3pye24#&CBxr$%U??&#y)S9eTGQ@~C%dymO -z$6nQ>c5KlVYhbC1rtk#wiZJUOb8xyQBNZXN<9A$9g&I;5aCTTpKrxe$Vt|rhUQDE{ -zt4tMfUWKw*70G6eB%9%HT(_g(&eWxRf8w|%;}egoYO68 -zPPLwK1hmy$!CT~>Hl(mWz!mwd~Yly0MV07o7$8fMwuJ?*0LBpqH3XH%;XCv4gTn5T$i;XI9~ -zibb$GFwB!hmXJNjQ{&MWqtO9>Lp+4pT7>=`Qx;=9)0)AQSDj6_YC!*1N0C*zS6b#p -zWW7Nt`E@g-Fm>Iya{?lITIrOfe`qVn9M^KcMbh{pl>0&c$10vwVLPbGon$>Ezej?~ -z+%mE%T$x)|*4FVam%J%)b4q$yNgKOUxCU>YZj5JLAn)-BurpgYX7fY#$SxDsEZQUM -z{q1Cr+=8(xFlxXu{Ece`e)B|-!7zVTsS -zbrH;9&jKmM!>sh;;(w>-8M2OqjwL`%4yDkfB{jKu6q~5qyx~oW=@@QP$_u47Us7#0 -zkd@9@)|dw-pvx$Kfo$z@^HS?)@d{G5wXLPN_Z -zMxDUS)hit(y7oe)$wcvcooG!}(vjbL4og(&K0Q7}pNxt=J@bFir*HpX^y!r$`edm- -z?al6n_e3iCy}5#?IYaiAU#ukOsQdPmDD<}4t-{`|spuUG+THc$e_(swr<$Wrc!U17 -z4~F>uXvMc#Z~gcC@a<30hXCW{t-*1rTUA_Yhq4Vr8CctQCBxO@@EWGkXA$oy!n8GX -zt?0CH)qS39DKFZwe}Rq@qruyzq&5sF$tz0jL~9&u2XP>=oiDOPL?2_7UHqGHv^>@N -z*6{MwdmvBYH|zVSeZu|ktNU?`P&e#``xjQs*Wc89r7py1vpN{LL!$6K;_L9WHPK@C -zKhsy-ihXnq((($tsjoKVBU^>P_pTPO97+BQN(sir#EQ&JOQ#Eauyssa<%$_gcyRp=WzCrR~AEC3+*0IMkg+#T%`o^s!lFt -zLqq8mh@68vqG4hLOz}V+0Ta$<`fyY@n<;5Z>3sNXrgAJf$)8?On%q#=UL5Ay{lT@t -zf4PAV1i67x`X6JXwy4~Q=)*zW_~1654B8xAr~HXfym{sO{usP(Fpl2i!?d{}Xmjwj -zjl*1fbC_#yrP*FRl&8v-&dWf%t0;D(yxNOeDL@E -zYnX5UV8}TlEXUl>(zEm%T-0(qbug^%#O_{%)-6DO>=us_ppOP^-Vw4@6?SLJrj~y&rj!f(QM{3@0gdE$S*9@& -zRGdbDcdZ1n06wSRX_UJKjUt5fA_-H?sjZ*f75`*B4!F( -zLyphCf;xCq3wV~qQ1HA(4q`Gl8jGBKQ%s=0AF}~)?>J(MtRLt7WUJ=0K+ty*_4V?HJZny~y#dgfoa}S#_WT-v<(4VDDWEa`o?>=T=7- -z!MHfTO~gv^@mmKp4oGXJe-i)nxGfs2nHWL}W5lV@6d#^HnB6KJ^i-=&xjWa4pHNHRP{?m>ha0$*T{N -zzl!3D(D`sKLJ&_rUHVtf@UBMQM~IOwhczU87@Jakq`oaW);AhKf4<|9)N^Y{${0sd -zPi38Fq_^-mn7cGBd>9Yoc}`5}dO05rSuaQ9UEnxM-{Z>hWBI|L<1E68v+Pu$z_IK% -zk)(0?_+swlR&LcTP%9vTo@bcUqy|Lkj`+0eA+LX -zGhuAQA8*k(ThlUJ`LOC>$No`9#xHCC#eXVZ-xaA2#fB8Rvl&E9mYGr?jnSD>xEiG2 -z;ZAt28~b}9f6M``>+#Gn8_mld7zOm$-sIe~+U}s$q(}B*5tFs6HW$Q%Oq3P8iJ4n) -z#$vz;V#q@ef%%$&^A+oiRkJSSPj{e;Z^SumR%N$cJ;O@_M|uZY2KP -zAwZoMj>mN)Xx$8y#kD`WMdRAUva+gRF6&j~pggrjW2!$L>Gx)3G^V<4Q~G-@K=Q9qA#+Q5e*KaV(z -zaHiv2+1w-U$f+x#?Gw?5gWuYqaQw9#_Uabtn_R{$p|OEfrXS4EY~Zpyg}E)1PYgV+ -z3%F~M9k1@|CA*VTjm4AD=3%We=eJcN -zJMy2~ifb8#+--i&(A9P|P8MgI)jlwe_c2poq-Q}KoRJ*Z6ypg~c|4bOzz8=Pj`f&q -zRcjMCB+&bUR-D1ZGKiJaWGn=|e0ByaCU%fKgMF5HqbA!0&#k6;y@|#LQC#5pj4kb5 -zf3V*j6QDt2?FF>{m98&0A_Aj<(`=bxiCM-ZmNaHHH&2ywp0a8TT|vo!-`<3SY^*5U -zXdHy~k|WeIlFN|0qSMF|^1N~@j%E$02{K9aY -z&_c_AdtUHUR5RirRcrMi+YwX`D(H0$f0Mc86Nt7g0l{EG@&WpW0ESkJ!mT$90IE -zO8Xk8tT4Iz>*{P0E!$E3<{_DOdLYwo%!IK8|25!-YRP@eu9PZGg^W|ZRqnNYe;g=| -z<0u`PA*4w*iq>)#D8{dnM}2&x==UC1yMp2l{OOuFV?)aD;hfV0%W_T^g>p_oE}atq -zOF*>06Zs`EQJHhNQ@!Rr1=rutiu_w?a9s -z2avuO6Bz$bQLhnQ^_Q|+JAk$fiX)}-xPRi;dh$xuUav&=dc_t*`T9JU*nZ)h**O(C -zvv=7#KQ<<0er%FIXXtZIaLx|$Xsd#An}hqJ!MSIHbG8^R-?m!C2BG~4vBcKJs(5G2 -zV)>~t0ly9UJa+z&0@IuY&dpBL8Gqxn -zo@p=6L{yAotlSs{`)dwXkBW;y{;mA=&HX0K?*iEMuiw@JDXdwP2U2TCkF0 -zdKK^XIOsDV9rW>Hybeg8ZoVQM)OX+hhCv^+Xp$-K*%5R~!79udCT2YYTJnCmZX)%L3s9jvg88B(jn -zX&9ML(nNxL-q%3a+da@|e9b}pK{>V;ZI!Vrp7%Ff=Xmw8qXpI{qAb3%nL7F>ny`vFVBZQhVr4mkbl8^XjgRr*oKvR(%(9Fjcf -z{hO+n^ox%tNxqVnI0T|2Eitc02+h-R?0>dZVm9@``BmciN#&Jo#s!sa8hNj?DtBRK -zPQ>3`%T<*OqkmuAiCU9c^e)YeK&-3WEq*iiUsu;HypCCGc)mMQNBlzb{gHt__G={v -zAl_2KXkrh6B)rKXE^12Q`PHcQMJl*iYoYSaavn -zjI8^3aUcz&Pp(AAnB`JgSGx~J|5Ru{oKx{sz}sEo?SFc1p4qBx1xF~ol@F>l@XB^c -zJD_3Eo>mlo2oFWp=y@L6Igapy*APOduEgsvL7NQj7$yFJT%%oa3|tK+;RS>--*68h -zO|Yhx>q^++^T_47=8TP@mfvF7w|h=<${^D*8a -zz1@&{yR>DD3hZ-evz4;lXr-loJyXJ+lKt4WwSS)MX-#YytmCiJIvy!7n*$?;@66;< -zee9I@NdA_YG+)RSb6LOMfH{g_E-Teh6z%YZ)x1B~-HLUvPGO^n1`}GJx97ds*WLt}U1Z{qwzP|@# -zsDE>_4>750y72aIWok&;YhXC41@SdFmRI}5Q+Q2TGrs}9>)2>MApg0*sxPv;$=d%k -zT&a$yZ -z*Z!vFZQ9?I6ra}Lw2v6d-&Cm=oCtcs%8*{LPnitSwoUsgzmpN^ -z@3aln^`>wc4dN1>kH*yL+9qu{{bCJrALh=P(xC6_0x8}zfL|IIH+CJ_n0h+U*LNNH -zLZ?g^1A1YjwZ_RG*blqgbXj%6J0~OKz-`u_Tb;2?!~*$g24%!z?k5?O%l%Pm1BYyr -zb)ovjwHfIRz8e2h6nUQ+a8}cIkbg(_dp{r^iF_9Sc1C70djI^>MZWv<)Q1S|(zA2O -zJ^G9_qQi55u0D_ZCsw+TY^u;^J(C@>~&xV-`H=Cu+^m6$`C( -z@=A*-pT%#OrtF8D9ZdWY_s`-s89z+xSe%oUd)8eUrbop4MW&ni`yg*zn|~2B?wHw% -zBQpUw)ZKU|>>D2q_%>+bW`FL7nF+8b{G6z#){?(ktOl|@NZXyXVKtHcxze|-@lBYj -zeG{iWa53oyAhCk}0lIrV#Wb4v_F56fLArFC_ATF)7xZa -zwo5Yes1MaN{x;B|9fp^D9wgL)qfkG0JLZn1BJ6Df>7Hf@gBOP-jjdXC# -zu5|M1E*q&bMlrQlXTHR0qFvE?)^n>|0hpJCaeRGMT_h=epJ5HIvwv|skLt8hvimq= -z!#!P9qu}?48LC&G`+nw2cAq2Z8qXjl<6oqzKIV_@j0)Cg%j?m>*K2SEd}+}6J_9J( -zlJsg(tf8dWdU*3~Ii$wb@jwHvsU>-*QZq)Gg{T!M?pWrhYmHEg!3uyK*pM>MURpMW -zZ#k*t>wU#!S@UH=Z6SIn;Y1!q6y?3sV7jg?ib(8$@7gNU7_Wb -z!F8qZpTBR@wPR9cw#rwx$(prcihtVC6n-o6QBMAS{(|M3Nq^okQtM;q4PlewgJMSX -zTHUxUTpR2-o>FTSuWbpg?GImcEceMSCD-xW+oTM+#A^}vnHbH{4y%+R2ZOp8dM|r# -zo7RUNpZt%smX4Gu2HaTWD;+;#* -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 -znD9SU?vU0%x%HZV|3yI}7eTSkaR~ -z--`a7#w=#|$$UReE#%RL9(FK4CC6Yya7Tlh7aR%vZ#(&=@NSp+F*z<#IWBND2hSu; -z`HeE$U4ElURcFWfIr>JqHV@ya^?#^2BCKCsH$ku2?y~beJN5awWox;UX<70*r{8PN -zhGj{TiFV37z`VNvcA7c(Jw{#}D5e;tTA8GGMvCkioGp+tHUBn -zUUnMvasNOsoiTzlhp96=lKRXdb!OsdedY)_a}r6!HgX4*Wi6B{y5Gnyv0^4@>-Fd{?x=?qwg)}J5uHN|&rT=% -z!HLRuxqsHAd=gr>UK&6kV-Wkrf~-d7Mh((ibO7*#Zu|nEBp24lVyZUh*R1k7(T))5ir7*U -zB=2@Sv_`MlDdS$e+yS<3uiu-T?I4*7?WFr5f0go;@{JF*uMe$bRDZ|9pJwP!mlloTD+#$7w5JXi1z$mY?{uk`gM;{u=&H*1{OXC6Yfsd*Ds3^6a{ -z7G^Em9f7_Yjh%PjPJbCkn7@#r-eEME=R1X^@$B*|+y*ytmi;dI2KxA7K^Fc|SXK7$ -z?B(P;eRDwKv_@47#23 -zv5-GDlbTk@9iO#1(q3Oy`WK!bNN7rQ5>AxxcsY9!-uXGChkt_ff!lEVBFOGvz^Q)Tddm>5asIG!{u)mtM*j*$E9|6zd -ztbQ?=e@D&#qJNP%&nw~UYMt?Ri<6*OCZxZU1O4n@JGFlHPDW!B>%DwH@zuO{u<-cJ -zBo8NmLT?5xKO*Nb{~vm;3|6&E*41-iR@8hMUNg*-c_KMA(j_r9TQ52}>od>({X!v^=d2leA1g++c -z2JFbW-fYT@QElvmsYfbd$ZIFSH9V>!o@BDa;D24`DxS1j$%^V37%Q)MfrFkpSfNGa -z1F%9FU24sP#>qpunRsp0F6lS(au+xlbAWZUL#va#u}R)-`^`AA -zay4U2{@u2p^m3~tCPrx`$$hgH;}$?xoqqyjXyWsPPQdT96G8m>mv>1V%P=@$Z=)=~w?{Dw=bbm2e -zw%WI^hWlqz&7Z$bBBWD}(m2kRjLNBDO_uBt)$WD<HzJ$#O< -z&KvvVE>-UaW_q0odm-hH;YdnrtF&Z(99S|fMK^!lC1aF55Bi2uj@O8oAr#9|%W(9% -zOvFr^h+k-8zjAKaKCAgo(R(jbna5GO_K(mt$&+ThruCyP5$08hy&-K12Z=^@sFMiE -z=<9Y#`PR!Fre(5RBRfpVWPgb2@D@dV(h4DYvO{HIOFRIIf7&JU7yHHQD9R1=>>*_z?zty9 -zi2a9iev+dixqus1vpz%aHhmmr)-51~7QCM9zRcg~xvLzkEp$9Rg?~KsEtNmzGScz+ -zd06{4JCgZ-YI1;oM2{x^aRqB}`mDvG(`jek2#~oVX*P~B10;=7B&-={-uK{pBG9K1 -zjS(p~M@Tn{1KqV`M;f^MVVt^u9db9!qj#*n2<~FOCHExUMLVMrLLBL02}?Z(-*Fjy -zM`zS!-l)a2r{Ow)8GmRe8;zN-uNCr{K4-B&Ip+`+lYM%yFBO8?gOlE_XRRblcA5$1 -zHGheA4W!U7fg~{&sPjx1hwT}VKu37ZAZ-ApqWpFqzER{A$tkw~%^#|(!+ -zlPHT%s3o7yZ(to>K7Oomk%RFF21mcnAtG#7-v4c7W9{xByRxmuV*#A+ly%)Ck55b& -z63s*&H}O`x;5|GEb3}eTiI6VD^OGWFwRR*bW`r!;Pe(fD{9~YF&Yl6!MSiq%V3jv8 -zNl;wqTLT!2+kXJmST`gNmfi=Ce_Q&Oy3Cp(_q=|ujqF^SC!GAYj$fEewi_Ma{rR_L -z{1xi&(jJI;k0qRze(y*)?=1>;Ln(cYAnD7@FRm5de3+p~8*}D2M$Q8rVR>c*^E0&( -z#J~wlzU!Q@q?@$PC&_n?&gN0Ia}X(~JJRpX%OWl?Qh$e~voYb?XR`Bn9oZmkm20Et -z?!3399RazIM|OxRlJP``ly>VF%69^B!4)c5$*%Slc$Q*Exr__Marx%kDn_c$7C8Ee^KMCn>Z#N7V=1n;(bKrbHW(4kPf>Bvq}P6_}JhZ?uKvp -z49)Fuy+7~&$KKb`oXLKV8Is=jb`H-zTS3!$ZT$W1dWCPI`3UlVQ`;zjDvQ8NHf7MV -z-N)r_kTOfpuYX(OmWH19{tonr-(ZsUr1XsTgMVy!Tgs(cH}qhy=;SWz=tkP3C)o0= -zj#p}@Si)@-uY@+0T4i^7DEYV&U*Dkj -z+|Ma1_xS(I{8Fj)y!W=M5zTI*{!TFv@$8EZ;tuzVQ{+5@Y#`6ChVuy?({UsGPu1}u -zbAPz@5-T7|{-F=w*0BPcvOJVy7>=la{tO1f=bfk)j@?-g)qXgzocz>*S -zF+8*QD3M;a*AxSNfntB -zMejzu6IOxSR9L(wYo$>4*58Y~HvGM|%EO(zTiWaLi;fi?i!fq;T?Fx}#((lBftGpN -zH6;qwyNE&s+;aorE)~UFzQiQ2WuXQBfQ4?3_ql5P#3MV1$%cJ?|=z=dmLBRZhO?IFT2}h5V3lL-V8aK6WX_ -z=t%bj(P@l;ex`9A47|Tz{L5e}_C{84rPvz-T5vVyD9*{bk$QzMcbw3<=i%I+6Lw3V -zOKE=`$@1Q33DGR?;d?Ba`y*4(2UxjDexw=3+tu%RD!>cS#QJfA#9s-cMrz4`F>Vo+emu2WVg2e9bkv0_U?Vk?bZ8MWZKKPAdKm; -zV2*Cg$UL&u8ALnKHh=4H?ACEFFs9zeMo#4k7ji$KFRxO(`Fp!%jm*yI(QH{1=n-UD -zmyb36z{Z-tVXozlm>Ny7=3{zd3yr9iWQhs5Zp>&+w0TiJw$Nb~Qsii|@WM)Se!~)u -z)YGR2db-=$d?7y1tg*(u4E{#?jKkyZzVOTL_x7|Poi~34TYrmM3wbos=NuM?-!|g4 -zT?j3!R-?axxq06>n<|{xDRO$ -z>s7&w@ToK-GPX~zqkDI24A8>~6-I#cnvVfRi@Lx*e!r3v@?IbHZ6S0TYZ#`?7fo~E -zSM^JqR|xF)6cgx6+?>V8b(|061Ao{pF(9MRa-R2z)PLyLjVN!<=3}neV=Whm4ID$n -z(>-T7xyhX6tKgoidTN)8tEzdeTjPEPw5Jc8M!Z_ZdW}Ac`&=%TMpuY%T=_G*!!h9A -zNF5`vQbi417es}hB*HrV-_>(@?_|(RR*DWBQQ+XGkhbBqOS@RY%r~Db5N}N5hpgW% -z&=S26316m;O&-dD9gr=HNGFRp`22d)3If@ -z#*T7x9QwWzIMvCbZix7dLRoyq&ayFka34KF1vO?r4#w;Z5w2(Y&LG}a%srxbTNUvi -zi+v3D{1*3~Wr!_uH*2)lIEWy11*?hXm-Pdmzkio(hL{;IR9r)X^`3H?SbE}Ekv}=O -zBZ{2u3VRa!-cb4DupX;}r!bFv8Jol|WHO%IHB=iQJIW|WtSQ!Lp6#Ij26K_o@7ZOI -zrd(u-FwNbQz1-}J%JpwjwVLNzsU8hTnwK*^8dhYqE85BOr<^YG%Vq9#loI}z$^UxN|{~%Mb_tlq#Bj-Xq1p3>Pa4*%KW-oCv+u>7Dsud#ZejX -zPM7o1fFG%KFlTtRA+z57s#;s+zf<1xYFK-SOE?E+|6-DFE%r5)Tl_PkEsTD+6&OEf -zcZO`#w=<1*cxoBmp{COV_Q*NUd#8a`{eLj|TYFQdmBsQs{f?`!NJ_DMXE-_{wm-l| -z`$K>uc)BP@)*daTSgmB!Xym5Mfwh&%lm~SF;KTj7!<6A2%`73pf=&5ku!79`9 -zU}q>C?9#ft7}n*Q(7ODb&^UiM9`pCeyd(GRg7>`)$`t(|Q=G2H&**heBPz#?ynmwD -zkFt+?-OmGG?{!ZVrM;nNkCLgNZ+-j>;87n9gx}M{EE*DTuFpIs;DuJ~!RMeojR{qwGNU7^R_1kkWPiOH7waju -zU>%x%&+;db52cdCsgq0UW;5PlDi}>b=3Emarqq2lj>23UzV;~j<$d_& -zN69bmQ(vBj)Pu$&b!qB_hF^_*lCjdM9zJw-v%nqxe6CnFinRZlupFg8unrwwbIa$4^c% -ze_K(UJz085zB{ReWA9U|^@gm%hIr#R7pYHp!(;Ld-H&CPkE$`S5*xlD!J8ttM3VNw -zgiViD9Hgj~tR>=*j(;CxJK?*(Oy50zl1<-sSk9%0wPOCqSTP8Cw1_3`!*j*_Ptwb# -z*4Xtt#ftgs(<9+`lKULbi>c@zKEW>J`dd#ln(VV9O~zLuP3CFvzH3^M;?HPp$JWi~ -z_9^7I?2GIylE0)qrTU$E -z@-sHEG*Hb`lYem3&uxiP1UX12uznd;;Yu1ET+YA^>C{xj7&;uT-a-`~HTn})kyX{d -zK_8qpZy&0>+YU$dc7}DVz`AW4T4d}6S_P=mY@VvhHv19K5xBpeFF|jtYQ>xlYmE1F -z8oyRvIRCC>^oA;21EaArpsMPHau?Fjg)j$AQH&iqjDIwkD3kaS<+idPI0f-2*~*F` -zTiMQYhQ=ld$CT=OZ=Y0-u^Pr0mGbi!%KZ0D??{`KCvKrSDyS9SqOc(%6dCTDd48n` -zV>O -zBq8ea`{Vnb=ZBA(d(J)gJ^Op!^R8)kG3s=>OMe*ZI%Vit{I-)&@T4gvc$%kc7qj$` -zCEVkH2J3(8=;j>n8sU!LCeOih;Iu!v-lZ9Gmj8sZFT^!m+f^x3@D0Le+!pVD-5u`h -zqis^iH@cq+8b^NX!bp|{=)4!1v}Jj>mo1Cr;Y`^k;$ipECbhkJiD*MJ@~%X?vhIDO -z%YV79fzJzzAumkOveUOoJ0$N8jf!WUS&<80>35*0I=9lW -zW(AgWr~cYZ>E$F9Dkf%==u5d5@^wEfT7RvH-VGt~Kf6=cbG-@FM#$)Av1)C-nVzzm -z*E4pq&;NVKOvWEg$Dm~jto4V?=4$mO(;R2knwj`-^R^JDZxi&X)HLCqDU{rIJCuOW -z(Qsf5bg~ym_q3f`yiM>lkx%!kzY-!q{fp7*a9{Jefl{C8>}`U_hA@Rb6Z8u(Ab;-E -zG=aTI#x&_%N^5amD!^dx`93nls%_?S!*{x6jaJT{_b;D`yFuFhG2i*(1*58UE<2B=0i` -z`C7PN1_C1skB?xNHJk{nX?YvHf(}`%TlM>R|Gew}Om8c|{e$}Z{1_Ik -zn=fHeSX>P?VRB!14GC-S0G)Xtd#Jli-%7&t!KMtom}N9*P1EP2hkvL=n#s(~`7ybr -zJG}{@Qh@4Z>RE}osf|K^R2a`hf>MLaIf~F%4c83xc8y+Lf*9bxd@K!rEN6Z$#HZn@;VHf4;|y5;X6^;Qn%r!*k_*@vuP9$CimmcAOR-f;mAG9mll}&F1J)~o -zwf5y`En-{@s&dtx}>)q*7 -zp;dFBRi;g_U1vd!VSi1QZWlVCZ5N6)8N@w^d6;su;eX?q<=Xr_)Q`HEA~*MJgQan4YukMB16(FZ;@qIzq#@%QNmgzK+o6P?K-FS5A^OA@p2^ -zSmkqDE7LOceCA^pUuP)(e%=Snp5uHTDDz>luXFxiq_3fd?E;VI>SKF3uQa19XUQ7w -zORIMs|JfIRaUP8RF9V~0eol75?NYYq?Q#{qlYgUB_*7$RyL+Br){iZ@UFhoN+x69G -z;%jH&S>LNopNO*wzdvTX;OA74TVc)2Q!Znu>4*2}Ec=ttJgV@0!7Ioia{KWG?{gLu -z=@=VyEsRi&Ea!AKNqLrEPozj+BO;5_YgMWNC-M1TFvE7g3t*O)|Txw0FjK);(>l)6p -zlQ9b}-!9~O^TWxtmB@cD*>uBHcSOwj5w69On!B~&) -z@^NxMJzn_c2+9bSN*O`oXAFHDJIc!n@&eG(1#M;s*|&5+`t$t#HPL?S#{OQtU4O>t -zg?iwInf9(=4)+6B40SehJp)B@#1#{0oG&Y+?g3gPq?12mXdOnCI_i%N5%mz?UrJwc -zKGD7#w@Vq_Dg6HaGuEzL5xB$Ow%ymO^ol*azlZ!Wy>q*;4aQFrK^}6-Glq-^TzFkeZDFnzkTNu+s9E?v%DTBC4b4c1kWTG -zS*`##&?k!YfLCgaoa{h)WUSLz7&ZYzBfZP_mPUvKD| -z#{Ci5Z)jQw`Ag+0dL`>@ay=Obz6iCL;P?6MVmy~GUw-xS+s%%pW)0L)WUg3RW-{*S -zn2@d8g)Z?MWu;mQE;*GEIDdz3eIrsDN<~bvUvbWt|I=oNwp>DBW)Y`E2zejAKgVys -z=C_|g`+tomkRCPaU`-zAr1V1xMnBMD-z0Ps#%_Xcl7y~=CtzQ=w-~16b+2(2EBN23 -z#Ly7Kg -z`BP0-nWDX8y}WI?;E@#X5c^8l6uLF5gp^rX<$Iay-HzWvJI3&Ktoe@Z_{R*{jtBg9 -zG!~2-ma%vEdVzf0N=UW3%1pbzU|sGK5q;j9;U!65?YS4)bAKRj&$Zv$9&zSwI6%-d -zHj&X-GjuKM@{Sk*6s>~XWrc|NSb`=QxI@GYY*f$^ZvxUgO8#5aZqLx4v-tjEuFIiK -z*v}0*#(2dU?(n8Ve>2MUybg*|OA|*J`)2ouuQY6j^a;ZKisW>Le$Fy5?+eLV_+10P -z*TL_#@O!6wwfX?iGp$}NiI<_~*>$qFguf-w7H{!r -zSB1Nb@{sPRv$#wnN$PUUiTzVMpDV^V+bsLkl*(GfjT_OQzS=RK|7*pp2B@J -zv;e(l+kwyD(xI@_Yq^IA=q))a<9``=|zk6$76ugRD&e+NWa?c&! -zk=_Ejl^WfzQL0Qd29XxHfQuLi)#}Z93sfZJ6kTp{ycup42$kzWG#oLeJOCY -z|5Z>2rgMkDlY$S7o_ue}`9AV_!?AL1S?o$_b8I -zw7?b!t{Q}J!66)>}G{N5CZMR3m!-@mH6jC -zd~7vB9^B#kqG`H`)u1+L_d#%v-AYM!dVlgwtOan4Xkof}9czIv5Er$Q@!VpSviK*# -zJM8$O-^Mp@^91dmKPL|4bVV1Z0cuDsaU&UeAImbvy(!xEkpLn?@5$%HM9y#XIZ2Uo -zZ$4+T$hkkC(~3C@$;}0}3NrRj6?xd~bgek!_AC#Z;tbB;TXB5s>9ypvh)pxfZ+{ug -z6t%64a*ueb$td@Ur$k1%S3FJ1DEITHo^~1{KG$!cWp7LrK7LP&1m!&&cL@I_F=&%R -zqXz1Mcfbj?ko=a3y!&0hPKW~(2CuQEfe%>*TJz3`6&pP4c7QBex -z6xgjiwL`{{E8%hEB#wV(hs5!}Vt*O>080jRjwK)bc_=fM$BtRgaF%SFds!KoUUw&J -z(>JjF#K7+EzF<>Zl-84{qAL=17`S{)Pn3)>#C52t!JKfYp-e?BK -zq8;GJ6?zrQghM{>?)@EpjD$I&Zmtt;iRkUHr!#jlgvjL=ypC+sjQZMivVTJ(?We3~ -zdAq6YJLDO6iyt#U;Iv&n{8sPR>}^U)Hn4Xnu{Pi{^lTR7BDPqgPz}8ft${9;X`Cy6 -z!Gr99rhtFMozmXmS1f45Z|oF4)X}DU6iL_K$y&!e!d_KXIGZzG(&v6*OcAQ4)ClaS -z`JN(u{3#Yq*W3#0Y9pR8kbeg!ylTlZ!s0s&^efHhpl6>SdV;Q%_t)r7;ZLfAE%d1G -z1E9k_0XacHaiWz++7`74tNQ_vzLTY6k3!zZqlG{8&1Sr)uiQqAuw`SN0-D^1gLjHG -zW4qW-LBR}!(E$i#BZnY%%4RMx75R@An9l)l -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 -z@0px025i}e+u4$e_{E!m|MP*GReQf -zuCJ{Z{M5&F^u++!BMI$nTH`6vQrH>KK%0-Q_j;A}@tk)9?Af5-wW7~$e%}&$j;oFQ -z%}nS!NLzloq&2>w;p|0Vml&QtM?ph@VShl -zO&a&l3~kZ`{+IHPx8%H1Y^O`59UH#;AV25ut|q6uKzvR_cUaaQ^>w*kWMzHA`vbtcjl+8(0PmBpzTM{?4fsY1meqY)gI0eFzu7_E -zy!t`@s+{yP^L?ZD(gqaof)Tg!J{;O6|DDI+c4g$VNiX%Q<0rIL3HkghU*E0iPS~sM -z^kr6>^L6-@+{^CEOhm>_yGVE3#YeIPc92L>j-6!;=pv5SkUzcWD`EQzH!g1gUAK}F -zQ9VR# -z14~j~@*hz0ZCO%zF}949t4K+Ade%rqMNVG1hG~0h{+oZY3|Um>(6_uwWdcE40o3J> -zhM)~$Y$5cBX1%6*reI6ALh0w(Lb%!F_iynoaW)7aelIW_OSPsn7q@?j?UFjDxDIAh -zxc#Uvv3zXTjRS-pP`2sB`kH1x_KJnEV1B^u&5|BqJs!VB@cZ`LCH2i8^Kv$r+>Y|Y -z(TZ=+DfbTgW;3`yqxV>A&0FlgfKSN}-WBzx**i?c<$jot3F;4^u9irZ<@j;cyTqB5 -z_cw#LEaB^0?(z68A$NaBDM%$go(!XLxi!i{?v6eI9R@xVP?$ -zmx)r!H#mmkek%A1iP8%QzyGP&%LiGy=1qCarRYPklROUN9^b+9y*c$%&8Y8l7_}s5 -zYckf9aVy_NKatR0mr9A3!AD!+yT|b7{oq{!Z?{f=i?z;pk6nKW!)hzsLREQ#k_$5G -z+iWW=0i;FSnne8e^mJ^)N%c5t0y6aM?GAT?r}KRo@pWVm-6if2t*Zg{mG80iRc|so -znq&>+4UJsTy5@Dpy%3MUeoh8zwOWV!HToT%DaH*o@@;d>I2<>6MoO)Ko_03f=S?1q -z6kVx5ibvP4CiZ{u&b9}=<9}WWR6i4Q|7?f1$y=);rjGvA_leQ2>>;+& -z+4`WTP7+_^cg+;Pi}<{NIq=Ql-z9nS@ -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 -z6C+2$Y8zJ%a|GpLRLQtBtY4vMcl4 -zKdcj@jPrNgw;El5EtoD_pj4_~6Rf}4K;F~oKrMBWTjJbPrPmB}gM=%*1!UP6z7}HI -z8$h)VNDNU2D4T!k!X(>7)TSi*ZFQ6thPXG1GoFy6xW2))G~LhMq&?!*c9QA@A@a5v -z%#S4mts%a6dAIQIjBwB+;0c~%4Itz%*N>m=4Yc+n -zXtTX4ON?S;LdZUTq9EsTmbbsfcONXkgK)IiEU%i=RRVt}zPnrMRN=Ry_#Q#~JLI5M -zB)Gk36zx1{5+lE6*+jn=5r2(+1mE8nz!_nZUOk!E6nA}akB0{Y_jn(?tJO`g`$YRy -ze#3ouL{pAVN0`&n`I*kz7&?DD}}YqFG_uxzl^wyesk)VjL? -z{lFZXq-}roBr+TFN=e%_lStdjLDt4O3F!Ysf|f3+gvvSB4B!n0Nc&kBRnZ}Dha^ou -z5lSG8wiQ)Y+sc8~#`)-9dpzKWEF0&4JuvV!;?UP~U*p)}3HKJ9IQu7%$F)acfi}tY -z)4e;oPu$*8QTMvk -zu{p>J>gVmhNBZRzdLRnd13Adb$H4{63uS)f>*zJ>8EqWYel(s~8p^Gkx!ifZmeIw@ -zfp>pn`*Y+V;*&#uVj|B*=ls5a-V2Pyev;qEBYPmn?`I0~z8oc4i~XwMGLDbBtI28- -z9~INb7!Fx$bhz8$n>t<4xHiy>cT{t#jsLyPO><2izAxDMDz>tVwIPK8<0e|prRUx> -zszFZs<&bl| -zg#f`J=fQ6y{Qekz4-BmJQ(o&^*8I`QQq~-^q^$Y#!9iKGDED(+mK&BUcYCaNIkcY< -z<-AglH{GaMFe^f#K`>nDaW2|7@$z8r((Ogn*u|WAfOJw<)g8Ba_ -z2WLn@{(Y*AihGIx8RzT{=3VysIPmQhJ7~E$9Qlnp%VaC*4K8pBWMla-I+kIzehwo -zT1lJE-y{7w9K>ni46OqgNqknyRkRU7>XRjr@)7SFtc()3vff%n#M2UR?l^x=;NLu) -z(fphgaF8|-aDue_qCLI!C1O?{r{Dd4@AtKV_Z@wFKg`PCAC~xQ@l;xG1^wmdRU&^8 -zJ-`aK=iENvd4c*a?BjhR@P1Vv@5fp~o`z%evpwP-An@TaxpSn#kGsHm72zzKUhszd -zybAmHQ|7|S33nWh`H%7GA=H1sEmtDc|6av(1Nv>qVcs;=6gZ=rj!aZE=XsHo+z9P@ -zGjKmN;py3ddCIqnT+Q!=CZ~p0aan*1v<2q2Bn&?1sHqvn+eb9(U7@%tmaJ?NCA03- -zKq<6RxkB+2j6_(`Wli+>ejzoX#ZFtgoyrekk -zyq+3ba5lF{4K1#TDo#2f(GVwHn(J|W)a{VVISll=xf;1SiE+@HpM^yKaqV+YIqc^O -z!bjrnU>rABayQgMpnEey{{JGiZl`GZ{=Bo#20ZwwR(Z^L4-y(S%7Bnl-S-rlXHA{~UcN;M@M`!2VX`zJ&WQ -z3*^-0ay&n$0dlTa80Yl~S=+OF#GPo7Ho{t@kFpjSL!q@t0Oe@I2#mBA0^UVRwo%uK -z;OZByp@40jvTh{O*)G33H$nQ}B%huR=@SF#IXNpi0jE*dcpQJenD#dG-v#`#P#Xy? -zIRsjgGBE#5$ai@D5Xe6`p%&0%7=K>aF5Z^t>ASz~^>6d*nN9?0f$^@CP0mV4*<|ou -zYjVEE_yU=voEQ8y#Bsq;J6$s##{1+kEC9Rfa0&Z_eqc}N6E=P;V9x>A69D$mh9K;s -zaT4}P{lK2sCv1QG)`xASYbFBhClf)~m*?cQnSNj&+$U`OR={2Z?LHV_KT*)`yexP@ -zKd=w!6ZQu=*#BbbnnM8gAH5*#uhSCtsr|ri>Jv78D_{?Tb~gd+!wcr}yr_hIT0gKS -z^$8ol6|h$W>`4Io-hwfCh)USmeqc}T6E=P;VE+~7ax#CwzA_nveeEa-yR#qI&3(eg -zZw2fwfZYtR_ZF;^uH4=^vme+~`d;6;z4Ix|WQE -zT{9J64=xz*zkX)>u+QlSc1xeI@mm4=1Q?SR^gUTHChzQ#?LMy`*oXEB`<*?q-3Guu -z6vw+@OfY|ryMVo{AJ~WW2^+r^u-5|Y!vOZEf_3uF$rAQO{lGrF?{=RoVTWP74+q$> -zg1r;5B{))+nP%y6p(7O8Z3!rNBweQPI)` -zX$X{m3*J;)T}ACc|9w4e4L -z+2`2cw_l)25oSY{vX_~ -z7bj5v^>%2z$omTNF6oiC3-T`Ok@q#^{j`5a-Zzl9x<}q_$h*2n-X6%iwnyGx$h)pb -zUN_|3*dy;l$UCk_-bau(yGP!CAn(K;c^^aGoE~|fK;FC_d7nbw$vyJ^3waBB*|rW4f4+Fk+&W4e%vE(2jrdKBX1|^>G9h<F;z-Xgx?M=*S#cFXc!uE4G3-T*)QfrKk_d`|j< -zoRcnfUkB|K{t$w4-}O1UZ#6u}s1|aR*)`&x-r@ch=ZxKlfBl;LcqHya38~{M{;kc~ -z0L|XVJgFg^r@Qz(%`D)v#P$jqw?nXI>{kc-03f&9$5}Du1jA+>?vLsfNFRT1+3(J> -zXIXh!)kuGREQER`9}7ou_+D|=r<;zqy4b1p@HFW-IF;{HxWDd6vn)*83iL#&;qUA* -zFoH@#l*{E}UQLg@*2%N{{0v=E*2NaqbFE$~p6V#xCr9uWj?KlFPwf?aM29?6D`W_c -zDpq_0%+n~G0a!JcxJX~9Tql20=sw=vY=55hlC**IFDi*$o@_27G4)xvJwL&97|a0< -zQL1pIX=*%_W%t9J$2Bqc>00PlL)N`tL9bhB7g99av_WZ#2FJf;uh93;udA%PKegfJ -zeM!h6T9uFsmFC9wsJ*@qkp9OunIAjUIC>~Iwz*s-|NLFXG|tB~k@J78Fnh0%1Lo}? -zVq_w5=p}B4dl+RT>s8WP7(?vEM+2}Ih4#@s?Y4UFzYPWZZ*H&s7b9kW`H*p;<&S|b^HbeVt6WAs$f=a4Vfg8D%TZl~RD)t;P=bdtGHd6C-bj*T~SeJn%h -zV;RA{owx5haUXkI=X?8MzPC>(z`;G`CUW0)?3MfWL@OVIhmysRe@ISmO^kCnjO$(K -zv4F-+hmHsdT{fGxCw^dI&wL#fty+7Iq#-XwT^O6c`+D6X#~^>U-R1svVhy}`Xn_C5 -zgEv6S$EX1q{?Pt%BysDpRm-k$dS4oOU~X{S41Wj!qV -z?+HsS^deYMe@h^aeLmq8_!7BvuZU0d@|bRdJGPS@F%qTPo$hdMh} -z@va`JQt4wgAE$q@h{rv{SYU_qC^1=gOM>|^zk2)G3PXFI=F*3gtUh9yv3x8uVWX~- -zE1;b<6#JbXC9U!2aJ&2>c#4LDT)-P))NTTRwmnOkO47fZ1{f{Vh`m6qtY;IA(6819 -zk01_goRmI~q#vBdZA75#14j|ZoZBdEZ2yv&r3o4Qd=h`rQ@Tl<$N{1DNDHwDhhXX? -zIdl}UCbUF)5Pkz+R=NrbPAYgF`=ae2T}$uVCa<-_r9mP)0~ -z614hu=xcu&Pv0&hB1Tvs{UD^RKsx93HDVXV)C+V+o3D1bSJc6nvn%UVlF?o%i|Ier -zW5!SPn0b-j;r^oTK+@qoQny5N=bx=(?8<86Y_xvR&eo$QT0fjyH{Uc{I^2zQ*zZ5o -z-A*!*C1rM`(_K9RYW1$Et1XI`mPG0zC5p(aQ%Zj#j&h)|aELgO6+;|4XcXFuI%HPS -zRL+b2JJM^g=JxnL3}Mmm`+N~!t0tTfGH&ga3b{-nmn(VuxJUO2UbjQqM&-`jN{75R -zP@DxZRjfYbSHC>@0^l6Y;Vfcz1K`fiyVac -z*BT+KubFPsv9y#Nrs%Yj{j*MJubnh}7~!$ux8V+%4_{k)G4vR5@e4kVaL7~5V#i_q -zMO>N>yNr9@w2h2;k`)aN<{s1zM2qwyt0;euvnS^C27jppeQf??Z&0Ur#2|sO3P-K9 -z&+{R~&xa@Y`7p;S4ak>Y-z)Hu)Gdnuw)s;6b<5@!(1`Es6>|Ih*^7EO4*7V1uZv^P -zwH)%qkgU5-Q385n->!f7&jS6!p8DLGKJ~dXR;Ra>>vMniv*G0eTH@b`BMbVIAwPcv -z8tPw(yzOR;l)-4c#;J=pICb%Q0S*4PufNjUe@kb9ZpnZ57V4I0T(_jtl0H^(jc?m4 -ze7FjKO;zZx306$wC|EH=Y`yc?%SYBUW9$#qKdSP*IoYEypEYB95yzVo@MQCRKUQ`$ -z7`r0xYv4x(^7y>3r>xbtPl3~|zI}f^by$7-bYd`O@ALEOhp-|p@D>7Ohg=B19q@}@ -z(|-iN%i;HQYu`SdpIg7FZ6=!tcpIy?2t$NC_$NP>JHGqdD&M6w_{>e2Rb7NuKnn -zBz%|f-?dLV4f<<3XhX$4$}}yqVx$Bpp1;E#uDxlYRZ8T2mU4Wl@z#j-DR)sach5T2 -zDh>DsGP{L6WhWV@idFF|H|rh-nBXmH0AYT7T%?!+UIIl+c0&Kn`M*KLjRf< -z4U`maK*ncCd&)UJO(w?Pf;xZy!^cV325A1?`FBntUdg=+yjW?gDVpSx?geT@5BMS{ -zKjHNmyuO?Va&GID0Xn0Eq^F!>rL;##R38ph;S&?nWH`Cs&%Fn7>vOrkhOa*=s5u3< -zj=t)=yq`MLQ%(cO%K_@s9O}97{(~M+PXZXjRkT)LfRUT_=@`F4tx`DkBRcm=I4wPOftB^%O{9(V)RQg8_@ydR@g~Q( -zrLgRQJ5bz&CWmk@ZsgWsc-rH6JpsyH=AuRsdb{l!-^u=_2>-WJsPH9q -zjhppS6#Z#B^eT9s=s&M^@&d}q4MjSv*ihl9MJ>my2hsX0d{B4ff+E^=Q -zGe$1Zkz$=AY;%7VpjB0%RW(7YYMfSWrmlCkZ>h^^RdTj(se3NB)J0kqwR@ke>mnHw -zXjK#G(k>FOE-~xO5+YJ{q{Iwjs&uH2ySTtqfN$rRrQF_jDB#V}9Ji}H<`&XW2XTC= -z!6Wy`%_)D$7s*|*L -znV(q5fee4@0H4(@VxFXj{KN|OcZi$8#iQrq?I7(BE -zta~>>jjQzEFSoMp{iy4UzEP;K=?)R6^kQyz_zve}HYK{;=P1TB>vCV>cC&~p_`NBB -zo8AaX+;n|D`i_s0vg{cJB}>mL0V){qW+~b`vqk(jMvovJ?p(y>ZiWu#+>LqgTU?r< -z*IR#%I$?sNU9O@h#)RgCc8;usMN?VS-EIE+Ok)mWU>Z}G0}lB)+=44$wbYXRBU!c< -z?UA*K8pa{Ifj?)P9r7ymaEi%b6ZM}%O~KOU8@Q^8~&@=6)Ej&nM=@*l(fM>AKk;rCjj@D -z@jg$C*bQ0l;<&0oNu!hB&Jll~3o9&Q;+tj@`9~W^%qPL9HE)Jw)S4T3`UsLwxAdUm -z{C3kUYb2aDF`lZ$RgQil9b-n!DZYO=<&;dF>Xd%$I%Tg69dgpl$m`kSkP}{+a*F<5 -zi5>vpt{y?#f3q?Km-0{%BWD_45Ue9*?9ca?!97q8D8Rcf1+aRdj+{cubjLWbQnWB; -zjDg*}9pHsb3s&F`vc+`FAB@7M4@~^~3Z$=5@oA^&gkGGAPb=Z+rQFk-6P$nWMPZ%_ -zJ0ax|C%ht;nw9cPnI|^l(-PHD%XuDZP#(*l48V_1*2>+V_5Mq!QGmhJ$2oyC-;O*ZH0O3M+UIDuMi^RM>;0jf{Q~-~}a# -zJVvw!nUAZIw=PC10sk0Dj8kxHHI9Oo{b5f{g(f#SNXO5mjAj}`Q-!pE5EB(`DOi<7h{B) -zKQUt^(0mP}9C}AZhxc^7L5Gu7xe>{i7z-ut%#~Q08-o;{3%tZQC~=oxB7U;$bN>B- -z@cwT3ex~dr#%`7EPXT|0m3icxg8XQ%JwGnM -zOQ;hq?19d(zMFq<%{`nCR>CPELXL#-d!NVoEQj&i#`$zzKv72_^AOr;z)^d`eH2{_#HAFsw%#g7n>qEqQt_ABzyVrQF|9 -zpmqQ3)w+MPzgM46`i^}*_j^H|^Btj{_r0JVw-2bMo#HVsX!9cV%m7}y{@uQP;EsH) -zw++-8z6})OmlZI(XZm{KS++gVw-4MZdKZ`SGoE`F$xx(q^d#ke79Sollt%$iDF<+# -zVp>HG*gz7~?t%9F9-|OX&AN{(X|$AOf8Z8B8GV15mGw3%O}bsaNLy~j$IOGjDa|7p -z4c@qqDNSUN3i)+erY5P+xfJ%Yg9Ejo43|r5;Z~W^;f6`R;?WIspmBHQp1$;-N`Xcc -z{k|Uhy)(d{jKBzBpJeL?-siZ2ia8|D6|6|*xq|<} -zRgr(R8OB_v3e2L7JkSUqj|({uG)-c<@DGYU|Ij}uN{n|WW)UYcDCOt_QjRe&HN=}4 -znQauCh*!~S3AN1}b-z?RIWM%>Y7C7c^FmADw;q0%!tXHnJ=ViDnwHo`{>`MNk-3fB%0V+FLGZqDRX35?M=pl>z+h4WwT -zi*`1Ne}vz0--qyBgj?AO-{TSPaTNB7uG#3BbtsL0mWhbxgGeTFp(SQhPf9-U5#N7H -zCOIG(jLRTxpIh0Qg0uL!9(M$T-x1bWQs-Uw4CAm|&f~Bkwng4*hOUP8 -zJ4xXK@rpXM2D_?`NZDRF#$E3%!@H({R(cU&iP(1g!+BoKX{D=ShuDdQP_n;xDgy3{ -zZ%epW?!#7hP%`MZ`xU4!%Im9w`UZdU`c^}I%hZJcAw~v4ZUxW1sz65x$G0c$!g^l= -zcrLI1Y8Z=}q?BKXIOY{V?;swi@#Dlhl;Z&kctBZgVVkqw{z;5eD|wXf0lc2^JrJ^+ -zER;#`h#vGRz8|AR){Ltt;mbG#fBa*B_x}g}xa7}n=W87Kv)5W3Y>|p{Rpfu`;O>HV -zSMc~zNh&;N3cnBa1-H8&7q#UM{Qhbq -ze>?2?eJX;n1lC&V)z`xLF)|q;@xyrfDol?~)&mAT;Q-{Jwnj4A(Pg$iO;dH$$Xllt -zM`~-+5#PVChWR%4k#_{Vanyg`Hrc~!Pic)*h5kUMg-ksYnpOtC3V!RE#iVv#Ix;Py -z>i9kC^uROM;%idlW=RBYsaz6FBc*=azw>>&&{Z_gTQ8w3b&=TbTmY+v+HdsCEVSmXn4PX-I{!?2u6=F&ckO$T<#j>S7@Q -zIYgZB(LBQaTJDo2gjz0Kz7XOwau~@!pT%npb6!%>UrR5k0KrlN$V)R)7L -z1UOFw;FRR7v`aY6bTy2AyXz=-)(mlHMryc6uhUTThuZ%`%W0QOWd<|}%{x5z5DVeC -zr*eNrDXo#8eCW@^Y^gR@6L)}X*rAjehWu+V(vO)k;WUr={)B%`{MICqa4IY)OgMkT -z)nViXT#o$Eh*K2hwLMDg15l6T`iHUX2i^95snFBi=G1C^HD57}dL#6>KIF>)L|YZ~ -zh^pjIbTy?8lP9{$ZMLPa@4TL$F@~>?`TQ?>t&J(-$=CSvr3~?Z1b6(E0sqylfgQg` -ztsyb$!rTl?zCeGv<$(0ojZSf&#$+ZEUppy(N -z%h#8PYXW82f{1USZ~&CekI%e)jL)?1JU&9B`MZqIcc;CQ$)F#hyiD>*tJBSXt4#7q -zt5Elg%S70ZlBj1}M*H`@_1)U{!(`3(Dt}r*`Fxue^P5KBGMuiQ3`f#Ji(sxM2l(qW -z$5mJ0gdM;+-;{fQJy`-@loOAXU66G*@Vuk1 -z3R8+zTrp*^VlL%5Q3Yj3)3h?((N^)Cas@EquxYf+Knl)(|BBe-rjatkZt}lT0S2+B -z%kof~bCysxhxkbRJ^{bD-VfpU2xYS-tlpWhI!}y?cxER6U4*yXSs3;70LLs3_^ytY -z98B!erQy^8Mh~g(q)?tqilaY@`r0tP`10|`%XE~56!AGfDMwF#kkb!*$|~!Vo<1|l -z`iy6IMuClg-%n`ay~E`9j;Hu}SH$&DDOn9=E=D?GVeNG=BN3Pp0y9Ea^0AH3VmSGy -zDPfo+F(V3vIVzu~hGCAxjHndGf5 -zI!8g2jz}tUh>X$^G1pa-+>AtUMtJlmn2`w12((>)*nXj|Y}7oM$3jja2Qd<)awY{R -z-E~0Si5XcZ>79twURwtTpSA`iU;XoI0}{>)3>%X#DI0rxO0Rg9&c;SmrY83AX1@eeiJo#?TjFw8tb3rKefe -zgukIII|P4?eCx1Hml7xRIp+#q%F_#>_f6dE>_Sd=o-NzxN3`3j>oop1jL+rqJ&W*p -z>q=TmN_gw=x#kUfTZgBOOu+0dLCUKnMyrgdD&jFr1R4h0o8Yt;mdABl643T4;gk)3 -zT5TMG5^J@S{Z!Cs&<3DdKB^rlB7i;5=T^i8d!5MK7jn5(kSo^IiG8e=SjjNJy$g~h -zd`-Rnt@0MM?G|_RUlzzu_8cek*A?WSu~g>YT#%2tOd|i5eaLNY-G_YUwt{@=UoS&$ -zFUZf!g??4&cQ@DmUl-)(?HSh>*(ueVL+svIzCUfUZNXVsRW)jGRI+;vhLV^YYSaA^s6=5wwR4ikH2&k(_QS4p7 -zigm?Z3wG?ii(MC2U0rooSJ%3`wpIB(&vWj*b8j*U;rD*O?_aNe$eHt;a-Y+Gp7We@ -zp5lRbI^Vs;125c#-0FcVU)grE!5fA)gXB;2(z)OE)!yoJA9rAI{9hxGSv-Nb&tc7(s -zkL_d|F#gx5oOE`+~_@GJ;_uY>SH2p@;= -z8VK)$@FoZ!gYXOpuYqtqgttL>J%kTJcol?qL3lcZS3`IKgf~HW1B4GjcoBqufbdEP -z?}hLR2=9S#4TKvYybQuSAiNa9+abIJ!kZyH55gN=cZ=P9Dcd~E(~|v;d3itIF(-KL -z8b`pmkbE+$fpN*uxLoFck+WaOu8bsD0#Z|ydWGjc0O^7oFP+YBGHZZ(e`DzYSTgmJ -zDGQnUIB+FdycMZQ%BWF04Nj{a%9Rn6tLNIHnZuR#z1?S5AyY4Is}_0At}&LZ4Ed8) -z?%WgfBDqO^ualv?zC->@)G0}=j)}x>A{i^ -z{_cR^d@#gHF?O(jUh3l`r~68R7@MU7PdaY8QsTqdOdWXE_UUp7@uGX{a9)@>T|%#5 -zM~*BZf5>yZj!@S$RL(@3HJ3QC;Hjn=2COj-kS-AF -zs^tg9-V -zWhOy9C>7$4S1-x(aZO$%lNBM&T|-uP*I@hK!h6m(&DP(ow(dFWTr$ST0B+siBQK8# -zUr31iVn}~~NW(k!2t!##d{xRDg)X6sG$7@k{LrA}8TP+ECSDV&XxlefB(Wz&Pf%DtTTeE(#lJyNE|AmI` -zJuO~TtS;(NJgYNFA-Zx=T~}&3(3N^N6>4wy)*h&ThuY(!_JFtc3;L+tlpS4a- -zjai;rMNeF!6na7_(i4~T*%M#Ed1gN^t|h^Q8JsoEEL~M=mJOb2hOZmWLs{P>dZ95w -z;?*iC`+qg1SS!8|@-kB@O_)k<8uvBhyGv}oG9N}UtLpUoVEEmv-mjW!Ni#|q_@_eY -z1z0kFtxGU$-m>_L-)!hVjpF->97JyF0n&_RVfzD}>p0kaA -zmDBA007_g8C8qaLLS?#+T0u2b;uI)xB9xfit;8Bw9jw`2J?=GgejjTx%VsO6D~9ik -z2Q5j#+GCnBNJjPq*XSwe(|CI5* -z!`nL#^fE&%A3Jzk5SqZwVb+a-5^v0;@LQ`rItVumvUL#FQhf5zp88SaAvT%nuHfpMojP1g@{ -z^9v>uebAE@*TX36-;Z^Wbk>0ZC8qRa9dKtId=D5;>qm(JPKm!jiH?3?^<9gN)l*Pn -zPPY;vr^NffxaVU{zy;K^O_1|{V9Y67w()_}8|LJ6_u-{gMdYWg71`|IAUQp=3TmFz -zt>$9wEOXj<1eEwqA0_N>_?&O-4JGFFqeQ(^B8z?+`%yx7N>oFMwr(W`7TJk4D)CqH -z=xoYn7Nuv9wr+#I+O1pps8ha+y^LDUAvgntvY~&lMX}c=hM?5PP-^#oZl%I73g@|a -z4b$OFwm|NEyX7`rIHIMJbgL=(b{2LG>e*cur -zv;LG-Kl1KdRLk}b@b0gF1zbA4N;$i$n@%tC+dHLu>hyNVS6Di|2}Q`Wp`04Zv!Rc& -z=JYs*+%&^?YShy8Blqi$&Gy7*d1Cu{VtaUEGej&lQ|e+R{$_tAL$4S39&V*69jf4~ -zRG`l2{bIa|Z{>SRepk+pw9u0Lu7zu;gPZf@-9y6D+6>QkCwpRlyLw`CJh6j4vE4ke -zgIuvF3%7t)q95x)!KxIRzK -zV!n3b{wCI7zL|7VJCcd`T@Wvo-Mrt#K?TcD17JtG%KBw-fP(jvQ1_(@QgL+eX^oPE -zA@UX@_0H6P@6ru^e4ByvfJncPq-=&+@w*{j8gQQk4;o^h1TRlsVDljX{Kok#5f}w^ -zo}8|yI?rcGjR(+^52lRPJB?G)0eT5Sxs8P0=raSI2Kp>m&+7D$K2)xQ1v}cYmG+^e -zSgQ-)0V*sz&Nw!Bk2yrbu@O?s7o*fN@l`{mFcUt1ul<(KHHmIxy4!(yx)=XG&-CIC -z=vmJ_`bL;{!tc)rXw_1>k$oy+vOlI4Ld_<-8Nz2F`~!r~xbBay{4x6fQ%>WYwA-%G -zt%@yQ_ll$6ZLjw`A+6SB8Jvh&kZOF8>gXZ`vkuKwkv`il5{8s#` -zwA_b(Eu&XmcBpM1d^zJ)D7P-ny2*%88;r}+Zd*p$Uu^yO*PJ%kH0431+_DX2%ZDI# -z5)=0uUB;DZiP^rau!+Ay(ZJtVP*61!~H?nX7JEb;Cn}QY~+e~d`49|%< -z@`g8nCC8iEsSX6?_md^2cDgGMa2Uf}o+>qe^vjcDxu(}536|D7W0$07unGyiDl$cl -zC&Q+;%3Io(%e+Q?OCGA=9Qn5I?DO_|J@kCdj~9;(u6d-j$+{~IS#x6hwrxc}&wgL{ -zp6E0-IQx%o`S5vN5prC@qUCDKq9yt-{E$_mPQbTWptYuQM>|>vP01xnQkH7C$_J!> -zXJr^4o}LeRQfXxj<85hWB;zyEN|J@OsB#F5NCngxZNQSSw@Ie&j-B!ML9ox=(XcYI -zl065zNhO_DEU$WKCy=dSjVV~)x%Zh0Yc{N^mM;+8E2*9GpLP;{*m#3`zj+_p!YwOj`v7k(uDc3aTQ*#t?Lb$lqF7;Lf`@YlI1vS?toOQdAjgwW* -zuT!00r(3^r4R4^W9H3t~rozvjkJtp!cQy+qv8fJ%M;g%pdE2Q1I(drcs)dYj_%H)9~KMr2Oujh_8_McsNaWaLU;N -zSH;5hAc3n7e!T@>I&+%4G@Mlwp|em%>4h}t3*Z#?CA+pMR~wpG!G2&lv|$MGtXrMF -zzG=AK*Lcg5BCEQ8vif=B@IpUNQzWvxDY^Vxh+loTfYqv(4eNNi&_@TV=_9a|z -zJP5{Vb?*GFPOm^}Y#KDbGj=2F`lVWK?b}XC>ah+S4dN;VHZqPxoZ(1Fj3l@_feM|H -zH%^DPAQ!V*!PguS6K6etUYC!Zs&v^<^y8o)m;L9!935lt1enJr{1~;I#s}B6>|NKf -zx1m?gAZWQXgel8`PqAzc-Mf>WXR9mEU{9WVoIHPulv(SGv2pOd88jYeDJralx1Eu< -zSCQZ7ki~e&v@eVCKo3{ecua;Km7#9_i$ -z9r`0@%}-ooe}?`r<^9|3IU{3#6kW}^L;f7G=Op#PB#ZV)R$lpi7-T%v#uYJxu#G;N -zDJtXKZhPDXM_UemCs&{asx=kZTTU6LU+j5<@9U+#%$q+)3j4+kXx{{DycL#9{ka>> -zN1fB(=s -zhTUbHW*YzSoXhrCz2~w3oy-2=(Gx>CmZ81siRFzomIgq>a)>M5V}ZZC3U@AV=_^_O1c!`|=3&gBQa*vtHD -zFXy2TJ@A6v&5wGqulaE=@>_rFMgHvXy~vq;(#tvQQ_nfH7NdjHe<@A}muTJTV0W2+t@AxHTc@kG&Q=QM-gz|lUIH$E -zEX2;D*vs3M(Zaqu8|ryc!nut-@=)5g(pgE?BuwRE(gx2;L+GA+iCp6A@V^wv`c&pm -z!T7hC(gG!)x-ebIvOc>1ZZ~~P338ZH&#r-a@t~*9tW?phCbCA}41Mi8so7*JsjS~8 -zUXUJt=~gz{t*rgUWzH85hfAhqet7jSF8{H*Lt#wRR -z;`C~}L@lLn;q2T8X5I>?RRf{iW8J<~>wL-dAFE`2LDu1W3FQ^3)DrmGF9e~OYWj~; -z>|cwmUuYdHZ#>?u-k}~`Otwfdr9TKvBpb7TE(J1qC@z5W; -zn2ga&N2hD-2RGY2bRE=kf45r9o_*?owIYVIB;jI;KG#E1-_eebiCFWKeT= -zOt!TMOp*uWjR(5bVH6qLp%&)JX-FBo`6u?spEsVtdk%<)#c26Y7Gt59{*$a<$#~v> -zc-qQUV&yu)PK)M^r>wLxEA2$5hTmDg#5%=w`x30vN4mWi;flSt=zG!2jty8^(Uv_| -zYmPgyCp@tSJ+VhTvBx~I$33z8JhA&dvCW>?1Fo1UHMg2F+FqTn#Od5Vc&hE69j(}8 -z;e>-eo(HQLy)!jJ>QXyYw5mE-s#Gn1`?69(9m@u5P2}fpv4-C1Ce?V;#&t`3%IYn= -zeSgOKjkc#~l;C7-IJRpO5|me)seG4;<&7G*zWTq_^8aVg)w4gn>Cw%5cXxZg5xVUG -zk_ndBFVJt7IP#Q2uYI6L(%{)a1q+`mT#^Pp6>q1;kY4*hR;ruQ&Fx6V1_Jbdxj`^z -zYJ}y7ff=O5C(8JHzf6f{`ko(zzYoup=q?#y--py!9VF4fAzr2w;xi#W)D>Up(T|V8 -zc{a?NwGeC8fmX}NfmdaOKZCpFG|Os`Diu$i%(8kVlpO#$qO3y~srU}WBbYvrCH*02 -zo6vJNbX)%OH0w_1T&X7?KGXPrkLQdO*1Tt=5;`OOCsJm;`;lLDP2AJt+f`iYkmv9Y -zM?|K>)tANK*KDVWxPvL%qFP+FRmIp-4O-3M&PM#rX#f{l)F(euDJ -zz3}(n_HwTHS1;#;fA?Zne1tOUqif`7&&{-sv?W=z_}^NxgE{WmjrSG>tU8!6-Cv{d5D3?yy)&zTQ{S;Fh -zJ;n4Tr??+E2~bjR)-nDG6FaxqH}P*1 -z{jG(xx0xBZwiffRck;hXsde;sxGR4K(jJ5Si`%{V@9k0lFem>_FdzTwX))S86Fl2` -zwL~`qYHOEqK3YxCvCJ7z<~*9i?lM^^L_E@Z1?`rOm}2KV0dl^7@7PEQ(B9DL)J?X3 -zWPiFN@Oh*IMlzrJb2=dNDx_&Vp4FqQX5fsHsC3FU^mBsLYr3SX_*)gf1IaMva6vq& -ziNGo?AuZQBlrJKzMYwu}@n##h&!0ki{l1s(T+GgvYd((Ck)Bw}@vsUJa_ -zjHfWSy@?B}Y%YD1SwHu(XH9|`{{`(1Kfs=G2kcEhL3k&G|Ap`_2!Dp~b_jpm -zp*`y}&z`kJv+ot!;Cug|?|lb*)6Nk48^ykl^yPQZZ}E92Ks_f>dvN5wPJ6wXh`k9Z -zwy-<3Kt)Lti>jjKIo~kSY*-*C=jDxW(q7*oy_Fe%ZkL&yH@@v>nL4{nGH-m9_ImZG -z?olS8EeC#b6;Y%Gj1T9mYsN*Rh8>g)gh+ebWaEf$^O4@pVPs=S@NJ7NzkoQ#=R@DL -zczlGtDlVq!ho!GaY*jEnqn&jv}%Pu*#!K@v2 -zfk+a6{pM9m?K=9-Q>^ulvK2W0cv}rSs)WPYa$96NRKO!0vdrmMyhCQ`8K+adzCF2K1BlevH$ -zuJeQqV-{>}fTwMk#JkvcX`#LNtL1-7(3b0ev~n?LQ=ugKJ5mT&m2e$H{(pX=a&cC} -zVkI5YHo)9SiWjdvpmiOR%pFKVKv)5i77(cbnT(KyOyOn3%cD&RgF=n`n+4$i1cf1{ -zN_PYe_*Vu067X-NWv2>h*iC@t}COa{Pce(W`9z|b& -zSLv1;S$dB=9(}=!e$LN2>$DNU$U5;{_{EsH-0YIO_ZbNkYsdoxdP@W*JxQ -zo62&BN=*2HGyP*~y7t~MddXD0zxb4F45nD}qX?rqeWFfZ_d5Mqf1O>Y-@mL{hdP0k -zuz0LMHV|RC)5SNEz^{y=Z>*n+92e|=N7f(*3HlQqCf8$wh2#I#Lujp!@u%m+(DzHz`2B5~pnUPD2V*6XK(=#m@l|{yXr}aW& -z&Nsqqx0O3~TdSo8-y-89(mt)0V!lPOm+PY}`8nE|Kwfa6;^PIc)KkSN+44%AwPb(a0~Y9G#+h4=q*(TP;poKBuv+2~Zc( -zhYl6$Qr&f_z>z{-^6m=O6{os?CJ`;?%u1(k?WPpI)kZR2@GW(S^{sZ-x2C|i8vFd# -zp54C1c~^Ts<1=gyCWo9X0x1RHnWl`q28;QTN#GZ3-!#9aCa5j -z&h(ZgTQZ)?5XF}99IBv3wAXLdCyw8$YGq5nRBvcS`PFvn-7mL^_+72SQ_j7uLf+-( -zR-sjewWuUr`}Q`h1@?A-4eb@1zBelpe!<_u2G~~=_9YA@ -z^!IjdnX$cv(JK;B@g$U1=ldln>T)gwxe~oHJQtk -zXgT+M)|-W!H7s`6&05wUfg1LtHNOOC#LZgXs7)e1i&A?@GkwW_m9fLtK`sutc5`yA -zgIurIiCohmS3NssTkNo>A>RndC+>!qSXv0CAMcGtob2?4O#gJJrl&QOSI?E -zo$-+`rC*Sz0@`zbjm)l;UGo!dWO(1*@H`S?m%#kwucj^@}XhOvOK#8-WDa${W;gE -zQG1GRU1!kPwt2K(QOfZ@aB3Y?kMO~?3S#QV8W)~(*~c1xaK4dqUl0#b4WH -z{Be{@cdqA;%Gq^$PW&m|qut1ERqXSi>jr>fze+Tca8{<;R8}V^)a5Ye6p6e|`|fY; -zOr2Yo@g)?0aY9E8$#}i+#FHO`xVJH`^5I>x&l{CG1nZbV=kHkzUxJ6w{pdg(GwdT8 -zyL?PiQr)34Y9PeW0)Sj6hg7T~#_H4pW(r_Nb52e=^9|?E88C0owdNbzE~tU{y)@4P -z>^`zvA+ar#Udmo&LIU?4qQj-^FAxr~{0;-7%C=d5`Bb{s8Nhtjy^bH|?^!atM`D{L -zwn}C{OYB#PohsXN`CL|v)@tk_n9KJQjfZ(G9jM#Bbfuk5Nop?Gx&MAAQx@?!y;2Ej -zdfB41Rn$L2m1dbdbvZmm-q_SClikjysZ(HNZ$muNBw{$Km`*z>~VpwD880# -zZ~T&f#Sy!S;jXtHsNMW&IP=#LAEq+DKUr!9X0%u^KiVPjS0-f+zr-H7jG!ezX?~`f -zkjB1bTgQ6Hs|R3lCNQ$`#u%*LCE=kGu4vTQP`vjQ>N&3Y>a}wbr}?u< -zF?k4#$cur_*e$J5=;K&pigidZW^$qbE8P8G4m~f|3ECl9D^x1%3XPtTU~C+;c|47U -zxJN^JKZVw#pJd<-vSKLK?ZMVPn+judC_8}7We0g|h>^|~8$sA~w+|)KY8wl7FGX65 -zVVA4#k%lsLB5hQUI+2eOX~TM?;T|S`(&~DoAx#iz$sTDqA4J;N9%*P(N~8_%k%so8 -zMB3;cY2)9w(?&XJlFOe<-+rr&MmPL;OD3_)NHt0>c;)*xyukziozI4+J@D^*Nht>XMV75~%(~eDGkBy3d_F7T;iB+xQFsT77Okg) -z1$%*qdV!bq0qsN|zYg#O?1H8=zp^u? -zDJV(sP!dn-5uT9lL%9Mv@u0?kj>Hy92IRg^6Ek%o^iSb5Uk)j|z&T%U#FP-kc86FQ -z#VR1SE5u4DRtB+Y5c5$i2(jHDR!Xq})|nswJM%r!jw4{)%3OZ1ZTLdyr(*CUU_6WG -z=e@wox!cC#OJCV^YG;QQ_0%EgZLKzW*6OK>z4qEXYYZ*UmUUY{zkyzV*r^fUttU6e -zTz1mXz98y+<&9RT1N~e^JZ~5Q(gz#J=gO5F$MxA!1}n49wRoRU4c|JSzBLcVxkX1G -zkEYVrZmN&hn%d6oXiKX}#h39TM+%GMZ`Hdkk7w2W9J}My>eCt@&}F!;J#VfH!D^4QpAyy2})d!1^V$&!zRTz-PE -zh6>x~qvgf>vVy-Lvbr&uC2y!;spFtelLpJ3GLYw1RB}_E(_$)vTk~y`8jW-TnyE3B -zY71J%hLQf5#P+06qjOOs{M+BPwrm;P`OM^D*V-!hmY+^*YaFeAtt#&3GYazk1$kHe -z?_Eo7_z0-8%zDGbcm~Gpfo`_BcW)K%bS8V3e(4??KqvVMZ)lwiZRi%_rxfu4fKo%g -zetW#;MLb?3FS?lK$QONhyZ%(`kGJbA>?r8n8eg-aT{>!63%}OhR(7?xTWPh*kGj`* -zw}86W%h1=SF1%iUuaWV$@OmwNUlOZ{39r{{AYX?ryk0NSlRncYylNlLY&*)R_ca~H -zp~B-Qh)cF@;)HK6y)!kTacxP|UyU}3^`WDr9nw*q+US0JEa-J7cwc(mrS$fg;O@7_ -znf~&AygdfC`}SzdE#sZ*5ZXszWg6ofg;%5j$QN|;1U7nqqWhgO2{Q#Hjl)IX35W9H -z?~2vDxa>@f7nf;|bN74W9KY=oa3)aEJ!mf(!cBHhY9Z8Yvb!N13gNvF#vt4bVcd1U -zeCc-I8+UCi{@%DZd~X-}-XPe?W+k7@2YX=8#)9uHaaaCwm1Tp__R0f2i*Jbvv){(B -zz7zf89iUoz4^CnqiSwB(ehc}x5Xoq|?NuPnE@qd16m@~be!HKu-^$(eiRVf+p1n3f -zCnJNM19%(=g>?z?}?g5)q@gzKxbP?eLLV5tQRu);d=5|?%Sb$-jPL-IDWtel}o -zg0Qgt26N^?d<_|9o9FCUxb+_g5 -z|5n)du$Q~;Va>o>M1RokH=b{wt6OdTwQjI~ZU0{|&#uud|6lNh>ag$|HWsA?gIRV0 -z%#(#=w_oT^oFI#~CI5;y!whY08(-F;&Fw@;;1nWEwlK3)+`?@ku0lZ1A^bvQq5HYI -zC!y}w@Gh?usN2sIN;hvS)M17nA`1_{&>acX78cgJez9u^VGVDvrWdZ<))jj-xe0B5 -zkB3F+FmODAKRS>~KLYV7L+$uw$@eMkJgO;7K7*gD%dxG&pu`6xx0>u$vg;GJJjdGY -zhqD)qE+0_O4%sF&{6!v9o7jxDm2yT6$GhhlR?g(-CaahDC?4wi?S|3e7tp?I*OV;m -z0O+3^OY*_!q5EYfEW2%Dp3*Odn9gB;zpRAa0~m%ss3yBv!5CMlz9$g7c%iN+*0pn? -zF5~k$K}`yE>PjU`UM=dC()H{VsB>SXP#@ZD&$1(-&LDZY#d!*A-6+gSAI(Xeuh?&k -zVz1XfWxZISRXUB8XlAgLZs0coHM$&D;7v$C0!v8`JJ!~*s8P@leSnK6lw$w+s -zU9Kf{Z1F6HD?&jX5#Leh|8FMJ>f|6y -z4`O;#W@b6#2}~bp`T4^UBRiO)j7%kDE@x$2r5|D%T07RWYzo9brZ~)h6&O3Dv3M^V -z)r6h@8Gs><->mLDt{6Y9`1sAj@nbbij33q+S8)7r+_-{1Zqm*O*0bNr4h|aPpdk(# -z;1CozY+@xr#NqDlI0Umnz#&*26gUKJ9D<0$-H1c5W|P1H>x^rN!wmA_?!{oR%!BxQ -zoX7i`=C>_OU!MHdkq$?Hic;&Mx1}DhPTxxfuTJl2rZ!C#6v(2|##W1m$G7Qtlk{NI -zypOg`3oAfrKSz3HESA2k13odBH$KC7ST|%BPKe2C^!E<>`(YorZ7nU8blCt(pM1%p -z3*XkW#WMaPozn)Kfjbk{D|CVci45Gi4k#_?`lpVov -z?c=%#c3&5z*;3P96Q%x_tHa21e26qI{9ZV$XTxwFs)qB>*lbwHo4ml1ANlV#gYWCu -zrn{)WUG>5EUvAe2vjA(`it-wz*uOA`!h?PB$8qM2W%0*#1GNI1Vq@5}NGYts&yx}0 -zdt_Ldi>1%-x2#8hG?(2=+)ad?qrcJLVUD#U#H^Za1?C7j7hMC6M~<@O>sa2bdQy%8 -zn-CoY{|3W9I21&O!oO@NI@x1?3BUWMV|%Gi -zF4$f|jmkB$_$9D2S%sBi;mO2q&Sk<9_$|b=p3UDDOTjpQv8!3NBB;2qGV(U{F3+WKXLX -zLf<-9NKov5IkX@_@inu3i{4Ds6y_*!uyHy`(|(J63iP_3P5D`rp5CK$wX@q=JGsO; -z?&M=7;ce`8viFM8W60$gE_(D3<8bcUZ@A5eG_%FfiamxDco*O|k1*K-!wNYL#2MiC -z+5GFC^*)b$&MHSf2lb^)DXEBm`H=hySHG|v`(+*Zs4Fr*o1B$m -zubNX`*1@Qr7fjaBT)<`zSdG>mK2`Kna#EqcD3nAx{;goibckMRk|lzgC4B`hiu0u3 -z#Z%2RrHd-@&8Et&b)?iuwq3EyESvI^9|j?IG=#cR0q1JQu4Gkkmb$K#eJ!yoO4*MxTVKj< -zP}uE$wziaATx$Dm!n2t0gBg)D>wNa6UJmtt;p(ghdVN2PeO8UJ!P0%io0OAm(?DqP -zcciso%6BG&Bz0HpfRT9jEtCCTQxaSujPPIaofJ=J5!F67PIUZizsJN`UZQ)Vzv#lg -z*)hfkXm`)KB}!Uuh!dO0tp;f%A?SfGTNBZ_^J<4T; -zRr`MC{h9VVSEuvNrCV~K|Ag<~i!~c}bnZ|pzH8P+ -zql}uq>z`k|eUYxV3rD3IN=XVu*gcwmMbuop@=|T8mtLR+=?=wXKTyTmCNr!n-GG)M -zH;xwe24*FNy{CgKa7M;RR&lh4N1ISp;L(uMS4$S9hrf%M>2I)pS?%zzmaVwuFGTn} -z+op7~h+{AEztHz$T#o7S{uun4Z|6;MwjPJg9Xargy(+K=wKs%c-~m* -zy36K#vS-PCx=+@Xfw$b}GpPpo|wM!JY&sH72HHPX2`@J@qDstP+ -zV~r#ud0${ZrL_msvUg|%X_DM -z$<9CrYT+a>d&B5>yRD^R`|CV^JcV$h-O|#CqCM80woFFy;(8jRcyZeyqj_=LBx87S -zn<8U-xo1uB;$3l1?gd-t*48leTpM-E6gik=&1mPnPHn{GkM+M5ey&17? -z<52H;`z^qS^Wy&67d005FS*!)i}$Qlpqy+eCfFQ$&+4G}tYLuRa%CZWv&^+FngX_M -z!99~Gb+<3{;BTP^=Nff?Ji+!yKcW;%y54qYzi+?24!7RCg#OJ=P}eIY|B963RL`w6 -zob@eD$u)9`-_*yGrlgQ3U7#!j&gE{PudBVc;L2+iS*gJ(mG#3Z!++T5q+ndLDqb?tr8s5MeOtCB*{pRIaVim9vo^{{W`jpf~1RNk!*KZ{`>{v%fC -z!+Q1~sC`AZ{>N8;h?AIm@ok2gA&X7Y=uAPdACuM -zbMwY2-Aa^_ZtofuvH7V*)ScWVZ>;K;FWPNH_N~Ja*{805Fe1rOd1Gbq+BK}b%4#cG -zh(Ed8YfiXG??FN+eXsEZa= -z1!Q#($niZO%NuPCwkWg_sHb$`XdD@XGgM(#Ka7Jf!2z#m$QN^kcgtE(}k#u`%|TVpCs -zHMMQ~l%$PP^2RLgGd-FIVkJ1*GI%%bgEM)l%xm&(izGfP`A?i9+Z_AT|B`z8|89XZ -z&3BF4^Z(t#i}?<3g|c67w`^@Vy_m`@Km;ah(ih|GnL^lZ%#Zhq7O8w`_aS -zvQwb!x7#f{rD)lyQ1(CDEjzVn*=bPr`|XyUR;2 -zgR-A(x9o1bz*}CgShlrew=}wa*^^CoUzB8jweyBf5~6wIEDC2P2D0~LIn3KKvSoRX -zzGu(FZC`Hhta=ljRehFx#r3e)45$6*3X+%7-~{}$C4qWvwJT;UsMg4X!-SYPryq%N -z*@Q}Pzl;B_bAwMReky0aI&vi-noEO+CzxevU$0Iz!quRZ&T*QWQ1kE7WS -zye2a@UJv$x*CN2{0m5r~Kk?e!OMkt8?$8ql`5AMTGS`0M@UD*x?ITL@S&}lb(KivJdIJXK{lM#;K)DOA5Bk9CM8NBReZp&>e&Y2(FL*uQ5BmBy4_+Vlf!FTm -zx?cE-S^em*i#_xH(?0Mz3Gn)a@Y-)Xc-j2_z<2Gt#r=ESEsAr4o-rKVt?p??A8GzR -z(n5WtDSf1s_K_CoBhA-Gn%YNNu#Yskk2I~1v~7*Or?EcDmGqG&W!$`fIHr9DbNMZr -zZOu1ad_fPIBj9s-ta$;S-eb)P_@o{@zJNFN;IRd~z6Xyh;6r-wm;xT@!Q;iq -z;}l8O%fM0buxyXrHW)j9gT^i_i~F`kv0FyP>5fI%CJSf1Xy{y^_tb9jOs0{i48v`_BudY2pM=VQ9-EHqS -zMaWp-J0xG8Pc2mxwS!$0$s4h>cn>dyR?grF=>WYmc19!i%)0t=xBW>g&)$&d2*`7d -zE06GBTF5gK@*D|&d9HKialgG|o>`FRD9CezD^CaHNoERpa**d}$aAAB&w9x7lq=6{ -z$a5g%Im?yDu>)u2*$46*1bNPJ<@v`o2Sc9oTzT9&Aed)A$kPFNE^y_! -z5c1sV!e@8LGao&ex$>Y-%VjQn_JBMKAkR8i9>)&3m1j?X$a5&4yGdOptH`|%}9UNsKN{M#O<0#1yLEjy5+jmE#h%Cl$dy$Dapch$;13miO -zXG8xbiDs<;8Z|J3G-_@)8)^q|Qxf*Kih0*r2sN7QN0$w@-@0fV%1RWw^WOsa=pOq3 -z3*~u#t~=u=o%4$=2Q-*%bZh~bYz=9c%B)&O=#Wf&hh*X68MnTqEx$6;Sm2S>xv<15 -zt5Zg@Itx7dlIu#m`jUbccGs8mZC77Xw`6~C{OY_m#3fT+W!Y*qm3sqR<-@qIYo86H -z8*=#48DX}qaX}4CX-^YVjhrP5R327~$*#XLK5u2;Enc_N-tDycGs{bI^F;_yYnqmj{sRL=>(O*|0?23xrXhg<-uO49O -zKyt-?>&_{{b`*NJIa}#aFN>I3hF;Qha&l1KsL$9mR3jS7dz8A;D%EI}a_c1CTGCU0 -zC(*q>7IYF{>7kQ&uuCVgx3`f)d6_f!uup}Y=ApbRbz&x_^e*3d7%%2C_AuUMEY1je -zs!`elm4g1*Ap7&U2F%^4#Pjc&`0O-qm(&2KC^3 -z^96ns)OR#5=m*<(3Axx&JQqJ2__d{fG(UR7ClBS10em_EpRS_#!0H034rwi~o -zj_~O}ZCIY^OHOuCQ90Q~fcHt6*bdR4<9Co|oxFqj7wusFB|Dh^gdNPkjPmz3uE)Z- -zE{1VE4#ss!(Q!Q%#&t1_>v1ryOJH1oN8{StI4vzY-I -zJHBYS3w({@MKC$e|%zc&u)G+L-|$=XPz1B=Mk -zsQ9fmmaBzcVJ`(bWB0Yc!B1f4f5r`>&lP -zYi!)y-+KUmK!Cp`V1I9I;d_c`o2caysAW&5mfqLgiLmB=2W##mSaT;AU2`YGn)@BB -zxszbcoeXR4w>wBn4{-P_%s)S3>%{ecUG9pl$;4?r#2M$fBI1@mVr-)te=KK@6JPZo -zEqB2Rjy5a}$A+aTwL8AE7x^sfl5$iTEv3_(72;zcUgC<6l^W9(Kq1P2pN-YWNS{I2 -z$CRmV+0wqY>#c^b1w9gCt870NsddSyY};-@i@L}SWgN?sxrN;s3$c -zX*`b>YxG65idO^mSPdsoe^YO?;-=o|{2E0zD^G#Bv?`;-P3ag)DTgvEu#9wlm57^C -zmzBaJ^SbT`Co4iO4G&YVC7QRAXdW+kK>~VLD=pff@1HXyluDEf6Z6|d8a|%84vjOhcMy$5yt(+Q9c&+AHr62&YFBCe<(I<@@f3x -z*!~CI8P4r;7GSXkXw>OEAz!X{wjGk`FmOET7=Fjz*^mo1@v)zY -z#-xs+e)E$i24j0#?Vc;0!S|O>1Nw3npR29mbA6}7o_k}Rf7{;2p;M#Qo{zn9Q=R*) -zyHBvZkQVzxU5tE12wFK0(y~N{W?GcSraqcOeSFaKcZMtELs$b;*doJO4Cds3fW~G` -zxih?aNre#V{?K5K72 -zG$`&}ax>0@e{!2!?R%DqYzDzh`Kns9NgDHNpep$aw_Z}gvlv?cHRWIE7J+nqT{L5y -zSY#0tbX->KOL^lsx@8+6g_h@2=ctBqOzZ^UxJne%`?2r# -z&V+J%Qn^tnF}D^O>r`>Sbu0@kZ!}u0v*>jCuHk9Z&PCc3FVd!SpiQmRrl`}Vgmf<2 -zp(AL3f1oEiEj=c7qS8+Ke)bt~U9g<^4U_%q>ig&F#Qjo)#t8FW0r|#JzMq_YZtr;u -zt8DLimy@LT)s~i=;QUYmneEbL>|QT?>g`&Ox2PS`f^e6y8^Q9iUFwA`s+}6_ZwIXT -z@q768H8|f-=|0~tAebrdH7y^zljb{G?PcApf8Q>xC~p0B8%d^%{9I|OIR`eb+s&@&s*|B2h!+H;fb$cm#*CWf<3&=7>7W(cu -zYyO)o-HtV?-B#$5K2|8+3G39S^PRirH0(`5*cIPb;tKZNSEhc@1d>#Yv0RRL-JUf1089NmDy;DED>c&K^Bu99qr@Sb5I0@)SIn -zm3Py=MI3ihJZqM8NiM9DEe(~P`P;hXcT<6V{C!h_NRhL}xpcPZc^0|QbKWVO#m~yH -zqWL%Wa&|c{Q(Rx}qF&&a_X5A67xAbzGNo@e%g=e51m|NCCxS6gt=e?R}S -z_9=YNl<2+6o?&y1v*8@PCD3Wy-ilg$=XvgQkAa%wdD6KKT(;m;f9xjf%&CeJrS@G(RJPBI;`AsxyqewHl$Dm#Tbf-bekVnx>^l#!mdhdE -zQnG)4D(vR@SQq-qf-g*P&UP0`<tR<43G -z&_#OZj9oM7a^$6J;p?kwO}U-)wqmS8{uEzqV22?84f3U9@I{h*(kqXWe;3OX-E?C) -zt=UdbK6mE!~l^giU9Jr1ekk>dn4TnBwND>I2Lipfm|OZqvR*LDua`K-Fui~C-r7>tum -z3W@Cu{roZRAyUNEkCLY!{c^PoJ;_dUr&>LkVtxhZRbiYcRTbmZe&n9%S9A%o}hnpEp4C)7~t3l -z^v+oaX3FBxa5ak>e{inQhmH!ckq@Ld#VolLV%>7!kBMcQ>f -zv}*AZG0<{`XKdKbQShTfUVWRTMQPI&=un?iM=P?<=rgAUpa?|fi< -zS6IINWOjx-NoFM#^k29Y`sE&7xoMx7M+zRO{?*c+T~E&c(t8zp1{W -z7p(E`Lw|=m*7!S(OL{4FM3uXgsoE)a$=S!j%F=d+*}o2J(0kfiG6q{WqrxVe+ma!y -zf9$p0T8QcRwy@eSetBD0u1~OL=^FA;z9q1NmFvwO*d+fcELqvCS3pW@k=!jka$`#S -z4!yD8?2&7-?fA?zF80VZZDC%yrZCAhUF?x-8Wi%%H3@mi?s82f+m&nbS?dtx+6H*# -znqXE6xh8}0I9lFZJ&mhfGdGM*m3w{ne-vbsF7n7Gy~f18kYHECh}}WbLKkwAJ)c?# -zId?=R>9$^Ek~ToSw^F_5!};|pi2Z?L7xXEUWczxKn5>DUi)5)_uWCf7r)-g1jQ_ -zkSA$|tcQ8{!?cBv(`4U6c&TeXe^&Ic$0XqUY}ba`^BMQM(zKAhH`_9jUF;QVbCxXi -zyq<}9_=i10wtv%tznB|QqcVecTCd_?tGsPV?F~z&N&NTMU+nf@<&hyR_$~Q8$-Tdj -zL8;Iyc!3X-*o8GwvTKO)y9#{gP4b3~HYe><}k^&W-2 -zr>iV`X$tN0dxr#{YRdq_TGE6J@IEBni`JJ-c6Q8?>C>7uS}EFVRrY?mx0BD#lhp>W -z+|(;!4~Z~7Jj%8KKgFYqX1q0V*!-j)J)X}Zj1ShzNPd>iQ@~%^eSKia)>*LoIv*P% -zao8DW4>6fCSlo1!Id41*e?k^-=&bDon+Sb#cC0hDs|1``szR!P6E&9pv=U1z9=YNB -zcC+P%*E({;P?Jk;xI4{z%tP~z3fVO8I+zg;(j2}7Xx_CD+f1=_9-6oQo#Jx6e}Av1 -zT<=<5XlJMOovZ?*q!7hZfZ{Qrc+xncc*3KxE!T5gNcaK5OH0&JrTHXLBr0_<8BY%st!0BnN`#;N6bqjDVXskuh+TY(lgrV1?< -zZ&RphOJC2EA$Q8RP71U&cA3i-tEkPCe7jhy-CF07ZvNI3 -zl4H2uvu6+f+J^t0clX^W;8%O#i=sCCIuHDIC;yEee|U794Zqd{M;$Z)-{^t={X-jm -zgZI0;+3*b>_%^BBf?wl-AL8J76T#6dCywJoFpdY)8hm=HeX722m@QedSGz4)@+E1$ -zp`^rL=~obbT}Hbn&`6drYT11#TYt1 -zNWZV6-=*~XYVP*SgL{^r&e1}mlasaP!d_G^MT_!N&ulBsPaPh$^M7LTQ-TlvbIA7p -z^atW&J|#Zp53mc~1nv79?SeN$?B6=)oo&hSe+FO3{>YJTD~>JcAf3IpZQHhdh14La -z(nR#_Dz9z}TleW0eqfyobeO>j<2HS^d^?}5+`(t6w{rd;?&E&0&kWqgXO?W@vx9f> -z*`;^#*`ZrFFXLeyc!4G1?}5*b7`6`7C(a&uj-@X+!SbNSfufbM6{&n`(g;-wDxIk> -ze==#cM43}_8;`ip@65 -zu)AiRHM+7E&rJ#o>sxhQN`7hO_Jw_Mf4~s?xeV%AD`7uZGhK=SjrqrD?4LMWEWO?o -zBOfBte$dsFcKTa)$e>Jm8 -z#`DQ6nCW{oXO#hD@mV1YgJKNiA+p^oa=P{q>Xm8mTOO*js6L9NSI%=_QN4vVt^|B$ -zZdFw{BSpp|)WKnL9pxO39?SIvYg}E;w#u>;9hhLkvw%vT1@ubbN~&bG)OX(KN~H0C -z>u{-57QPO6`KC!yd9v126QVV>f1)+RRXayk4w8PNT(Da$CrcCZJ;0;vn&hmGa7PTe -zY)YSJ`2g&-1`Ws7$E5xF5B2PH=#MY51vuncmzR57x-GIG+%{K1m?z@}dI2-4>6Z9L|ImqhIRPk7)vO|tJQ9`wLZirVmpJn*$+Z1}_6mVL$eE(p3$p(h0kPh1;j{ufQ3Q4(amPi{NO|KbBscFdiw|qi>}>`diwg?}lCZ7TBXd&)}}{RYqt-|1%@> -zQSbGneoauZW;^5~!uiyf8AEpGzXx`sGV5%-7``{uSqJl^NBKPYF+N9mkk3({bod=SXIrgLUxlaY=%=lpeL?maZYghwHisd_?rR7dYe2$4X-MzPXCpKV*#H(sP@h<)*Yj##sU!QEtO%BMrM?gwDT^hC4l;^S1igFZjC@ -ze&60{{ZcMa6@TvTXE`6o^=QCgyu|;+QvKr53Z3m|F!b(syMY`6bqdH3SZ`5H);?GbV&!w9T0eKqlP+A1UP5b}-wtbd* -zhP&lc|5R2^zH19BhHAA=z+>$bFxC4&OW~wif9!lZVyXR&r=4>gri3LSW1lz5ne18(@cD#UoAezL@ZV1lR&+}aRIi62dv>@dY{&I7v=XpXJ?2F36I~?-2=!GiY -z-8-C|l?U2Zl;vtUR80mNs%qt!XU}gy};+n -zf6w!|%5xr_E1UlO@=s25GnTqXN2%j#1!!C9WuA+_?7D3!W4XqccrNx5!IWs0R6D((lYGd_Qr&yBvs#oen$-y9ki?>g@(e~O%i -z(cm)SNBZs|tG+tOQy~@l7Vi-rOb7~Ngmw7DO_(W{T3(5)ek#R2KniHW?90j{sIN+`z7jsXIuyh&f6!E8?ck^( -zbF1|$Z%nKwtzG4vVM1qSk@kLCak{w+nx%q|dx0fNm-;$m8%I3I>Pm4g;=VdBZ0og%xr29An_KMH -zkGu8GHr`~^Fqu6x(8RM;EB%HpPTfW#YO8b_3 -zZ+Vs5H=Q$>b%Ppzh3-PVdy1$-VuyzXZz^y&HsQuWc<~)&X?x~=|32hWmz^Cdpm$_=k@5{zb+|gdgFH-VNl#!lv@{AX}g7^kke~iC4FG6o*0jdX!~J2u&5MpZf8WcC1}(p5XNSf8yvYtT -zx#gW~!|0NDiE3&)HJiQ_GT+72%d5~Dk=v^z`kKj>z?mzyI(Y&sEy2Dzg5X!%bE+gc -zDp4YC5cX$vC0Os7airGq9-0@$Yr4k1sV_v@ti2`I7fYem+ -zbOF)=kYp8~T!8Ebkoqb~gz+wO! -z=z{$hV1ofx<$`?!uxfyrF4#{18w#*NF4(^S_PiODhq_>m(B5YOR_%f{0PID8#ayr^ -zfISDWgbS7i*fRjDalujmdjVjzE?5R&PXcVXe+xDmU{3=q>4J>~*b@M&cfm#h>?wea -zbiu{|>`j1;b-^YA>{x)MU9fkdy(a^#(FOYiU}pg=^Xi#Rc0H>U#@dtuEM30DBu?6J4-L09y>OHW%zYsP7$s -ze@$}1+9BWZ0Gr~1eF*th18k}b_65L}1MDyt>{Ea(1=tZT*arYx39utwu+IT@Ho%T@ -z!TtlV^8j|V3-$xR-UZld7iq|#p9k6q&~pIl -z_dqp(o(oXj1N8y)6o3Xi(9fV>f2RU8=z)F?&@%uU@<0ica4kT?9%vgtuLEer1Dy!a -zzW_AqfwltluK=y{K*s^}8i2+;&;&p)0jS}D#sPXMK;s^$3DDmI)bv1u06h<&%mWPp -z^g@7I9%vMxHv+WY15E?;CV)10pdA3c9-xgL=p=yt1E5VF=wyK20MKR+f3zK-rvbFh -z1N{O<{Y-#P^gt=3y&RyEJkWZ8UJ2029%vIl&j)C`2O0+GMF35EpmhMf3ZNYx=y-ts -z4WOMKXcC~O19XZ9Is)xI3!qayPzBOn0nlk4Xahhu0(80u+6>SO0J?(*8Ug4Z0GjbY -zV*tGxpj{s51c3e>pxqv5e+r<#0ch3(^#k;`0L^)zIzTT5=q3MgLk)nQ4bV$HP!*s@ -z1N4s`=v&Bp1?c4-XaLd<0d}CQ273fj{up423$_Jd!vIrVutx!Q0KhaC>|ucY2w*-5 -z1KRB&(`_HH{|C%thwNLdCdb=jIC7?muB_prIn}DH%tB6E%6Eu9e?#zl8sMv}>=!ea -z4lgNWdyP6S-{|A@%rXSuNy-|83G!LW%0f%0^a$-#{pz)Ty+EPPzO3$+RW+ne>*k4G -zzSBZh=hzj&Hhj}?Xl-(1VAMB+L%?4yjE3t@TUJ3^zTs+%pDbI1ZOQXDn&c|v#2O^I%2a4u7J58i^Q%KfHjCN= -z$aftO))L-ro4i|Sb>gg!J>U*q@Ec@;f45L_k4j=Szg^?ke^6q_?A{QL`%`{w`+VMZ -zKWT^WFSillat_uTg4eOkz?S*QN^@5hrzr(DLrxh>%(7OTpf6Y`iL>>@AAtbqF3NHMbdKp#Qw+MWKm=WX^5zvKp9nUe2H -z-#~mpZDoh?mBhy#NtbM-l)1Fki|5Lh+r?R78SvwdHiyTXAToX3T={ZeVkkY0FIpYW -zi`kJUeK3EC -zso8nX{+uoL=i3!y?G$baL@|lG+|R1zuKX|MHd#Z7mvjHUT*2cB#w~I@m-E2(Hp%sc -zvJ``YS6ZCCoOxH9na2}3?UQMXv!PA2L9Sq!r=JZ9&L!@Y+Ilwg=m`+>iF8B8pZQw0 -ze-)i;zf2C=GM$8Yo%Z8)NGT-M@Y=2;`;DS~XN`4XQ68ioT -z7*6!VxQbLsKjOAMyl05d_Fu~Lts=<=j9=x&ebB;LS>bifa^9WVV4RRimLfNBe$rgd -zPg=&1+uBAC2$hvbOjBK`P_?XWG0pmge;W0b{g0Yv`$9j}%YhNo>{}S1!Ez|V%x^9X -z(QrAUF!Os0BQ#pBi!t-Z3+rgCY^aRIb+XW)@v>IfwUU(lge6@K^}!EVF>T!e}p3t -zp5uh05T50P>mWSfgkun%$;11RB`l@j=+4Y8AxR6zZ8qm<9{}UFQ`UrV+v?#^SsQ09 -z)D*SsZ?zWs72i-|PFC#Lf$U;F>$C917pT1NvJ@5NErvCWqn4loku-e@QPZHvR^&Ty9qa%3Z|eXJ$F?heehmqTGxNx|GSc -zLc|0gobI+Qx{|J7E0q!}smobOTghrRtG^Q$vadEdc+ffjGP`DBKd6YWRQ|%P6U3%N -ziNAI#9OqS`J<9?5m(Fg-ejd_`tDwB8T%U#8PvY_q9Q!9szy_5iCrsO0f5lgb7S74{ -zIUIeI6Wz3jkZ%B(pUXG+gMht1&q)m-!0%l#8gT559uOBgM%lglIp@E~--!~$G_!^u -zLP4OmC&BMwBx@w$H$!q1;e8}ao8fnr^ZhgUj>GS4=X(Ww2e~|bkHLNOV7-Z_s7~=a -z=G)@)(e&*xzu$QWSPSjwf5i9SgbDa%jtYHTe8RLz&__IH@MNqcPMd~rnib=n9PV9| -zC5ih|zDwX_X@cIi^RP{_0XO}EaES}o#pS!m9rNVdkC2@8L+GgHp~S;k@y4^2zwwyV -zRI*A7S)F*GV=`d42`av~d?#B}kqV5EKI(oe$2amWE^C^85j}}le~dridoSRk-}?m) -zOZ%L+dB8h1tQ@4JPJlN3mCN!rkN|BYiqcF>RneNr@X}>jV`50FkTR}J*dNDs*2Ay) -z0o|7#Opm2!)63}f<}`DBcH+ZiOH8A~yF-p0Lb0LDQJwQ*w)RfG=LZGi99tw0IKGq@e&pAL7|WLja^?beL&Ctiy_~t?c^IAm9MPr8?!@E3%@QT1$7F4Qyb*15^rjQvNUbT -z_+=;3$ad(|dXb))Ks9msXFr#J4j38<#8q;T|D7M#t`%z9j}bR^>CfLrCi&og<9SC;1BO2%XVANpD3Xn-BVtcvl0+JO{EF -z!n6IojX?i$U -zi1YPs0{CjhuvID+YRfw-CtJPt>MI#K!KoNpp)QtDD$h1XY@_4;_rPS -za|!+?gLvxjPyo*y9tz`$!$T1~Z%mbkVZ=^^JrSk`O;I6%kCXuJQyk;}FJJ+VZz#Dn -zF61qn0WF}dKb?e?2Dnso>54X!zjA5`gGAweH&wT_e@<>Wj<3UM2l5%W2)ct~xd-b1Ip6oqB%qH&x_Dk7(2BMX -zrZ&OX83Pz2s3J0l_hQY{A`qI -z*xDW@f5O`=od@_g+vl4@D@G)bP@uK;)<_3nv5m7UnN+?p7>Qt91WM~(g=KBrWeq(f -zJr2Gbd?O=zXP_ZO6xb<>83)qAB#NaG?fXrQBU>ljf6$9?hBOcJ_ErYee0y_9VbNJU -z{76SAiZz@OjRdpPf@DiHO7Z&Q8GRH -z5tpKWR0~B5Q8*3b8cL=|r%iXD!9ozoB2yzAON8=;Z$JsWp#c09}{3T#N=u?huX0&joLG`2x-#fn05K7Hp~Cm -z2&AmSw1sKa7i}bKD9g111=JVv5q$!*AUvGeEo+4EMykP{gxOZ~D{-v2mKyxVNJ#6R -z4Ky8XZWuB?n;~TPX#d+-3dK3K=}I-Ae>IST7KQbLRtc=7;)a{n5EG`;YiJZ}RhWMV -zf*L#Ker8CYgmQ~M?iC2~@?CyZx?AJA?ox^&I2vaL3<`MU<^W<@-Ci5{el|qnR8OMZ -z-EofX#&h}p@RQ4&eWK7y!uR85xu0@rEu;;oDdlOzxs4VY#Qs2ENav%SPBK*de{NRk -zLV4aA|6r%ZWAhIJrsN+i&AN4b>i`~d)q{HH{Je&dmSrBwyk%-GU9PYvudO`VCj1S! -zc^arUFjkw6h)VbY&O5remoQW6;NQycB}4pP@qo4{19|^VlPuvp -zkedUjZ92hsbD+3rA6A^b539)#f6XDqMf(G6e;2GkmM+?pEuFI`>w>D$CU9|48Pb%Q -zN85DKz5v^oxwTD~E!vMQo4p_FF&ZGeH-z_wFxVmy)N;!so9R7gd1xvbD3MZ0+Lx9oVwPKY+V+ -z8(F$|Pu8pgexX$DgHy_;kEtR>+Op|`PB=v;`j;-*lMQG72&XBWTZNi*?y|*uu|A5{ -zgYI)u7yLT0{d4%&9;CQif0>Dp?SG;Q+t-0D+igE4(m$zSh -z+{E`zk?)=FF}R~C72}vrao<}7-#xDH@5A>&uJ7I9d#&qx4}L!kf5Ts_{~M<8lU(&< -z#7fHkY=ycfEBVT-O~z)`oY_N?gKiCIEaV -zj!PbzCv8bx(Jv(l4@^l(Lbo)OTX)&vh>6*vWhL7%l)0+kRPjzNCiJ0#ME)Y<7(Rc&gNI7O-Mn(oLre{t1n -zzyiB<2urzV&k`q9O)9tGlFAJRi+dgjsaK#huDWEeVb(hcf9;$+Wc(?waB6>-P7zZP -zF;A>EZtFk}w~YU0Cwga@>)36_`(T3bG80QtditMmLc{$MX|-97_7F{$)wQwl{Kg3w -zM$LAc{I;2Z8_NVO7#uPV!W${f(B=7}xLdvzqfs*6kG|Aqq3;4d2bWOQnT=DNvvQnL -zOo-laegEVde;yV(0^^k!fijeKXMTl^4}<&Iz%%(wQ}6`F1&b#Qu|Bc`jOil33B(lA -zF%8;GQugm3OX&+?oM&|EE@`@Qpp#opT2Ji2jzomy{Fs4CqB*~wL;^Zp8<^QiNeN2F -z8iZAr@xeH@D%dX86mL@>=ThKaKHq6mF>@fFQI}*pf48OVNVd}n6i4mKJaueR%;EF= -z`beA>Gpql{oTe7nq+Y|7rr`64*9}Gn$Z}(tnTwVi6*!YyU_=&kt)HbT`y#dg^r6F#Im)L_B>UoG?GlQboSGD&#>^@TbS2kJ^r; -zGj>J#W5#PGSS#UgB|1TkxYfprG`1o|PY0SX;m6&HG+~sEhyTU8!}ZqW(18?2)$feS -z3sBc|k6uH?ct0(;)>k_cz7=DZ!%2xk9UuDKe;Dmv7e-qmF`92Uk?L3susfk$?bOF* -z{qbIQb(p#6Gd$PF(z#D;$A;0~&&u?NdFZycs&w0({OnoB&z_&aI=BOH=%E~ku65zi -zcdIn%FJb^E`XchSp`Jd^JMq8t{e-r!H_q;KUseBklVtrT -zPX9Xf%k=-PTyfLEa$ovd{gUZLzqD#Pe?D)DNSFLCbNY4H%vYt`<7=Y-^EpZzN*{}leS!b>d@b{@^r3K_fzK9rIYmqn4nb(aLyzX_^zXH -zN^Fl%#R%bfq*OWPa03^2EW9(uAm6#Xom(6~LaU8SQ9A?9!VSc^^-)V%@ysnVf4h@$ -zVkxg(7Fy7q1e(pXX|fr0pA4?Uy_}?jHoe=fK^BoR6)(4x(+QVjxp3AMV8rYOqzg=b -z%BA776)&+S*Ymmz(<#G=%TVvi)$WvfUtqQIN3J`9u_$?w((XY|#dR$@*3$+IT#?^Gt_or=cK7;44|eVFO~>d5fawRQx@TsJ>s -zW9eXSd(-50#1fhN0tKKHCcqdMGl#Ka@-Wt8Oa>b95C|XQ;ZY13SM&EafBaP(AG$St -zszX^ZaVYyLeX1_#PdnF1I*iqHHEZ^;4q;w9R!%)+v~{aP*=W5h(We3v`o4(-YO_bV -z-m27VlRWHnXvoM5O*b-cp7e}T^If$QlyNejkE`)@n~c($RZ*ItYqZuZ^wy9xusT7F -z!YchsHp_KBPlnX#HyrCGe{O46YA`5u@GhDwLdB&pE^r^~B1}#2dnj72yn?UK*`!!J -zgvZXV#$4MkVw{yLpk!8;_%1Fwl%>>Gzgyq8Z47;1!=vwuEyvx5EpNk?i}sL1dHJ>d -z;l^DxJ(WY5TYp*Fek>Zlfc1Mzr(D1BF>G-ZjYB*-E{UpbuEW^afA%Er<+RzQoHqNp -zBPS?mm3^7uS=i+Ks`cnUrX<&MW|y>hbzQ%pjHR^UVXVXsVI>R3P1y|C@7o!$0#S}M%C)`$NlbY$kN(f5++*j-zwiH`lSzwv8~R -zo9miO|7GVhwEkTyOGE2?Fy6=oz#DqjNQm#m10B@SDMY=c6Q@}U-n;6Y*ewuS3vB`7 -zAO0!nt;hqHb8(r2SH9L9Xp@ITpg6!vJKCZAes&HMW3)<_y)Uia8E -zz)MWte>ZQ=x@}FrA>q&xx38w_Bplj?n)LxE{d-L4-{RY(&gEK6WtJmpOA`e$yQ-l| -z+p;i2xM%Zd%gdJ}`FZ?Z+xH97I}dWyLyk!WpHE1@y=rFKND(NDI#8nF^r=y3>d7Af24FApA8-vSe>-%QnyyMEbfOww$h~3 -z%yN$8e(84fwyXt-S>HWaN0^o%`CfbxW*W2@Ln`I|UJ9B|@baEF2V|QOQ!IoHhhd~o -z7EFNuqut}UqJP7oW0r=@~HbDWLo;sY%v?lo3 -ze+gK}1R6()De}xaCNKSoLOMqpG&agMqu+^7lC2OCtJ=T4_9) -zq2kM&>iDzxm0GLkF-1}4L$i^Nk?%oqOW2`takz~KvKr@{X3cQ~t<_DeTJn*005Sxv -z*SX=sCVs{l>o412iaTS5e^A0G=xP(@f06By^wnD*-_c<5)pYs~!Bl7-~aglf40-{m;IixYewLfX!3 -z6BM0OtLl|})@-DvEome9{=l&DcWz_j2ChY1?8X(dfBTdq -z8JmuIfYULza5`o^bL($RG`;#8hr9GQ!ly_-WOrrV{^_P$&e<{WL>6uS#2h|>H}1)= -zhw@5#Ow~mFe-!hGfD(?=UpBMdEZV6vW -zCduy2q!c1$%1Y9m^b^#(?MdoL-%u_!_-4#?XMOkjvCpejmOQT>ao*O%p4-=wdOmYh -z=e|c!*8?q@G%L8vREoPyf8|ygVpV%L2RLiRCJR0JS^?4`^N~J+)}|MzwQnrf9-~}I -zTdlPOFMdhlm&|;duY^dM91ocDIQ}kzccU+|2FJv@qf7L2$n!7n8}q8;Sb>JCQt&s* -zw`0FecXz_YRmUKO*)Gml31{_qK4uCZvo^FPnhZEC6PEvQpBKwVv!RTdOOj%F1LTXr3fqaN -zN^po%LdJ(FRvpO@f0HuWR&C{x%xewHd!ER%@{W1(j&(G@V=+RxY{_{rcYo(JG0^-9 -zw)+avD(x6%`Z)eM*bM6IAYI7;O%N(-N6D~O^ub8_P9SUP^I4OG{6%^+OX)z3tKyE| -zMM42Q5jOCfGOgJk0-DyAFP#DX_z98QedX}+%!~@VusXpee_}0Rh{xOW29kcRNH;Ju -zP@r8T6%;q|E{BKEH@bXS*ArytYFg2cz;GOG3g#$@M^p4tpRF`aM=qC;{=@G( -zcaq=eUrph%f7}mPLRYC!H;$AeP^W^Dd{cpLgYj=f{LexU5Hqabq(6h0A7;6(P^ZHR -z&~mRs7B$W&9z_aC;k3+FOWGxDoGvU-YXgP7D1%+PU1YMBvE-kUV%EFe^78OjVFO<0#@R6yzX%X#;^q_Wrj+njJYpF%c>45`b{yM6sXyIs`#MI&PL#2}^i-6xbicm6BfVh4z5ESLNW|Vs1k6@biWBSj -zUzT#2e}xGLDr;yxQ7kA-j}ghR@5<(I6e91XZ^bB97Ow1(F4l2<40h5LH< -z+W~$Ojf1p3hXX+RY4sDu -ze{T_G98jNnJy8M;L?*xeh&Q-AoEBAa3W%50XGckll;|-` -zscR()9Y?yKX@y%ErM7PhF&k<$)i$81s%?8-)>5KJF(u5(XXFTsuUA0wlvPF+kB@S(hn7mC2TGoOUi7V6m#H{Ne{t@@Q(I1xs -zxXT{PZuu}2+!6{>7EY1uCyN9|@R{>r3`C1grN7YcaPR^}ydXy7SjhcocFQLrx}4&f -z*MFV#!KgAKt<44kCP{z8jWHe!Iv4}?+!e8if+>WRP>D%SO>e47VxVTM!_}p@|IofN -z{RQSJhnyDb`gy#K&(TxIYG0AMsS}%smKG_V^w8E8oJ-aM7`A0kLf^KP9W}Iljyq%8 -zGa+SoU|V)`GW%=~-yhSE)>C&PJzcP-V}EUYoqzsp$Uw}zMO9!8O%-dXNvxsG{AAE? -z#`Ym?jw?3qnnMluDYS9}Qxt<_pG~@IX@gpt`8(`QVVsbbM;h^>_49K -zJLi#zK0&|ThrP8!)5pUJ)hcO%=YIrE06phgI+@2h=K1;U=t-niP!iiIS<4Pi=5kbB -zB;wP*gXIcn49%09>qvtS21iD^Ur -z2o{r(`>C1QhhxlE83%~0h;qZLL -z9p>PAVGC67htU>xDRB%dC60m{&GO_gSxrZ(lsuYq%4`0LEkM4Msf#)Aa+jtv8jkbfk%S)sZa`*y%62{qO#{-g11@AIaQ2 -z%D>fHqx@-=%%fcP1b=QABmNjx^NIV!Tg)loo$tf9g1#D%UtI??P8)#A@*9{gz*D8+8%}=s -zHu!f3dm350Q2JG%<-DNvnZK1JNJQpAYD9vL^Hye`$|H -zYeHNm&wp``J&QXj;6op7_fUbAY_e^Vc*&&iW(U6yqq={3M@I*>*XZS%r`<*d -ze%HY_tg`w}aw0|liDsbko#Up}{{W>n5`@neP~ipBCIuEE`qtqAl6zxNa2WunZ)J1} -zr0|gf>I4NU#*;#(Urqm0-U`eyy+T6=N#D>~4A0id9R -z^*}W@khNid4mqW3`y;%!`c}Gajd~Q)j_3hYsqq8?a6?4CjnyFh@I0aWp-reQMpXza -z1>Mi*2ll@9gx{|f{1D?CT1IopL6pRnHfoZPzmKn{=N((|^wjKy9i;ZIISIxJxfM=N -zQP)qrN`JkPBBF=TV(8zxUG$0$cW`Pc=K7gzVHH`GFr( -zDOWGNKJor!Ugd8W=-El--U6!cWDVAse8+E8;h#9RNd(V(QG<}5waEyTbih8&8$M!V -zjdT68K;`585Glz?oPx3Vsd2kc`0?ddSKkyqg+#f_8-(tRO{gMmy^3-Jyj<}{g)far -zw||+*ulLqCg}*hXc?%jH&1Zab#P6NCZ2IlKS*Yjco6Ot#T~3b_NI`>Ds0uBY0*5Ui -z&b#E+I?@c-0QbQUpv`w6KG=p{pAK0iC@T2i1_a!jxoEmT`gaNi1& -z?hP^c4Z&|1ej@~J&9Xogevt#MzZ{4#xPLPr4=`B$khaheg}v@0cHmD+TD1dBaCbkw -z|5qga8Vdlv2u>os8>T{Pz%Lup@C*251K^j&6glx=xIIq6@+!sSrX7E6D9{(ECp~8X -zcCq4sfdIR_jM!!Tq)@0Ygj$38%R`B?`VS-NZ|N_mHPMznzfMwqvFrQzv-3U3gQcS{=KXm1p+Anmn4Hl6J5nJb -zX6u^RJ4C=}Zz6b>QuN|JumsYl=VlMb?YM1NUGZtPf<+|XYZ -zIxRx}^(2^|rTAWP<`TeC3;0ZIaDVVikI@0EFrZ{lhSjJ9sPpcr;342hbEMSX{CJy!uY-~#3Bd}G36hcq~N$@`U3HN<<6OM+TRB?46eGRu+ -zq>GlXCGCDUP4Ne3FDDXP_`Bx>WlNx#I-M1b)0yL+_)G7e+*VG5<=DzOiGRghdPSQW -zr0v-gJhDNv*U0zF)2ljW?sw9EY0~G;DZD(CaYNjBb%U^RP#ivyAsvgBT8fp^8Co=z -zI=)iA1z$Tb4!O@LqawVdudkjeqh~Pa)bS6fV`r>m-N{VS%x+s&1tPuG6c2}*)ftfT -zG*$eCnw2-)Xz!k8@M2 -zT@|&j{`$4!9f$kigSuz%JI)!*eU~vu&&q&nHehKNXX6OmtbS<(=6`(sHpq4PsI+Nh -z{K_Nu^=yOVhayuOml}V7zfN?Y%EXJvm+iF^@@j*S8?(vx)S*N}PN{lY#yi?j;$z4D -z%4^~m&QjsWs5M7CdV=pZNIBxuJo0pJuaNCNy=vDF_xwiFO$eTb;wBSuBDz>$mYXI3K$)zeOiPIFh3G%Mu;}>!2 -zWPFB@7x!M+q!)!dT{i2LM)`*RzOR@(oed{iI&dyfJ4KX4IlqTEdx6rI!vWX62tfXC -z{$KBllp<&`g=CG%Vh!&JJE+XlK!6?U|mE2v+6{8z(o8Sui6A_hCGY;*htE%I2(GG_%MsFXa>$5oFnh? -zuZZ*YZWb+5{R&dOpGDtYr?9dD>u?bBeUa_vZ+kuthq~S#N_@a`zbI^pbcmPT+bDg5i@T*#<@Bgk9->x#jY90Qv0u`MLVphgQq!rd)O;c<*|65s>C^E9?dDecPGWVO&xEc22DBs1{iJ;E+~_J~3g6dg -zujXmK8;|HD{5?Mfblrz=8lkNegIjA^FwbSt#V0Jf6p8KMv9F*$F0Hx*ZBA&)f)GgzB9M&0(3ac1g`M)2q)=h5xRy%eCTt<%;HxOxrY<&KuR&gmD2B~ -z9kmwyiL{bR=>!b>3;qUat;wHXYgEIV8gMt(`+w0^kl2lT6MP+2`Tt96bzb6@!Tz8@ -z`X)J2+&NW29b_DtYMV@@Qo8z_^fR0$ulgRYliXd%S%=)ir@7|r$Na4Z$zwhT>JqQ*&RH^MTcm#E -z;eU-5$Gyf -z)scVQlgonzNO8Aw*(e#<*HH#mo}a(0`hR#nhsCS(G9{-sN}ovwriKzbBfn5`TaPRt=LJd@evCobLkv*G&%wf23M -z#}?ap&RUQ%W#_Px@>^C?f5S@JxlHKq;d;2V(Yb>c(>bHNW*<1Wm$ZrbM~|({3xB#L -z{4x(5butC~Y7cztyQV|m|K0;X^;}8!U*Lg%?;Hu==z;&a(Q@EddEnPn;n#ZL?XSyu -z{IiEXy1r4;O@H;kKdw}La(m!6SJPkNfupXefM4l>&wftAH+kT-4;q6%8rJ1lea6r0Qh(x7W*RFK -zSF&jFR6k;+#2?^yE&N`>O3A;l3OTP+NI(5SdNfV^4N_bWSa1oJ -zM@z|zAiUHmdlSS>YA7Wxhu^!+QsR81g4&lSE?~0<=nn%nwsQ3|F>tq%^fH4!d)KtEBi?J!yfoM -zhTP{jdEn!k|F0JmoySP?qyg5Bwfg!teItq!GD~?tk^bQ%!Q6-{*l3 -zOp)bm@xVtulkop|_C@G(#?Q23;!%bcGw~*SDcok>_n{n^;0ILaafvMBMo-!8)wVpa -zT|9#PV_Zv9nm}3Q3 -zd77DMUsXe0U16v72G&M~LS?!eTL>5QGF^(lJYJmU|8Vv;*P|F@&b#sxfUCN4C=I?_ -zPQD8Znyeq%@?CznxG5>_Gq|Ji6|JA&_e+^O0K*iV@NE#D&40rcV?3|1l(`#VgQH;g -z0&JF(=U)*1MhFYpLr# -z2oE^n|3J7G+kZ)ycijZxyc50^!n-)(hamiIC;S+M=Q`od5S|0!FkR7g4}`zT%S6AH -zX@82=2ZxPl0d9(2kFW$y_)Qaa0i8E@k*aBwZYDruF3T!62G9;Xy&3?;^MKLoto?lSqPe#rRg48apPk=w=-c{q$nd8QL)7*364GO)^Y&z^OkeL9z*##|-4uEWB+&+^+ -z+X^b&I0kNEW#w+}Ycj$0r6DehIJG9*B=GA04GdeytD)z&v+reIFO(=V?ADe?o_`&3!z3rnT}r81%H98mrAYktyCy-y -z+2qNY0>72XQ$UX$!s#a*aZB#6*=6$d*fG6j^5obt?Pc=J*fDmQJU4bsv`n5IGX~F5 -zukC@iTgH||y09H3k-q*t{Ggn)cY}Yf`?0jU|GekC!h5zjuWE2PZDC3^xar;4!QsilVQhy)JPwFR_(5J$&x~fUo&!p9|=Fto0uYvlaJ? -zU3TZZ(Yvgscl@s=%drC_ub&O_HzhNhzOL!$Lby{6CM_+TBhF -zSF#UQGFlVI{%MYU-8|Cns~9_DS+FB?QtEw)m9j6OjNW!i-2634Olg<+Y~Q?s)FVcC -zk+f@aT;6Pw{)OZ?^3hA&m`!+e%75R3bi29ik0S5)jrk~N_#2ccB&aQqb}-x+tYf;s -zU}hKc5G}5^c-_>Ayww8|n`!BkP2QX@%R!6t?lN|eWz7DnGEk#wC^3>9;9S^aa)a<2 -zulDgtzm)Zowo^;yD=_Esexo$kY%Ef!UHJ4wOKLAOoBStGGG1ae-Nh1&Pk)WC7lOR= -zUG%v!W+_9)DLLVd<`oE^>@GqV43lKh@hgTb~b6LXz_q-}gNe5+o#n8C56H)Go -zIbp%0wwCLv{Eahw0tYThY-8(Tw@6&~UX?a~+o8<`|Er~0?2!_Emz9*a*>ZIoTdutW -zbjNQv4)r;Al8MdYEy^aDL4UCpikWxWlCF2ylJ0G6^}uiYwPYRVQ3|=F&St^;e8TUe -zD0^fo5K?$ZeZuF{(9(X=8Y-ThGrA+(x3Z8&$~DWkAVrb7_3P>S3)WwCkbfkHWBhzz -zc*Uu?b$^dn&x5wW*yq7hBhtRwnV!3O?ame34s5iX>I)njp2e}@dw(8(LdDsm>#o^$ -z6Fl6vV8*PR7ICW^4ws(mP}4amsqww47TlW* -z_W`!+DN6ZEflcGp_P^=0pV31{`QCAB%gJ#&@E|#EZ+hY8>EW`y_wO1J6Gt;ct0p2ef_X=kxMxU^uZp=WbJESAUu3Rc9`RY|Ia#O)0OP -zXXhkRt7jMD-od#wpW^t&_7*F#H(1Gfjg{(OWu=BUU3{*!&5}R#A?NEbZjFGc&a}@CK2dtKFsY6>Xryo}Bm*JoJOn;X5u_G@b+C|O()-Eq?b6)fI -zX`4@2E#1Y{cJ5e^=isMKJl1HnpfO4 -zuVK*_D_bD#?!1n_IXpDM)rMRNSTDxEQTr8kJF$k0JDu}TnNJ$I(VVHLZTizG$q*89>mB8?_yK{*__Zvyx -z9{Y`i%#k$GeK}z_f%3SSwvh1}G9KqUV}ID#g1=BleID=Js}q+ahm4|Cr<11Q-6Tre -zX_S8%9H$FA(+#{0I5YKJ=1iXTgSMb0hm5V9iY`De%JkvbP-1G%aB)c=j>X5I`CjET -z-~F8CW0srd8>C~?d<&d4f&CF$*(C3#JMVc*zQJf#%$Z~SURawyMb6*N&iqMRVSnGT -zCH-Ba7j;Y0i--gCHnh$;lC^%S(+^iSIw#_hwn=|-c;p|O$?OVC(0eb}K1mn1by -z*g3GNB5AQ?(E1X6nXI$$#v}A4$EMSyd?2=CcU$1JVn(-?bZHh-PNv;(gJ8-T@T-%W -zMMs;iZA_~+?HyN1%qkczIYG|b(SPJVi}HOY;f+MXV^uiTyN@mDzkpSv|8OKF{TJ}; -z%TVGzeWV(HJ6XvosvE>YD& -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 -zb{Wt+-9{LGqwuS9YZPds!mzfj -z?WuR#6L;DZb=nhj+QTV18q>Oad1xg4OiYz`va4F8Kl-Pr#Mp;$+ap=clvYkCQ=lB6 -zYM27`!5J76)*{|=(mMBM;+#zr`P)>6`cZNZ!&-EkZ{QZi7xcR~vsoObC4x)FhrNaB3S4TtOK6V0l_m -z0#_#-sESYqzgMeb3^;AvB5feO<&)#-$a-VqmNgrC8l{_|75Zl@|Hd@_|EN;|b1R7XWkEDo|xwWy$f=G8STwaV{Q3%~GqA -zgO0Y=Du4MDX`d{!&u?-n0JYpuj~GvXAGf0TMHYR?b;BJ#ueLBB5*I_3ZN+XK80Tub@7s_+p}@p<)l@i{5zXGU8Pe5 -zjTLlJEH$l-D!-T}m)i21j1ob^&$T4?sI<30|2+{ZyY!2JUR -zg)ZNjq&*;MzhtYhBWDx8BG+epuH2zpJB0n?JmAJMSri*eT-%-j_`@CCaVc&|)ZQ$eFJgKb#_d|KO~I -zi~Lfr-0$4mcWRaTyYE%^p|t%jt+kBu-^0D&B**ZAV-sDOp!~@{WQZ6}L;%Dt&8z;*5XAIA~Ps&#$(=HWs^8_ra%5K1Ut|W`7-D -z1SrZt(R7SUNG0y~sUF#FS -zhm3}zI^(%ltFWzPlgFf?desPa_fP3;qZ!HO$en!e|;(b5J?+1h&0`;E2<)qq_ -zaiRT`lvSqdS)00BXejZoY!}zrXag9t;GW%7S^7{ec?7~H0qi{{Ef*i8pMR4R`W+Ji -zzDt9-q%E~JR93SMw)V)Rp~PSN2f4ouz!2J|$*%8!t^K9?ZB7D+&(=;4BS7WeSJ -z<>wU9xz2h!kN5)(3ZDE#nE~Z?5x+JQ?q=8T)um~H85);i*G>ambWgiR+BLL3f?Y%cTjE$2QLZ-WWLK=rOvL*H)KRRWWG^()qm5&VUfMs&%d@x -ze!uRVf6o%dKpw~H#P9m~SD^NVoDd8p9lw1wo;2gScM5+mNy05R5!#PTf%UNxFsUy!b$|HfYxUrEvO`Wkuze8Y{!cLp^ZdX~V>E^~Pf3oS!G -zo3lv7hqu49TK0WEhI`s&9bGTzw@9fxeS&@stkQ{D9c>r{?|<;29`~{S5a;-&UoKcN -zDDNpO56);gbl+AJBZX7+<)o9PT3Ks?5Ic#xc$}mIZ}pVZ4-girefPlk+Q!=V6!<>K -z_1y;F^X%Gp3w$5fQu~G#PmXteBVVYYRko|o<)1>(r%mIeKd&9~(w|qvkyA-P+&-iH -z#ypS>aeqHONTcSs|C$*N6*2?4+5YS}lec!hj`lF31T8t*fm7AWcYZhRs4~K!1r5WA -zOnw)*GxYhxGlj2_>$8T+`4=xZr)MZ0lCpF;*?;duciyPVLx{Lp;{@(E;YO$vN1hBV -z9CP1nL&oi54JQ5|evONBUfY59j*RU~`WIDQnJHWrCE)lwoeT9fay`gBQ^JPJYGXo9 -zN2wKZK63JCO8qFX+DIY{PVM1keR(!#$mq|joMITv3kqTm*VBaCV-UGG`ch~y;KoRh -zkAI5s&%D659E+(3vp!`f(nn_j75Wm)?gcqKp?D4YP~z%b1%Au)X$EI^t`WkFegyZy -z%XrwPzSg0{CLS&WHGw06;RZS~GL*R{*Qi8v+47;xRs0)AiI<%@Kdb6-y-#V88hJ3D -zh&jv3G^>)Bo;Uf;^AcWSE!Qu3F0`9Glz%xktJ2kpM6MlT3UE6u=;#Ifh8)^LWJ-p1 -zBR^t+Q!c@BkyfO9u5QfGMAnagl4_gw%FtJwOChTs2kzOUln?sgeOe6Qx; -zf6fW(9v5?4p?~MC#eV5rB0}eV#CIBuliu8gERsxhJD=&%y?523V=cq3(TM9&y?-4D -zz|$q&N={S0EHm{!f0dn@$5+{DmfLsJgPK=nN_Y1A8d!%%yW})|RjE)vA73Bm+T2M@ -zrQ0Y%=xo|;EP~(P!tb}>_kH+X0Ka#UZeuR|{s(>s;J1eg3&p+gTY%qF;TJ8xo<`B~ -z>lAL=I0kh5r@EQMSHN3xK8Dmo3V&+7mh%~gj8C{UhWU06dW5V(KkgNF)}k)hM-Ghp -zOcGES{gGbeH1zo}<#9Q`2d2WE6ZxAc695a6`=*~hN+w{_cI<&Zvx^+dT;6SO=BRN} -z#_ue+tDV5#Qm~yiIa_`UX;IZgOED -zKPFqhUcq{jD&EhE!(C1rn}100z=9<(?qwawgG;MR4|KH}ZZtlM9;~#*1}zSETLqHg -z^`Zo^sPPo%w~7Dukp#p;nM9OHoHFwk=9aCMW70)bC|!pW6k14r3v0n}d}MN2hH=6_ -z=&&&}FW$ulQEv`T1d9}tISW^nxW5rcn*+6nKIWbpXXg!y=S!V4KYtsctWMM$-n@fl -z(moR6DU0{#EKHk#w8hO>;;(YzJ=EkWQSMpv>dWcNWQJ9|e+R4h0OZRQ@(DFWwqNdX -z&M19>v!V1UPZ6Fbv15Lk^J3RQ9wJyC&Lx-mH)iCcFnYtrEd2F3GpU;&b#H*$_3GRP -z*Pn%RdqyZ6fR7_a(pV*P5^Uk2!?~$eueM!EV-`#y5(IY9PB4MIAe7??_-w|_SwGdxEWjn<}ASH -z7v&ZyjefFnvad@~{j-!P%;-+grx3SqXDeqrX;R9^0fE&c1b;^lIYq_I8H-zTq-O`y -zW^r@31!V?N`mMOR$I_GOKyfp!Hf%$mmHr4vb+m?r@)Tp7T_MjUurAey2+60gLMbv -z7>2X03%MDjG*GZgvtcY|*vhAREk)3kqRUE8v6W6^?EKx3zsE}3wsNB@zmJq=XRLJ0 -zR^HVdDA(7kB$D~Xs53Ay-QpHzFLnDxW>uNGnI74>{(ppo_giE8LHv-PrFnjq&amoS -zZ}I2;p7A@Uv{^ONDk=R|9X}zk%+FvR{=?rO6Oa7pw)Lco^C>Pz3(13 -zlQg>c@auc7pSeDD!_=Y78R?s%9$#dU4stS-^w%4=jjY$Y@Xn;&Ni5&MoEWkEiSu+a -z6YjvSl7CiR-@1PB4Xw43sv4V-^p6^J6>K~Qwy6xx7Smf#SDgEnptb0_xRo895y_S1~uG{Vim7~|h%yDg-iy@OP -zj0kT1W`Nt#aY`joN#D)GyK>I`<0KxD_aHW2oPY0?%%VK{v(=rqyeAejPM?&?w_rEy -zmnR-i=|jfyJf|-lnV^It6IAv=E9%>pKr7URenrJrEaCT~M&63ucv!SzZ%3lY_6a|y -zC{eU?UgNhax9s9j;-Jm}BK>mU+IwLivG$6I+16^~@~OxH85uG7+coyd9xwG3X2Yr+ -zw0~Bra{y1w%@6qMh~!hZjTij+;-a~h8AnP%o{RJI;`GtT%Ej}n;-dMM<5hy7Z|51L -zmlT%*Eb%~x;K6(nz&t`Ow~Z8+h&YAYH~%D1R>k;X+Oqb;*iho9or63rU|qF8Rmpri -zzeE+ewxFF-a|APdfmt|j<8S^Z+-G3yhU%1Rzz~OZc4$MN|t`)McbHzK$P~sc; -zvw<$!1={k{yx_9$lgHPZa}*LTo{F_U*l{8Hfbf|gbnk_>ffwXMB&>Jox-t`e%!EZh -zP|lzn5&gIePO?H6`Vn58z -zNkzq)0t!)U+6iZVA-Nvb%C7lt{+@PDdKzB|Q4)!!8{MgI`!A_^i=xHf;QT$@fe^X` -zIag8cyQH8B&w%43hUSFU8)|Q1@}lgm{#agmo&h$wA@n$>hm12BGAr14`=S~ -zm=fwkj{Urt@5?%yJ9}{M2h+!fCx5Ck`13vR-&XBe&Go=*I=Q=8Qil)s?SA7WA9U$l -z`MxDR7fWu?E>?-{Y}IV)mdyE<^jm}F4?`K>g6};^2b}6z*cpH3QVyK2Ic>Cj;37xj -zxI(T#Or+TA;ui6OJ7iqRH77;9&AmwrNy4*h`Jtk=ZP -z^0Sdc6&ufa!Q)9gMZ1$xjth3F%B!q%_WTo?rW7=dAn$r;U}YZdB>K6mi9(JYFYLd| -zeW3yd!8(^E7gz%9pZ|l8wKFw6-96o1-PP4q-sW|TvqwVgQ%T0Kd{+R?Hy#Gnv}@wgz$bcl!QiB;g3G)XOwe -zw$O^~th&%bHmaQ%&wuELLVqrpqcdI7Z`crC2pgM`^FLN`_HrNO7pdUIqOlxWkH;k7 -zahxA+5PDXg2Cd&vuDKj!#UI(1!TWWPtW}dk3pI_kMk1j_5siH|QY@^k!)sd0a*q`+o;RueqBKhCbUsy0r%8 -zNMDB9AC#ATq^ePwk9!;qqY5AQ-15mXixWZ -z2U}zI`aDJ<+Yoo;2ljYx%J?ScjBk>aUS}{C=f2H6UL(%@>%7S5<=C54f}H(kwd!s; -zm{vTBt7fmuZ+~IUYPIUf&Fmw}(eCOBma}bkxtt9jQ4acK^3kg>Ztvac`JpVJcGuWC -z?|e;R-;mf^cCx@8+|S399iTZpPWxn;{Tce%8-Nieu>L^M3?7n%=1Y9ahyN^QgH)iRfaY -z@s(C*vFKfM>Z*Vb3yZTa-VuwoRz<58Rp|_O&v&@7Q1)p@gEe?lHl%OJ{#-iW(Pprc -zeOkT{b@idO*gd -z@3PnAcYnb*uKLX~>(0KFyO&!;Ev(J&a#y{%%xYm9_f(V3&>W%l-*z&FnUBPQ9P_ -zJj~>?z8AY+x>sWNN*;bc^hqPPfvOJ;6b7xGFi{Qn4q6SNjP&<#d2}U|z?QG7yK -zj4If555l}yD^;_GP&4tYMsr=`BtBAyd22u4w|_N3x%<(+Z4d3+j;DRwA+UpxBN>TB -z%4Lr#b1V_Lb_uH-)v%+rr;$8WvQNyXq1DGJpF^z~kdHWt9y2z2IH?JXpGcnoqqsaD -z&21ERi6^Hk&!P^q60*@eYz|gPAct4nxo{^%O7_Wl6YhpAKCffGzdO*I*X_^Hc~#W2 -zBY*9H^3I*WGg_Hvbl{mV|N1aXML5q~B6uc}Vw`6p#4{0~@aL%r=b1~0XO5>f!t*`k -znXRl@#~D%gXT+khf^=ghv|;-gjNVr6kKO@Kj>r=Vw!J!Uqi?N!bRMH}9}c7NIr!o_ -z;HOqO9Kwis-5BrOSV`%-QSU!^RK9cxa(@zX6^?d{cynvs(P11P2jky<94Iv`qi5VTRibC0)?A=*ev$-Iry)JBqTCzq1?nZQ8b -zR*tjDu#M0%0QY9N7YIq%TA@H|(HBYB0=>*_b*U{7lkn(#fw>)r)0c%<+4pia)PKJ~ -z`@X~dJsIwn7N9;geK_sAxYZKQJVUTn(O&93*LEkQZ-n&jBn|lyYZ_ -zm)q_d-#_pZja&zuVgvhgd*J_nTNcM#h%}?qsOBNs*YVl#6%dh7Gvwx6;Li`c3K(-f -z$J@BThB{zY48hY5J`Z-VY#6WI9DkoVL#)QbddGdmned&(3FAgB%Z}Rr*RSgfeBH8& -zuhUqw=DiQ;&Y#I=7<`|jTpoZcI&je)gtmV$+{NU2wNyAYzpiam1Bp__XE;ApYYl3% -zRt-;4-k=oy!4%ChPjRq!rnJnn$vVdOjsG}X3BBz5D|d-K_o9luc-gmlzkiB-+Ui6l -zUC5yq?IV1{7gu02{Kenz6)N_1-)I!RBf|Gy%%}TVs}hT>I(g5YmF8lrCg9V5Wh0kA -zeV=|4wIGHZlu>VJ6!z2|i-g=*u+Ub&WC0nG^&r}cc7(|Ox9VNsVBmVm>JP;IxTV-X+)ts -zhkPFFAqP^%YGY+zQpCRs)4HcbO2(Oaj6Jf#s`*HKEWy9GH}W_;DfYxH&cCLyDtDwc -z)H-aLa<@bgS<`m!TPk6S{Kf7)mtXz2-FvF$&^-MUMCXv~+8T|X{C~#oJ&j-e%HDsy -z=7e_biTmX}(8%`}1G$x!+j@j0;stjaN#?d45zrgm9WL63cJ>KBA}bz33*7A6W++aW -z7<@i|1oAtL>c6p{pIZ(TAm`p-&QqD&w|CA1o(2kY9fo(ZD&_wsN3bo~=j2_)1uhI* -zLxm%)V(uV#17jsQfI;vuS{azzKdmJjPvN*yklmXX+g`po64p6!wRwJ2Dk$Ykw{DrZw3rxNE<1?MT&Kf*twPhwvO}`k&1@KO!HWKsN&W3W%3g8fiVPqZSwcUv@USH}# -znGik1Hf@iEhdu=*N1^2CD!6h##Y>K|0AWC$zpAKP;wAH_LYH?&Nsrwc4TFT(9Yw!^ -zFXo#;wi!HSwRL~zIfJLJv09@lbD~++8dcPV7-=z+2}4grcuz!FD$09eI~y#mp`M6H -zsVMJ>?F{d`L)Zr>;bI@4W&BFW9rNpss-nbjbr`R<0yi{=Ghyh32=4{{UOidVbHBY~ -zyngs3<5)dpPi}L+k|5u#1HO5I_-2h|nybvU7Fn0dA-R8B)<`1$Vm|Hra!PD}n`2`R -z8ON0Q39e5zUW74jQcd|-=T|t^!vX#<0_O#XLSAizM|le2tqj;F!*3XV$GIH=>us1^0FRM^~E{@jLL2)IfhINvIL2m8N=fl}*?#66r*^?M{Iq -zN&;H&o&Ka(DNAuj0WlZAtR8QG7FqWYs53qWu&F?TOr`oNeRm`8Uw^Xbt -zw|RN3gP%=p&mZO4xnvc6Nmh50nA^|k>&39KWEf -z{*4JS^qh7%{lzj4boiJ -zW!`?sH6gDA=JnOiHjJ2Pj#>P~_;y70vc@dEW51u@?51APbQFPz??@fUjJq^=11 -zyBXv7iy8``<1Bc77vJGM78ZW?uRtOC<_-F_G^ZDHf5@L7#kIFOQnbIFzl48fqIIwW -z)jHc)a};QX<-nR0#b-CL<_PzjpHKb;7nyxqVvaA%*=pzX`hc+ZZI3_$2lrL&hg89@m%08~eMrZaO-&hka#!oH<$o -z?xIkW6D&78R;iwOW653s8?WfZI1m247cNn -zF0d8twAf#ByQdIa)%ghvalS+T4y$Nf4l87gxt&nMHmITfjm}wc2j5ocaF!T|IH^WT -z%Rig%4ArV-d2UWx_%gqf7QDmx1bL^qS@4e1RLMKX0`HsvymNmd@D7w=X -zdS43TG)-ez@%BWj*B4qKkG_gLy8cIbi0?t{^Qiwld581pAM?zMpMu|Y#*sWmkXtww -zWi;7L;P(^~H35G=>Vwi^?7~eHPj7dq@!+0s|t2%?e9EYX3?uh0Om??9d -zi@e(LJSB(cDfn$@!gvalZ(oLcB;vy!TnYVpT}t%|a^kiMPEJ@tjXi;ZLH9p9i0|7$#?H3_9K5AEpL=2PO~zytC>*G1Lm~B -zlMPl46FL@|9hVk+y_39^!7XegnS1h7#(M(_l8*XpQHT&LpQp -z-MO4R%H@A$`%|4u5Giny@4{yVD3MXD0UQ^Hk{l1MbJk;3hkT5EOz2|HNDDtx?&S^A -zQ)Yw3TQf}OnmRiN(mXi-s;u+ -z&>r+(aZkbAeu}ajGZXH5XoFL+4MLqRrJw9OORRr|6@llnI{a&|RzUt#^wsWqOnnzf -znB7W-p;VL!@!G?Tr!LB1U0v#@5Y;&3#fs@?=oJoJ;x+D>17mK_dWhNU{c=RS* -zLxMTa(s<7J?wE0#Z*AxLrI<^Kg>x75tFW$~0%fe{W%N(_ecAJ|t#E(MTju^e_uv`z -zJbHgV)p-hQroA+#;`Syy_H(P}=jhPhI?5J%wl^4)V;H#hMh~m!$G)BSW71h$Vwdc4iRAJ}vn3^a}p`aa!0eJnreBOZMYXkCDXb75*DbecOdk0r&Rz1aWWQ{xIRK -zBcG!F3gQ&L>c=(QQlYaKG317f&sf2@gP(smSIpt(_}22*=lKp_^XA8&K%H;e+ny%K -z`Ty~mNTK3P1UcXBJrm}cHB6K!l}}+ROZ4U%`(Mm8wm;X{tTNVb6`MwpgFe_7PG|<5u$cs@3Xc -zQ*lBOSkKP2@MJX$l47>tsLeq60<>ilL;cFCrgJSv#osSjLo*>|D9nateZlGmnxw*B -zsk1v2V?#5664K%KbMVVG1=1k?9Swh>Ho;L~woyi!&bHhp=qHp;jo$;O;l8V6-;p0B -zZ@F5nL2gzoLRG=8;lyZD*ZWY$Uc|!RYUd{Jiix7qFtx# -zNE+qbMmbk2m@_{Up>-DaxnjRECBrdehU_nK-6*WmUj$A$tVeha)hc`?`O1I(d?n%1 -z^}`+pn=h|D!R@Dt#*g#T1Y4}#&+%s^gZ{M4srCJMa!}qyL>nEd|RQE(l6{QfWHD(9>8A``5^z6pMrDW -zY8b6j2U^sicFX*uqfRAz8kwS-{1SNSXT(d5YE=Zs`l%Gjoh(!l-{>`IZQEMdi6+nz -z8PBYHnJJHqpJ|oPv+IQAn^MgEHJ=N)V`l-UMICY4jT#W%LU`VTn8ttHq9BNAj0nvr -zn;r>mH%w!}>WT~e;$3Gz|E}kI(pT~Nc-niqyYYGz=@NBKpQ2~8D(sRq{WyJNhTRZG -zIWJCn#wnPW;=YUN*B~v#uTQ~im0zEX*AaeQ#Oo-({v=+<`1NYMuHx4vysp-z4b@M> -zj(Bnm?adXkB*swT^fP}d=->2XPk)~1xE4l$QiQg+4#%x;#p2$BC7dEV2D|QwCO}E8pm|;HqHi~{V~j+t%PT0q-1yG&-b2E!slQPblFhh3$UBK)o@rJT%T*i%caTzWj~_4a?Lc<%R)JtkpeViaGu_YBMJ -z`@A*O4`ZWnOWtU!_2U%c9M0nuez9WQe?KE+w==!=<@T%p1@t8WeIRNCR`-pvzD1y)%3Z*-i@*QGd%WTik;_aCMH_2 -z{BK%R?v04+7S6PSQc;49EIHG{86SHx!=lg=pSDW5|H>C6v~^O^iVM#?8J}~-nFEd< -zu|EDH!_TqMNNTihePQEo%v^P+WnGk-dQgOP1R!!Xg2Fv?xMx0TXbr4&DW4i3BC@-D)1>8j<_Ra -zNsLRuWzgq+8B}0WH8yc9GdK4Y_>LK!fpe(V^MP_pCrKl1U$(@Frib_|7jtzz0#kpF -zEou^9=sAJ-+qIFDjB`8gr0XR|#}oPw5EWZS -zf2^!t%)OWI)wq;0DkG0&U&K?pBu`S^+`EuQ3dh4yFK)poeCJgYbQ*g3 -z>%tcWEln8zx(F-VY4Wf0?KFQGf1YCf-W7h`>CCe~(edjxvgRH@!oD!qLHA!Y)MFH$Nr4DO=1nO4W6dd=@L(uQjgaw^=YFj -zUs3s6Kj0d&+!q%tQE(?^!>$TjHP1XB3B^&qy=QQAyLDF`A<{Wrcj68gx^dfTXVF1#mLqgH5l1CAK4pNy;ds3oD(07>Wg&m -z`z=HeE*fv6<*R;~9@ASRdT3EZCm%9>O=x{q8P#FDYuP8OV+~q!Z1B467WaOrWdm1! -z+sfmvHnvC#vAdQU+9H487DKCx?b&0*aCTByy@LIs1T2bim8jDgdB!#FIfzdXqbMJ}uETu1E{L0t;=0Z+WXr$?Sc&8Vn(?*g` -zZy+vhRa9k>AG-(jQ?SM=JXfes=)@f6)lYU>gBs?@wZb<9q>E`JU6gGbZ)_4cqyIN^ -zlUu@`w&!eOlh1!gBK9Bl!H=4_eIBlS$YnUPRBvRNu*5Wi95ky=*g+xx&m#P}7;98( -zwPJ31PeDa{s2IyeGa*>-RKDI}TxlsCmnO!P8Zx$#URU!_3m$Ir{i5xEX|L}`=MyuX -z`Y&cW)t~89YO78W$B*^{SVuSaHQx_mp!Gt_lsk>}Y$$)Xjaz9H-Q49E3&%T=c)p_$ -z!1H;nBNR9d^K4xHQH+QefBPh4}l%WKYm -ztVb_ZXtjUCu;vKwPj~z>&t}R!b~fj -zFpXxq;}=_qr&7!<>z1V`tgZF>;Hj5bcP(qsr>g9=m@AXsm#GV&1#l%EvlID#hAGXd -z@o;sxL2nM5aQ8`HzC6bt*EcENIj;ew1n`e^PtJe)3$*27sB2wqYp6Yr(A@2NLG__b -zNuH3f;&5s=tvDLt7{3iG@$N2e^QX3Oug+C*(`s+aFn0h)=5Egtu>7>W&GMeTCaeT~ -z+eO(!QIHDU*66`KQg2)mdvk3jkF7P)AK795+4)KTKR-Vy1UM{Ui>U@|F-?UK;}stb -zJYav1DFt|HsPGNoDFb%-7g>%!@=LkhXgg0@St$|s?ONu0b}a+O6;?d351Rt*@aYL> -zqK|4KW*V>UWE?Iq$`^>p)sv>3(j}4C*+rCgo|iTy{gwqw*d2(Nn3686c=lSwv!ncH -z@XZoR+c(jEige_tm+uxS-||yl`Y+?YVGDoFoGI);uJZJ5<=BCl4}^~PYZX2;uMG$v -znoG!sM(D6&X`#cqs6vO;GE?ZVIK9S;ExON4?r$6HgRs{JW-VgP*CYNX+&{rm)r%Rw -z^1hY{PAqc9U>*6)$UkvHSow{-o4@JO%6v{gm>M(2LQr>g>KG@(As+6E70 -z33jp6uI$6y^MfP(6&mU8S1-55b8mInRaHE)lzhKtHjTOWbx;j?H(l<|u#OXJWjaV$d4z6KB34>QRMb?NMqQ^wtq?jT_hY -zAPyx)DTuOY)QMKZ%yTIsJ_l$}W{8(}Y)ZVTdV9_x=%X)-nC8Z&F7)b|WW?K_@8XEa -zx`q)Z -z^Ba{pW+di_@k0?alIK2k3Svg4DGkSr#B21fK-5J<*H28ms?$VZQbJ1Aggwe{=PPXJICJpz~8X)TC_ED9O_MGdD -zc82z#xC7mM4yR{WTLgKeR5w}d+iH^KpCRAluX^~k++N_UnIisB*_Jc5SYVuJ-DrFE -zb!#MXxn-Ke=7klW#b2|g%EEVjrFn@J)Z;ueTdc2_S>-eC8aCD2MSOn&$~_h_0Cj_f -z!*whinc{0J!oE#h1Z3h%Ei*-0$}72+vQKhLL4JIe_%Ra;MN0N2+!c)lN9b-Eq21CT -z8{Q0>PmbE&id9hLb0)#HN&k~q8U%}8~TjQpV*+-v+n_4XR@7xzLty(@3m -z!O+_Z?J#N`ih0i<2kC!9H6?#QepqRGLZ|^1HF~Lo*W_it*4^w@W>)Dxmr -z3(uL$9lRa+dghM9$}{kl&U1~*vMtJ;H{JR?dT?zj#f`6C7zl*KmPhDv7n$qg3 -z1Zo{J)vz>$h2=V?YwNZ1VRh}U2EME2R?kp}P|-Hw*GVF()7da~xRlkxmhEY-F89-K -z!j9Dz`Ez+oO -z*>A@km+(q>#Hp8|F5e(KO5T1n0xITuDxK>BHY*gc%N8S_%@HB+pTln09 -zx+BI61!qPTEroG6II;xiSIMLO!=qhkWoxQopZ_547`2ps#{MX8ZXj<9(i3P~poZ5q -zuVBquwVHp?ex+t~&do53hYMlk-mT0%ke81B|0s2BC4SaP+xBjD1KD$64vciJsP86X}9&u164v;Tnhy#Vn#uMF}y#TLeR=zNX%)@8!0DX7$R#g&SEKAPvuH;; -zcLaZ)MZBw`v8V<8p;PKe2ES(+tgG!U!Caz#F0<;2_OzZI8TCon -zIo^tGsNsGfMD6@T{0(O!@kpt#Gv6I54ex*GT(@=P+Ka4-rDZ|}%xy2^uYq0jv`!`D -zjft2OgLxyy#{~EM-m+ji+K*p_k_z!u40#HljeN)FsTlGUr(H?@Q=_q$Kr%bMYc9~T -z%4lp?V&prQT9r9(hMZxRkLhMM%KLhMzptxfh|C#0Z^iUB!&5r$CxkjnJP&CAerkWg -zb1^BzPV=yWWwu9Ve~`(K2W7Cuvn&L`207(T^uiK$&cIIzCCNJ5=Cabr>-h~gl$QS{ -zza@flI_$pJTt?PpSek+sW^g~U2G*1{S6l8{&hf}4?m9jXk_LP5E1lnQNmu;K8qYTq -zWy0l9{!&jioWRqtR>OL324&5cNY;NG4e|B7&-XNg@=aLZtV^wu{f~Sr+Ld}Vl!Hgi -zOJU6{+Shb0fid%Ikg{F#BDA6CTq3*hY&7(0qP-7&O8C37=gEKEEFQnJUK%jIWsz?> -z{5D9q{x(QKES!k{&L?MajDva!&$GV~NG%5IT&NBXuRj(`ZBWdVr!Ib0It9T&MImPl(2?N -z7g{DWTgR3i)$JHU|BGjb+h*~Y&h<*!MYceVfSj|1;=nN5GZyQk%&-W7Ywue~7ll;5q;sqFci(9L|$3dRI}V3zP->1Y-< -z-N&F!xA|R|C%#vKllO?9miyAlR0`V9+iYUmCuRwZzTf-tu>P9m-r7|ninW|#hf}0$ -znbpb|L59c6nzoOi1!CU+ZE_oi=Vu6d(h>N9NdJ63L1!8R_V<4+H+^FOX``%<6>U=x -zdMM*YD`*q2a~8M7MPE!lCTp3SyU`kG{l2wRmZagf?-OE&;pt@&?YbSt!v`&_0{`Nb -zS;B6Q!N77 -zs#~gNO}V3@qtbuT@k1e#F(c|(jJm!51@leXi|4h=)5t_xc>IT$I7#%hg;F{zORdgF -z<~C+DcvpMdWBivjBJZ$9l$$E-8AKmF{w|N>R5F^-JDQ=zP&ISy+sjyS-1pUswJhF? -zg+$-p27P??D3Kp)=b_2F&7J_LW+eYS%-wG4Z&;vDW{b^LVA -zZM%7Iixlq!?iY$ka|h{C(*f+hI>HSp>plf8sLO7qF{gX>e}9MiuB9=Mak%b(Wgz+@ -zeuYLo(+$_N;2QSNqqh>?A4f+di)4_~)50EE!RS?)(A!~m-OX01@N$>i>aMvH>Ss6{ -z-#83%%k6(;quS51yYRQbvM-7;@QNfsX+PQHouL099(6D?>>Iu)eD -zsSZZf3v$8U`l2bMFRG)n-yc{(nI|z@>{i~qIn@6Fao;!coqerSy(Z?VSM -z8srRRBymUJ`c^BW@K#jVNaA+Uhp>ZrnfkJnYj%HH30GUDen>-I{y_B=Z9lT?RttBk -z8fge&pPXLI%J)ab+cCCmC+>)mVw-QMjvQyB@(-*==?%4LPjO5dGk+&rscc6%?r4gg -zK842~EgFZD2N{kYO+*~kGK`-rb8MAq+0`ijE$8DfaMmDK()gKzndnNK%n%cmv5v%v -zqQ-yPr~)<)J(d}A70e=}_l~{W>4pDF=Vf -zlot8tG$#b;Qfu}p@9SWH^u{z?OI3z`!Zn^Ox)$nX1mZbWQ)H!TT0bb-gM|Lb+}hw- -z4KWW>+B2F%r>IxpjHh!8uACS9=$x)r9etK%#37gUP%84J>4=axW`8-ml`Qto={g2x -z$t_(MuxunHZ_gm*0-_wlNUv|7*JXc0US`;wW=6a9YO&wa#|riNt=oAiX&p~OMA~j0 -z+D7MR0Qls>ka&`coio2%uYspKrXa0Esezv`WlXxnz3(pJ+oF%#rOt7hIlqQ8r+(|j -zjvj+IcLS%jIP<*PkI5-{>Ws>g`DsI17ct&2;uD@fx%c|H%NU=c8owgf=U{)z2k}nw -z&LWr-J{WrUY0b=xt-P*{_^HAU}pC~{LZwR;=Ogufdp8ZUNn -zZP8mj8<{8tV|eiRSa)|$p>po-JcfGnN1dFbZtOA`mbGY3Rdq(p?N%U$QpR6`voVAb3Lyyj*SPX&!_~l*WfzU?{)Q3yj6Y{<+WP`&!jGhmd~K@d=JVCB_eBC -z``6k;NuG8T<1X`(u$+H;sUN5u3CrPQv8f%DL8t$13rFT>b&(!>-PFR6;oO?V@KTAHE#-hnMbAAYt#n`_84mmVI=RLvG!0OaZeS=w&;I1^?VoZ>aq%Ac!|iV -zi`c#lG2Vg_-(SMQp6a4(FWhex_EkK$DyJ$+xmCgF9kV;LZNz!ovSUK(tHP6td(g(W -zs_Ywk`U~9umG5I#Nk0l;EL0sXf__uF&!= -zlEd~#`7(r&(;*kN-9=BwQRQx{UP*UI$<8J7*r@hnYpH*(solE8GI~-Q4c~1o4Tsgy -z2yct6kh+r>aWXr$?iR3REjsM;jEVKH;dK -z25YsyFI!7{akK^b0KU1E`k+2iGUhvoUwMy}lCFi-=R0~zxlB)mZqQTe^?FMCmY&kD -z)>Gjt^i+T3Dm@jw5>}A7vzUohaH1o;0;^%;}FJ` -zF(Z->!=9>6+p`BPPkHRnFHJWyW(aK#!ZWMFDYk!|xNnmZ<*{JpxD;2!*o-%GKMBM} -z`*@E+vt0wjsAYjugl@fA`BK%3T-pNKmc7ZowwET)+WnYQ=y0}y` -z$N9iqc_ghW((z%gvJ{ou+hClT7zZ~lS9|-XG`urJ@0`$6MezVL?7Z4`qwL+Y2>S0D -z=s$nA2eI+*h4HecXCCk{VLOLpSaZ;4xK_nd<|)xoy9Lrn;fp=@wDCNP#s;*JsH%l| -z>I}G#X?0plM>_;;#Tg95I7!$S=9nD}w~4yF;606y912#nWo0wdf*>mpx`LcJOqzS{V&-t$T># -z)U5T2VIYF(~@>y}(&yx6yyY -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 -z&CDe!?SttKJB*=*G(wuK2_XFQxAA&c -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 -z8X=~Yl6jlg -z4Q0fE!FY0qa#Iu5uoJkty)MTFRsff1n&d9Wagm>0$I^ArYnt42?07V7rW0le`J{I? -zJts~aUT!5vR@5X1Rsi=(8r|d5Lv=|Lxedc_Hs;k!+L7K-S55(S(1usw7YhHL)$n~6 -z(wc(&c8wQ_?n~Z({oeeSfbrF4tY=T-7&B|&o{ug?BAbLgCHoiXH}YIUDzJ6~zyBG$ -zfAS@n6?po^6VgA8&+mOnVm5jZwWsGpnnpj(a4wNtKv>;ovWxP27}IZ`$T81&95c|C -zNKQO6yrvoT=?Teznwwm=P?M126YB9S_87UvZwW*bvACz*BJ8e>VOnk+gS9zVE%dFOcB{OKfn*r;cm{V_t -z`le}4J+>!kNil4ulB*Jp$q}nQi3ksS&KgcMB!|uEfw{EKpG#*{%%%6t<@)-U)R2S` -zH4_puU|yARUNy~9;kgO(>LdQVIvwWKDS>(QMSos>X~Mkvq(86LO){_6`Sa=wnpda6 -zygJ2yn^$>1JqPb&oHU$G2acJZ%p1Hs4d=?yDajr3O(vE)n++TTtq$$zjzX?Y`Bs=E -z)6Ywi+*Av*WK(*ksgAiU`iUb0{sFs3Je+ilbabiz71U^FE0iH%rWaE&--Q>k}K -z#tWpC*F3C|59f;5I@@M)9m7zeF^RLL19QwMdkSW&54)FR -zVM9+$rQO7IHt -z#5+vix#JcrJ^Mi0R_IUVENF4wr)TtM7bJ98J-5^{_ZjTL^Lh|9beD4|{rx!1t1ml? -zShjgItisbLdOk}Lg_3MEtW%v1WYN$ourgqjj)W4YTtAuM?`EqKp~alCKA0QMVlAv; -zPte}0Z625RI@==5P1GlE>BG8zG|~AV+;!kxf!)-WP&ToSwrY^wgv-7l3DFdrw$$qfKX6ah=W1Yc9l}vJJNRd%) -zF4~8}+8PaYhpHLO+p^mZJ!Z_ovyu>cH|9d*qx$-oaeWK7Sh+?k+r9CBdW_o%uO68s -z$7|3J@S3HZ}03^x&G~U -z6Ibou)(Mn>U-WPrV6r9TD>vD;BKl9QrqSHY*kMqITV-sE1uz@DMt&Q160u=$?!%RI -zRMC^E5Na&$cG^Owa;PkSDVz?wWA(8x(N!}EbQS3-_2oK`)>KXlJ7;y3;?Xia&`3{bz;D5!}5b=VeED?mNorzQi`(X^n}1*kiH>XZQWt|md98le8jr%nq{f9z9J -z0qWg8b$Wn$k58Qupx*0K>jTvLd}>30`ixI)3{WqhDX4aUdf;q9O$VrF_|!~*y4j~T -z1*q3I3+l`Ob;>?}f;uZeJ6Yr_Kpbf1MN5xdCcJ -ztDw#cQ1|z#^8?hs<^^@10QIefg1T>j`dgox3s4J-1hq9l{kczV3s9f(sqMk9*iTS9 -z0#v&osGR}oET7sHpg!I&sQCajv_w#y0QE_q+8ykRrGmPDAV59Er}hM>@A}k*L_Go4 -zn3C}u+LxUGYf&&JBl<-Lb-oe8p^(@m^SBPv-83gz&)m&(VAbjDmRL-3&%x`CZiU4Z -zv|BSxQ|Xc5opiQ_r|ZCUp*l@scdi}FE$Z%7rPc<9=fRkpDUI3tb{pJEB8-$`VYEBf -zHn^!JX@J~+*5I8jGmufSjt5T#~mdY-2At -zPsHY$n+*DO@0e$KXC3<_;{hzkOCf!f^knmr-3(F7zScBmJcOt*ewrV`yF5*+m*&8J -zkw)Zy$2?(+-0tg&ajm_39@o2P*kO^9y-&A6`Fa?Crtpm0#kRC^ozsXpKUph@GseGM -zobb*b_elnQNFRas4x;xC>=%00yLvwQBy_}VO%9oJla4%%l`Szw8ILlDc6+w4+w<_c -z$tFY2ngP2F_Q#}Wu~Cs`#GD8FxVGd-GMD5rL3w)|_K2|anqQ$iU+3%2_f6IY`r&22 -zjdNaq8|V5b_QQ&5(N}F=nn6E}&_Vxd9=9Va$Km69&QCpsN9*vRvwjq3BUU$ -zgJb9Ic@~YgG1k^C&H@C#yf<%h+r!_@6nyj#C+J_g=(~chb&InTvj3m=&vBZ?`+xh0 -z@}&8Ku5@!cKYP&Ub6t6c73l0C)Qx8k9mx!TTMY7*)Q$30XW-1IYJO$@qW!M_!1Vlo -z_C}+w3E(>2|6qdjC~j_1(q+p*_CJu?%x#7H+T}^NZ9&q_+#GL|M54 -zZQR0=%5r=AV0?z*tF!Z}D`J%dZI4nOBE8!WZ@1&yOS=`%m$^Kq&3;6INh_G=sJzF* -zzDYA)f9CnYw2?fGaSgV_YT#ct*$7VjwqE$Q{ovdB;MG6SIPKtW^2n?UFRb8L58`zZwAz*Y) -z|0E~EO!guT>CcC)7}I~dAr^r$!cr}?yGfW$#lot*(MB=EE%zSYzQl8X??L?}tl!JX -zcj#S_>Flzx+5|JF>wLCBJC@0!LmO -zmP4teqJ3nyiTY0|y9@XZqoitl?5@R_^`Qop$EL?voXZ)HQGtKni!6kOBkujsS|NQ*mQ5zB -zwQPfS2js&`T?wTIdHXbJ4&o5YsFO+Sye3XJw-5R>+6&cx{4-un$Ri|qakRz@fOijS -z*o$}L{So~=1w=n>Tp_43JDF -zU?x#;GD*mP%mgGMfT*QF@<1WBg$N=pX%ZFGY7s@PRV(6d>t462RkYv&wr*8ht<_pB -zD!A`;U+Qjt=iK}5n>R^l`~Cla|KI=rhtJErci(+?J@?#m&OOVw6&7_m=fgOhpYJ4i -zXUV;p^YU5MjZpe|kMvyyMoe(JaMotzYs_?cgr>EBhzwXa8lk#`Ys2Z}Zza>2Ki}r| -z+t5bYad`R!Upnfya=YdV);5j#%8+ocg{50v34g|ASbuQ0LwI`|+PfO#&WH9U&W*SO -zSmWckXYa@mYf^ScidfUKJ55&G=vKm?#D9_I5N+EK=6zbu=#nJyM1Wb3Gyx33C4 -zpvYv`r#~HFI&OfkD6}B6FwcFJ2^|o7ve4y!;5bMIik+{^q`-mroLQ7l%4P1m1M*4c -zWd!|#JeB8XS9tn>JWdsq*Tl->`#9_sxAO7eda2$Txo!Abe5sV^yTzu -z{Z9HP{kheFa-ieHc$hmlF2$bgF`4VM=9P)WX#!YKoDA0R{XBYy-MXMZ(*`sU;?o>| -zi}BH!2DngR1u5yOl#1Am&pO&gMAS;9R%PFFe6QqSUmCCA&gE$CR|?O?WzDGjh8~?b -z9-QpzcSx{nHM{E%pZ9|{wzG5i17Jj^uo3B8u)pnecG{g?UG_p}p*`Txf|=#|w$6eB -z1dT&GJNLJH9@T&ipuLRqE>gFI -z)I+=KneR}QjU9{S05tAiq?MqjRHlnPnV-FO(?vihIzT5L0JP`+KqqzrjoW1(Xe=B; -z-^ye;d^4TVw?8cQv;7CQGvh#eVaF1CpiL_FvHgd|KF;{T&_1>;;eCXX#T#E`~n-5c>E7=;ML*fq^AMXl$7rKbh-q -zJDG!u{cGp}T6>v2kdX_fgniqMy%#hTzVDHE-vAEb4fLnspkjZrJ^!&krW+3^>Go$& -zUw@iN!w9tfQs~c*pg#vee|n&QKg)*ng_6@Ib6r>`bBM1mE1@qdpf5@R+jmk0j -zt{l=*l^hjUjapK;8XN_t8-Ik@gb(D6ek8W0hO3T#T%es)QJ-~B@L -z_hdWji|urai?hd59EsveeFr^4N>$Qgqmo9YVvMFRtErsPRk*e`!}q6QTp%q%EycNR -zqdi_9AMCthyo2KsL|AH`o8(+d%%I~++%Gy;4O -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 -zc<Fc5A*-rMCfFD-n -zDL^V}u=kobp-&hkMwgSu3fRp`?2pfUMeyl=7rSlay6YEb+!z89UuUqNQC=JRy?%tr -zVxzv8F_(+{ZeJwgSUf*+sDEZ>EhuLwbA9OiI>Y@arpP?Tr>|tXMCaKF>8u*mFHI<` -zG70tFsR_-Qnb4J4iNH4#6UP0s62S-LMCd^|5&ol`h}> -z3<=7Rp$rAeP@xPB%Fv;V!2Po(26$w#;x`xAe%~KkT%1<)Pwe*s!u?z$KUX`s#0yC5 -zV!ONIBD>qZ1hBvn%+q_1{6Y-jHcQ;IOSwmWIo2KfrR}#LdLYB~SkR-`g|?IYm5sLP -z$gT7y@6DUU@B3rXhZeW*HH&lqNS^zD5j%P+DarfWRE5jCV2frlSXEt~=MkuLX^9^S -zgeLAO3%v;`%(Ia24uf#jn>-}nj@Bp*P+F#w-FG+r%3j!Xp`BND2Of^M2sl9Vi9C-% -ze-YH%$$XivgLQvMd2icUQRpu)ZPkV7J6u@RhPu2?Xpu#_Y(zDQ? -zI&S|O$SDc|+%Pz$Ss|Oc%4Ph<@4M!mxQLp2L3%z(sI3h5%xBNV7!z0ndd?}Xl{-cW -z-Mx*&boXxCh2OxJGa`LW-tQOVJyXb+FJtoMpi57@nGt#+T(eRqol7sX<8*K^Pev1G -z>6LcpL08!88d1+9qo8fr6?W%;(o5}~uymO}Hri*d&1)q6x^vK#_BsWrr;D6W0Qt}( -zFAC`mz)R*0%-6Z%Mg -zt%9!2+c)qn^6{M;uCkqTu7tUbqwjaR_?*k^#phhk($HoW(_#|0nXQI@d*@u9j+85= -z)xc_6yzx@t2Cha8Jj5-qiyl_qn>@Cj$L$_P+;muhwYF8!dHz*)=LMJBoflnd(@{rh -z@3|hy*3@T#H^S0?!+ZsBOTo?A#T&1((a%O>LxeO+vTH$_py9E?mX+D2cv^o5ITk=x -znn98!wER5V*`ge2`Fg>BD_vS5U%I$Oq+eE&etcY{UtW?vR~6}3l%zj3Nu*z83;Gbx -zfFlhRx^MBN_*>Dp_;UO;`xak@zu~^czrx=@-{On$SLs`P0sLCy%ELq2MXLf_ -zo{2Cpye(F^JWQy6;huRD=2tf5>c}Kq9?J682|v%*UH@`-(&C;pxq;(1$Gir5zb>DI -z{T1%a6HvNuQpy-DiEDpGgRs*TJ}nV% -z=%o9Y>+J)N{k5HvI*q>MPx2>`?tyE7*UcF*KvI@s&9XFo-D>S&fRgTGuC@L9+rABA -ze?!wG;=?C)g>O;-jumVwqElgv`F{t5(#1=eUrp{YdZ@+Qr}}?m@n*Q%I0rUxnkpBVMs^aNqQ9)1=PzrgtS6ag9En46;Z`A++YtDG|I+IC#NXH-yg_J%x*PRpx*$2hZKRmE{ttZX8>} -zy?WyFd)_nhZ7SdY8aTZX(*mSv#oi>ZPa{qX#~COIaWecKSHY$gJ=*86-*0ACsW~kQ -z5IH42O*IJSTDJh_1O3?#wEZl9lvc)Q0>9+Ee5{a%`~5j$n^0=aC_F(Dw7Z)CJ{AP_7(*Wh0R#wGux2I5X88>+)nU62&N;B6rcp -z$F&Wv9>@IR9FE2Xiq6Q%`sikaLvF<*S=8NQGfvm_-mV@~_~_v7eQV9Yf-~}~Gi9DU -zZWEM03GrlCW7Y(oMq?vqB5zBf2U3jnpc;KZqaRS;inPYMYY=)+1M8`l?HDy;O-kZ_ -zI}WGVmu*nj6gIDuab5#VPbhQ!h`u~@0g+!Al7C*@BX-R>-aAq%RxD{30I+@{vjfdCftR2#sPhaW|{^ -z5>|82S2Hhj^jPt%yEq|`<+_M})~rScc=id!aTvw?5A8W}+4+MU -zj4%LYDwoa1GSTNNKKt=%!iQI93B0O^+(ll9{%d5p$#q`(l_k7TJS*aQ+)$!x^P8DM -zZ|FB(I==bzGr^)r -zDe+nVWG(td#Tv(xg;(BSGo5nu3~(j(>3$|(!RW0Rp_ewGuYM-oW^L>>|HS&dko<;e -zzc^Rih?F2k2vFi0n^$dr8WGW2onPNBp73*>~aR}nN^m73=c*W|z_01% -z=ktYeGx_s&cuqfGTKbl}DE%Jq?onSokFk2TH8{8PvBW3j-m5!8hObr9){VWHXY$o@ -zE*u9QhvyALDGgzNgXY69Yuk8>!XzBdhXFs0gMBJYA4W~|O84zw*jwze$bTQEsQmsx -zxCff=&Kqr<7j?)tTi_SZPjLjr>cdn5+zzA;>ocZSvRLl2d&Y|Lzlkt6Xy3LEJfFhO -zV0ChnD=U!67D{fU>G{*n&H9DU`$^tQeb1rPoFG9SCTrdq*g2muo -zW$i45-SnFRW~T}skNn7sEA#WLI6D_{Wt`+Ldn#X0LZ{7l=`^>eYJ&2f+N`I{YchME -zP-h4!JM>iXWbN2f#NbX6`qXwtE5@HG!XWGvZ4JOT6l9%P=tCU%%k+nSo7UYr1fKqF -z3H~m|Yr2JhrQ58pD!B~$8bX@Owf|D37*HNu-ql9pFdPkwgN}MQtoFdIV0gdKj1#YXhl=TL57pyxnKun)?q=IC97})QgFt? -z#Bc3<@OHdzRd6PPnMYxCM^u%sNwl2lY>e8d^X9VtT+}g -zlUY+hnG#E_)N1|y!WAClp^e3ONXnkCaOrxVukbOj?vSq#x)>-Y+34Ec;a>e5;jt@T -zb@7Bm-lOCd>d^%clnc6mw@A9?D -zTf%b0ZkD23U|hK!NVRWYQ(QZOde6=+3!}?-wtqo;9{1r4nDY&{?+RxG0cV8xe1u4U -zBFu5dqXK7y1*4|BOgIot7M5ak+5N9Kdi?s0E -zTWse%J}S5Zw*Ic`f?MqdMbRwV(xxFL;s7PGyhleXOr(-gns9g6x#V`cC-fzg^WP04 -z!g(Bg160w*+ia9z*FPGP;`-oVgCgmFIb|QRZFf=UZ(+P4-?_JWc*{BeHZ~h7N!L2( -zZt~I*m*u$}WCf->=Rv;YnXMfprvg8BF3z0h&K%J0L70~ipBL<}B3DWc01eZ~`azt< -zJkV2X2P45ssWzAj{uIXd%-SI2<0)liZ+HIIp&uwVYk#KXJ~~4DwOdN$xYxRWa^G(H -zJNImgpUF;YtRNli>~EJdU8+Y&`ApklrfEXrGhNMQTG)iykdx1}&1PC1rbmc1dOKR? -zNBK6@AIopAMt+8sA|J#4bN0->#)P~H;?7a -za?9y8zmGh%8%Ygqr|&?Tg2~c<#ktwOjoj~^liX|CQ^{*ePP{h*%{i8$04kpfTqR_YTKy!myonyyPVB6c!FrIdzivK^uRY -z=MiUt220)x&)2)pJWqGcop$$xyYK`p&8@~OC8y>NyK}-eW(U_n(7QE%*U};E%m~MD -zx@&v6z|&`2&h<**`RGQj+uhl=&97pr%=QZmTK!gq#5 -zj%(!lCI7A`7%7fF-|Y5ebV<+ndwjmmeIFnTlXu&qtV+o;%iXAce!GqoYeR!aS0vq7 -zE1l-H5_;q3M4V;cRbp#@@y08{M&h0l8;RDWNdJ9F`pe&n^!rQFFPJRSAMn!gG<7|U -z&G+50`2$+*V)VA;R>VGayr07>5q6$q?$43fO#Iv$zwc4-LDtBUf158 -z#9^+A{5?=9;oG~|No_imB0$?z-|3#qBTd62pE=dMbjtT)cRW>p_Z$wrMaP-%eahx^ -z6zj)+%%7y|0fd~_$oaMc_4m9`l7J4$r)i?%ZNmZWP@k$zuE -z`t6?xo&GvrVb-+VOQ+Y{d3;{k^n(!{dxBWalPVv2&9xHrE~Geuu7sKJ@u~ -zp>S;inJjMFW_LH=!F)=n%m-|!fKr@wZA&uu+bLzN)@LrLQ%HByRy#%ZH;|I#R9&cm -z^4@g|`u4vupQ-N7+-IlMMMhud>U^`--Fz=R9boh&H|LvwNq6%fN}e9HbAbdKL%;&+ -zi>gXXcit|#djMwLmZ9S#1NNKC(+=V#Jolx<=zve(dD!sqz!8@X%-*A{9g-f#1G -zaj>JZcyWm9iau>Ac?9wwGX!5NMSM*zC^;|T__|u)Ybhafe4S$j)7=l+>Lj?}Z$w|l!WYrUjlx%wu<^Fo -zmsxLbcardBHGa7~Z_0w!LAv)#m)0rzoBFRTC){0I{SUjg>h0RuiS5R~XmV$Je6HS+&)Y69^co@Isz#*R$uY}ZZRmd}uM;K1s;ZMLVty3LTBq7$bE -z-)_o(#~3_9`(&44v1 -zwy+L^GCUiq3$qhri*b! -ztzN{sT&tHbI3~gm7`-{9`1E#WHI1ydv$Rov$f}BVR@SZ1eMeel|X@iR)|^V~C2g@yF}~k9`QRJ?BRO+aL9a9Se}Q#m78q -zrviC{`HgPoC*;qu6Y@XVeC^@xd_WUFqZ}_K$UUthTJgg+;*8GZqcGbM)CMPu@!kx7 -zvU}^JtQmqe`6rPg_abnSi(Ezm~TeoSMgMj0GjLD9r5CfP9%koFM~r7WKyW -zfHB+C<6B$2c{{j?+Z2zd==b?y+cB{`)Ltt_VU|1@S;&o>Et4bQyLtGXyfA~kXeSFZ -z57`(Is**+T__L>LVlrKm8sgs@rYanNKbPg@;z_ID&JxEY=#^&?;ZNviO(Gs;uk%_yt4-5j7Ga(c5mMZ3H0<+Yg;lsk6uH! -z(1%g$NAkwF^TbC1n_1G7px{Pwz&DSUy%Xfj<_!#^vWUf1#5ocAm7Lge1#y1+UCZ(kVvSxg3NW-Aom!gx+|{$ZH*!yg)(Q&YPTe8-2@Z;f;3A& -zktNFt69t_&CTkhQ>dQ)Obt)`sa>nUE*tiO1!LTxWlLqF0m$63~Zh7&1>Dps!%-u!R -zA!}^9d#=gHdS4HRjBj>fM&YgQD8_H5NE?n~`Y7-$P4#q>Fj}nDhA}XD7rd5tlGuv% -z2Xj0zv_(aV`qJ6|ZG`53hbz+X7voyjxG-a|en5+xIsL(fHg -zw%YX*8epw|;$CmHA!ii>&IzfJ6&22WfZ+ukhRtmHg`&>k)Mk!j^9J+*;5HhtlG#8f -zu`=1fJSZm{XeZXvY+x^(y})dyN0klCfchuMk+>T -zk$e$uxX+q-%{(>$YR~pCDegaWJ$hI}DQ!Z2Lr%*HxmB_DuUUg7&Xu93F)SC?*<3}J -ztr~oPQpHo_TmpYP=4v{8S0!PMN3t4)F6)n=zAqR}+zRyTJIw!ntsANCm3T3-+ypy8 -zN9lYVVVsn!MLC4!=rGM>4pdB1;M7(Kz$M4}fe{Y;h8rx_5u_ -z{ymn#>|#EvJ)vyX;Vq5PB;c-B}??Qjalz -z(Y_!U(2J)wv%^L}oXRMB^Sjv*gXxGq@14xd4H>~LOMG7i_*ZAR=Qy)<{>4w&^I_sU -zeXecs=?vUUF}13tCvITsIIc?|RfH?Kz67ted&Dox#$()|z!kZf&qyeod%k&o7~lyIGuyAHX{Kl=)Hqn;nBr)>r@=jP70~Jz>{G#{;BHfSjx7lXglv5OTi{ -z{QN5EDVxXl06JTK!k!7U)T3biiqzNkSw7jp=IbLdUpN?FR1va$a4mUdaIpMUxL$+n -zb-3Pu>rJ@cg6o~ZLGsPu;PkhD`F;7faQ{#EeHX6x;Cdgf58(O`u8-jQ7_RRi&nNKv -zDO{hy^)I+ShwBTtzJ%*5xW0x9We8uuq<#t4S1^fRRuRSzA-?zu#^x(X{~F(;+!deQ -z{b3aI-^>3|m-imy>e7#8GHt?a<0=`gMVOD%uMvjUa`^lj>iP!jgqNs)kB;l^hls0? -z=SP1J49B9pk&xx+8v?F_QN|4y#<9cr#D}8q2e=N03+K*%s+V%egOsuzySFNsUq*NI;X?^bQn9V -zvkI>1P(Rka7V4~m`l{e}I@DPOZCMM?)1e(${#y9H9MY#lTc$%>u#C0P4s648@)7%f -zP<|P%e?q>GU~b-o^p7F^E%=4LQCJr;tP2^|h5W+cp#CCUus-CEc)#h#@Xf1GFRT|C -z%F>}M9oCHu-|4V_4xr8|sILmj8N@__bSQ#{Ys}mvwzJ_qUiLfNe7$O6N@jK(C-`u*Wzb(7F -zvZ9Rn8gOkUvyVAd(ChbX{HKf2r1~oRXa?5aau4WrSgXsKoPcd{{f^3I2yd9c0HOpzXN9Umj -zI6`7ndNkN80VaEN*eg|CePF@5gYR2*tHZ{~31M`|FMh33W&J{I%@UISlro?vc(`N3!RM5^rphS{DJ8!p(XLnyho^foAEpHWPcQG0y -z%|MT%1Vk1(M*);?;1gOlNR;{hdbb$MebVzWw;XW>=(ooHQ-`p|zNBbu85PU`|SN+x`1d|ASf*%E|}K2T=2af9kO+`E0-|?-jb3wc-1NX-TiHqGua9is$nG -zEG%FaoT5F0&BC8Vw0tDj2*x -z2b?cPI61B$bXb;>1u*~PNs}qgw-1F8;l5|FoWK-r2BX)7x(_EDO@Hj<_u3}U!KZk^-gB^ -z?3K)&RVDGc;~tJa7)0AQK6fe^e`tHB(7wX2L;d!_F&DP$hQW5-lnNKNt9`J22*7rF -z7;Jw!XpIQllc$Jt&PosOO0JJw9Pcal48 -zr*S7s%dnASS~haIjGAcNKNxlK5A#8sd4Xw)A@^+9+7vyDIy-!S1EB~{}RUCK)e9>L*S_SQ-CnXi;_sU@+V$Rg$J8qgkSd(wA+a -z$As(dFeq!)Fx+Uz(Z;L4?W00<&A-Qw@J9ZBA3MGReUCsLPZaR$?zWdapQqTz)Bi2L -zeC2-&zEoXl-nmmae?97tPxt*KUrW82vbwB-8Ys0=(9`?)RmktN@0U~f`FDcsmE-W_ -zEX6hP_ri%J7{~`g#OkzUYo?{@OZEOW+RqE5B>ryUd4aF<9=;a%>l9VcBF*S=mz~BS -z#y-^OOXdKEbbvX5uLpKPho9}y;n@;e1ZiB34_+(52Uktue>T`+>?M*+J_Oi&9I28X -zg4w)mDnbSGfDSy?QE5+0vOK{~1b*zM1c)W!+Bg+gAX~S*Pd9n^W<|oOejWCJU)P)5 -z-@_OY6Ijpzw?f_}EbsPsg5C&R=-n)@MSGL?)FYO@U^k)nw5`6#dsZ`x$HoSO%!Y!J -z(GxTl=SreAe>pjdoGDQBDy-BKv?$>bt!8-2OMd5tg~PU(`bRaohSrbw`EUKR+#5gKzI*4RZfpU$}dhf7mb4+HXI==&%Z-HPID8*lQFjSxRr) -zwe@Z7z2-Hz4go^`!1hapL>1z#=RqiI85{dM#cE~0#r1so*#GHz9__B@Fk8<(^bNa; -zK5FzQe=`+(@&DB7=CXE#-bf3_mnm`>Ti?^!`hJtG?y*v4K -z$@-tNUBKh)lJ%cx5&oTrum2(>)exX6k~hLS?veTW?{GcP@KxWzd`JX<(q9zpPu}n! -z*1LbtJe|iVoRgWQ-&a5!ynq!?{ulXv*PkU`_ -zHCf9^dyyP%B2{#D78@+Ghc<)bYb>|Sw`&8XAB&=8I52@WNA+OH-a|Y(ISwT&v1bu0$%ahSO -zg_cvjt;nNQkm?PMZBcf{o6~jTf0ZNqYpTAmKRHl$EP5#gUgr=!tVeY*$JuAaS?fP- -zzu&h7EyC{`hqj{Mw|87WW88Q3BFJ|YJBK?~OVF-NLOKLy@7L*S#{Vbem29mx0IW_- -zGru^pL7Ez55|t9PyA_}oR$7A;R*Kpuu63F=g}UA+T)Hw}97xcIYipW2 -zgL8?hvotkqBq-ghrV-O*o+gKbDbfe&scG2X(NNbD^>{Z1?&|l#y9C_5mcqNSa97>N -ztuJ+bwYI2$Q6!^M$knyPfAh`LSRB|pLt~`NLRSKxa-~oHd*dr3?`fzr!qYn$4hb=tG@sJ!SAVp03v#rBB>{UD}1P=j(P^ry_#Gca5kN3~B!XSAoIv(}?CaPDq~cA@X{gv|Smelj?$p(n6g -z>;I>`MSpTh0li9XuE&^-LurlT{Ewkx{tq8U=f8fif0+M6O6dI60LO<7q4UxA?MU;# -z#bAK%kb}k%LaN|hEZ1d8bGTqq_?w<-!JrMEh4`8Vhf(}7!X%?eU1A+7t0T_pP+b}2%Yh#G#aK40 -ze-O)p9S5kIcbR+?YI-xJj??gbv_H9QccjlT0)b8boz%06z8vT^Png0YxI-y6Nxv6W -z1rE#QxWDN>^O%BvpTu{2<+v}C9x{lwpar~p4({v%5pwik4|x$%l7%7`hWSK)0_f63bud~ZL4w<~>bdtevqHGf!=@*aBm_NAnN -zQsFy~zi$h2T(*lccIrw-`pnfxHv$FOXRcv)QE$&^s}_64iG`tlxmT+r(*ZcPJiWib -zbta1EVS35Aie;f3N}QJ+kP~uaewHFbufFtKJGoTJW58`akj}VN2^pb$v7cBae=;69 -zCeHfiF)viTCUw{Sl8o37MBX3f#JSFj1mFkP|88`MEQpexoRAq5WkF~D7qXz=d$OR2 -zGSt$#H9n&KG@gMe;tXsQ!_y~+$CIKg>98D^4ewf(^#9%cOVA3!e?brVs)R?LFh;~c -z5NBI3YDRDJWVYw`B?Ew!{P7=-e}S&uUN5f>T*=I`r~x=hfjS=h1|sct}iJqBr2 -z^0HuGGSZqUIlup@TTY6sVf*O-+fTo+`^_T@+}`vndmMQ&Fx(FHOV4LJb^BGSM^uDa -ztpsMvN_3Z)TtMRQs$m8>R*jM3c?}`!bAry<^?8lXc49)#aB*8+Gs#X(f0e8@^wdn{ -z&9IXKeF<=SI+IML=wH-?^!1p&r-*!)IWB|Y*HQmR( -ziq6`DdK~BbXmZ}i8*^Nb$S==6hsBvJo_4Nw#D~0hnhSJg8j)3zBzX;ci=#S+D20NEB*!jk@5y3n=bHjBs -zKAA0aG;H({dx79w-hwyE%_*X10(pGX~N^>(e=!K{Gw|M -z7}Ku^C*OYR(oW{Bg`v3UtsM8S(`ydYb6TXo9`p3j!^`m=@c8YWW?OtEcY%}61!ej6fGLGVoH&{zq)GpK)Ie>Y9;Z(a0YyZSJMsh}Pgx_H< -z7|HcQLPyMF62j6+A -z4?ZwHlz**;U3+?(7cqMFZ4mLd_|Am>D{m;AM#6#qq@rBJFy&m53nhl^R#%WjP<8M6 -zO$zub9OO^#-W5ciDM*4LfI6*t%kE6S)75*pg7&P@&YnbEuMmvdy7h@=SCnJyJ(FpB -zo{~P4f1;P2lO^tDr$3`Ar%O$+6K~fjO>d|1^jl>NAK?5&^IQ(g=G=U%j&ns?eJOV| -z+Q%I=XanXeb(BS(eh7H7SMi?ldVQJe3pF(Tx_|AC&T}7SNZ+v7F8~j{$=&OdY<%iq -z^!91Mc1p~j-0_gd%Ha6P>^;&4hn1%zR-2n9f9Dv@a5$qGjsW`pC-r!qCPA628K&3V -z^*J$Ls`sKY>YaOI`mPp#6XYjsH&K1_BE`jg=`L5;q+LPn{y@2`J>)>m@FL_77^n7LVcYEe} -ze;gvcEeCwL%Y^`hZ)My&MlpDiQkX5If~2&^bG|c_PbiGUCooSoZAh6b>s|ZWzU0;d -zavJ{Fq5Qn*s8&HspJenUHx-g4^5U9+;Qh7@>V=*{ZrFi-%fS+@wPnYf31spP`$}}fkF`4Vo~a3)HwGxf)e&NDXdf} -zq2|(2&IR~K6{83_wyC|<+;6Nik!^$%gt=RRN@Jmsp(DLS>V>YTD*7`e?rK- -zJoo#MAjfwU{h2AGdsZ-RnKiUCh^M@kJXfM}LfSL~HT5P^gsc-fIPUCjH{zHN&tQ43 -zQSB(p#$4U)0jT}E+L|nvZ`%^4sqq>D`RVu|YRM(&^fvYm)?N23JzmD_%$W`$v~6$S -zyl9>TD8OcD1sky(apoIw;EXLNf7m1MSI*B(aGsV*IXwh#195yeR~M3&MM1 -zGWC#=^HFC-SRHKk;*z@Grliwg*L(!%ZXWZ;mH$66vW+gL^L6#7Ve4wBf6j|oSEqP7 -zYY&#JtM`u;>#Ep#|GGLNU*X0H_GIkPuOh85kS{%hk^YlT+b(zr0q=J&6Yw4`f%jwc -z!p7xP2Je4l@E!u1;uILU`xw0u_U+qP&QLxB%Q*qcnYyd9ljL6t)ogDm)zkW)@Eaw1 -zTEc;>sv_Z= -zjDqyzS+i?WJSX5Nl2$CLo4TBmPB;46{#LN$C}SQbFk1T>raLRf=7e47HI{pP=Hmqs -zj}X`9MR_heL9Z(j;xw3X?yIgw;yALM`3B{5V9>2k(8&1xrSN^ye_|3GeL;+WZSUeqGe$|M)!_OFO{FT8*Bwpsm8Nj}c -zc`D}F)ZmU=7VnnIkN<6ceQw=k=J#ZHGEy43DCJ?$hscR -z|8eNw;+?PU9Ja3ifAgGeFIm@j?IYH8u?PNjeM5e@Y=HNzxVC?r7yOpU)0=!5S4gQo -zoP;Y_tY4>HtY52S{od}a-!s@8JGA)U( -z-x}6Blg&;I%ns^Up+_;kVzVdsVFee_CZ;zGr)0zKipM@WswS -z%<>Z1%20Zv0=T7D3#Iz~e;PK1eaSbN20e};>fk56F%*9M9?x@|AN21Ui|5f>WU*}S -zv6el*!oKacVsQtqN*a}le*NNX9LJQ*H;2vrhQx-fh!vs1!&YoL*ZNL& -z6z64!TmDW-f1a`e;XW2v;;8y<*Fyb|L~l7HL;}zW`=_ -zo?PlB4s+tKKlFFDSsxc=-f@d9`eN^T8d!L`91yw0zqyLz&6^WG%lANKDm@%1H<>|87ygZEd -z#vhPixfCrY^m56Fk`1OBnIjVu-@FRcz@|Kpe^s$P5~16}VcK{EQZch-8mew=e4v$7 -z$2OhZ*qSA+P&&4XcBZeIWHAWdI-j;uvy>yUTNriZtOLbQ5x^BD%2Z9vM!w_b=T -z=`WgFpu|^O@b4Qv6nTv2Tv-L7CU#2g%7$51Lv2}=jV{q8M -ze{sn2kzw+pCq?=f1uoZ+7%W!7TpZ5e?ed8TTOn9|pP&yKSeFOS;-^1-Nu@Q&Aco*C -zMLkQ@y><01<(N`UEEVIyq0Zz2S3=O6Tm|bdC}n5B-WiI9MtavcBShTNh+7&>hlZwX -z2kv&0iLJPsghT!2k9J4jI{nE#CxsXve>_9BWQ%LN=`r*mWvnqW=+y~ojk$Vulc1mV -zEVf*fICMO4>9d&3jK_5<<7t_h_0=-UJv6eK%B@k7E^}xS@=k)h>45Osk3LN)d{Gt8 -zc@d#<^kZ@ieZCI0RBI}Z57LRvb{z?578{dAt{!Pm0A}0ZvwacC>1YdeWcoCCf13!L -z$mBMsk-55}BAlmR;yct{-VQ}4CbVy+T6(i>lb*nsxMNhs(Vteo`7qE}{cT?rE^@+w -zTmW_ZSP5_I$Fwv|1ROXQxly%BJw8~ycvGI%H(!z#t`DnrmD<>a&qs2K8}Uf6a5*{_-W;U&bJ>PsRshw4R(5wWN8JNUO-$c!FFe;qJg? -zpb4PN&I7Ff9mD$L;(pziLkpZnK%9cIpDqnc@2E#j`SI}GOwEe+CHG*@$#|LTFI*;l -z1+LpM4oXhYZ>RPqfjMOKLq>n6WeBQ%PYs!6zBA1K -ztaGfk`t6J_E^r#dG8=0EwqwbL3yd5sCspzVhSQjeJJl&BS&Rw0V%P73=K9>etib8j -zUbBF_F#JwqIypl3-HP6Unvswj?TDt-@u*k1I>(Jb=`{jur6Eu?&(j#%g`Z&bre{D!}!J0su+Btuxq8Hf0*$$p(^-*I|?^ -zN@GADH7D1yJtlzG46#jF#MEh=Ii)?HlMVxJA*wk?r-1TKwoYWaV`D{rI;Fv2s}y!I -zdPf7Zi-fWde;|FCaO?gm*EfX~+mN0xVBUnSkP~V%Yeg56ucKH0oLa@?>oO}lMyk}P -zhTqq!7!UdV!2$C@c*o0SejKh%1-RwF98w$LHKYP-G@nmgGK2Y-GnkCG&KD!|`g$Iz -zviN<Sk-OIG1?}rlwEgrxxPbam;a2ob}?$4qXe{oE82@U#KLGT{QS%UZAr*)~4 -zd{4S?n6+$@OkQYUeAg=JLc>Yb#2vGS!Js6x)nyC0CQI0%Q8$(dhnJcXc+uPy@JvDI -z+6Wu-Ub7XU5xC77cG5-JNmouo*+gmtOWb&gC2mwhXy(!Ca&^tbib0EDg}gn8R@PB1 -zO1aN4f8FI3CVMv1guLmsi;29kr&BIaA}h3=&_CFA^UL7Y<*?YxWJPH*xg_nboD -z6ZFS25&W4s=hc`^|5s -z2y48)OjRq;W>Q-1%T%(va!GNcj2f+c-}9GI(t -zxg@676Kgd0<*7e|XP0;yZhf7-4Ws?yNvFzA$B&1)gIaSB>=kVPc!31Va%K3`n_Q3W -zf|A#{wPRnNW;L_-yo@rpjL4=Jrj?l_rcEZ>^|C=LVC`cC*J$TVf;^GzJ@`dAe_W{u -z%y${5sox{Dk#bs$=hf26&x(2oj0EK)fibS9u#r%h9v&YF;AoP4nM7+BtjOg2B*PyD -z!N@_Xkb5VFXs;5CCFE+aveWe*X=1!DGrn~Od-whz`jJX0&^nd34m~Gx9S&^UzR -zBvvG^HOo##*&Pi7753xZGtAel?$QT6tvm)(uQ`?N{W-O*M637wx>Bv)jHlI$R(v`7 -z>7Yw{OIA%YQs4iyB;1=(a}T}VqCN$-I?ML$JF;wlcouUsFlzqqgGfi?f4*sw^k1UH -zrR>$HTD(I#dJbFTXNUJ8MHz_f*%)7f{)$?W8lLErfeiIcC*)ykT1(|&J#;tNzf!G2 -z9u{_S@mk1t3*QGQ*B(faCtEn@U44aBeXIFARPr3Ukpr5&`l{-ycgV85Da(AP)$B#K -zt1_J<2j%UWO6RCSb-S+7e>qxE+a6Hp)A>Pi*O)m*$e3pkWxEofJK@`xWLbH7@gRBG -zFqAFl&XGg%JedTx%L?78s^xduPagvB0s(EyDRb12I#0zfWq7Aecb{c?Wcq>XYc@@c -zNz;fG&#uUjtPLZ+k7&!BAhbh;`lmqs@i|&Zo2OwZYO(%np$<(`f3_Ut)~~YqgTeAU -z6LW&0;JhGF&Z>vMa=H>qlkx4-*T6SamFCb81)fFOPG$T;ekmAK+;8OVK}yfseO`!A -zxPtxWMAR-1MuSB;^yRHwACr4Jo};*)jsbhzhuj8T1@n}k`-pUc>6{~~jSG8QEa%!* -ze*T&ue`50nP)?pHe@E_}X`2wvy#u}O#%aU#b7QNp8Bip#?>o*=#2yv`&WB&yDl6lsG@^*OR8XJKuW6O@jmKe8&y72zKZbs9&r -z7_Ve-bMh5JM%#3dY_5Ij<@-=7S<-y;W#YbpSuWp4rm_{C4^2qP(7)u$G*G89ad{|0{s?8B -zjC!QN!za`;<*16X#v1CCFTE_Q<5)?OBwO-)iOSv^MIF6UQSgmoRlpm?_ol*oGhxUZ -z(|gl2^l=z6yW8tuzT%|t4?a1 -zVX}LL>B;QZT1_m9zqkf0rCf3I(exYe43HgBDq%O2UAk;M5&o?vvhzoTuMgqdgPBZ} -z)#hrde`7iLG>%?vSW=$s0q?JariB2uW?{T&wKuacy+9lJt32$OZho>Y(@$pO7cz{j -zTtF*8{teL0UYVJFS~E&Wj>Et-sIoduEhD4Uwi)H*GF?{hIeJ^y`b=-zqI7=%zu}|8 -zWfyLZGLAt5!M{nLo^b8ABcJgv^K@$VXyxa(e?0z-Jk_NO_wSmz;u_gP$-xR$9o*P?H2mcPGw{Ub^r;#~N{?Z5fYUlc -z`qokXneVl(4y2yR=%v=UN(Tz$YJlejKtJ?o7zG&ChIRq0izjL|QmaKY -zfH92+y5VuqH8%cdP_YNJOciISr^Ne`H=*Bhvp0Dci+82CaTupf<+ziNaSz=CIMWP+ -zWdSdZ)d7TdHqO`v7LShP=v#xmW*4NTe_s{xhDDq#ndzmdOphLGu^IkQ8Sl(uFVmYt -z=w(~T>)HCTkC#GJ_#UW>`|W`e`@~#(;an?qzmZ+f -zoDZz$=SSVNF5WGr<3$>Y$2pommFwm?nYy?enX@4s$7oYLk~_wk6|r;6m=($#f3_#1 -zjEES}W4on5i!RJ&w^_8j;qX8X7x>j1g^Ewu?5b{y)$Lj4y+-i2-QC -zK|X)E0fKR40`B@!&R?U|!r1Z%90r*t%_Gi9jjn9dmMK}+*Z@P`D%+&9W>LIz!s7U* -zj&+S&GmvT&WS~elq;)5?zxze{e@$nA_f;a!kwAB$*kRB)oi3U~&QugDs$lwlz%vfALXkiK5gh -zSMZ6|+iI&nKL0!@4f%`^L=E_ -z*?XV;SbOcY*Is))j){+&!(m^O73UwD)Z9+4|wU$)84Gm`{{`$nb3|5)77ygTStzEv&@N^XxRsV -z-~pb)p~UNGv_*UNt&2zKZft$&AKwo -zq^sLQ?)3E~)6k-~+^n*mMR&Q}SD{?CTu%J|Vb-+^`wEwloxo*e#{+CX8D=yK+}6BV -zIF@q(2J57A!@bG;e=LdO`-xR@G#rQ6^RLQ!?HAl}oCo9c#x6%#iP+^$%p1qiOK*Ssc+5zrWPph=Nn4XIAt(A8@JOJJ|- -zUv^SvZ8P$m_ra{c#c#?)EZ4~i5yNyW+lo4;w}+wa%el-Hf6m~r#w-hCV$UR(kZ9yC -zpQW?`_R!9mWFy&3KbNt9dz(t{@*(Y{z*RKKs?KjK-gR@Cj@*i>bKejvZ8_!Wn%T7} -zN29HfF0ukEGUa0Dn?O^*7sv!UNFlR=?I{%|!QW4#j{WzDKQJ()e6A@R3S`0)i9N4} -z4V!od53BZ6e|WCNb9h*5Mh|NDa}VriN~%dDt(GL-D&$tM)Bzu{Q!AZ5@Rlb->T8f% -zyVC6s^kwL=#N(*HEZ`&&;k&v!-@;s8zl~JeosHI6a{Vg)B`bV|A%tN5VBUaN-iW&k -z;QN{sYbDFvJi4#HiBdg7r}?|F~JuXe`MHg6tUavYf8K)Qf;}16-bc{ -zC_|g~)ooj}SeNz0ap>>eTYe}49I>8LO>*?F!n#dXI&CRUi8n3o{az=Hy5MsVUysWP -zU3fQAoePszGK<(dQ*KWwKv!D9u$5tj(#2G!&KH0cl#Y>HC9iRg@4BRca7`qSKYK9pBT!7a0#Bep$ -z6Tjc4Jv?QnEcyGpPnnT?Tx4m}xP -zgumVETG&9{zRp$fi(jQ018)0zX@lE-m|A}d>pllZ)s7bZ -z1R*C>wFBqCyQZ0stR2>Lx>#5B0~bPyt{ac^^D-)w>4AEdJH1!;O~)BHLrX34td+|> -zYXzW0f$DfyONA$T^IPtE>B~^AQJcsRkGuf)oQrd=zHqmr-)2QEYDxXeZ^(8@e`xW9 -z`v5f)zy(drqD*_CqVUKPJPLb9Z}KuY8HR~F{{uN!*SfpQ^-s*_olu&ifcI8!^oq<3 -z7zgstKT44(VnGvd!uB-4g6S&&3mRuGO7CeZOk2SQTZ-^E@gLo50Tbk*rd9A8uJUy+ -zc)pcoo=QaSgW8B?NnfRJ)yaz&@;!dZ3fFI^uc-!v?IOjfiCf^P40|$w@&@v9=gNJ#Gj& -zaz*u)kJ`>tgPae^z^MqXm`n -zaVmAO;oL?;%YsVj@QhUIBGPCmjvVI$R>$$BJJ|w!&}(6YmK<~8Ds01lTGn+I`7ycT -zn-kaHy*Y7CpMW$M|9!qUd9g#KYn;9Dn^5MVGK~%bq$@Oer{~KifEa@_m$>7*4d`kF -zFmgv6c?kb4qHTT -za!n?qpx#`F?3kbG0*VGH0qU1i4dUAX4F+q2aZPw#(fBUs)I=gmlnl&Ad5diZ6n#)% -zyICt`2w#6*Ip4e~uC6TqPU7(!-v|V8E}jb22S35(d{06Cr=f*le-Ps^2l1DuMuIb< -zcp7`k)wK=wMRzpr=W*#PyU_Ti$}Y4&^ElDtk^Qt#VHNkeN;z#B|;zV|pAVP9Z~I7N(51n_lU*8o>U=?iaprsTXJ;_Bx(WM`@QGnTxo%o17j!Tr -zgci7U?XK_A=2j^|?FUkfsUst;Qj9vQOW*f;ldgxXL`J{9yi%KV63XdSGv5gCnF;W@ -zW#Hm{I}`8W9u_2iJ+=L09u+CeW4!OroKE~fw`Rb6e?6nTP59m<;QuCfp2@K -zjx5%dQ1e`aq@L&Z4WSV5ZH42ZjqeYpl#`^gJiKk=u6$B5^OK=0@uU-1Mk7x$7t~-FBFD+O}Y=Dw3$?3 -zG54Rqf8v~@^eyDT;_{Ky^SC-M8{vKV@ECph@z|qJAEkweXY_t&^Z@k%p@Gg@``s~G -z`+?_e=S=ds5mSu^#VQB_=6$mfu{+4I`;8jJ?%+|Vsqp)a_;});&sr! -zCmmW|Q*~Y&)n?Fe03udNRk~xEsy(QM`|NGUYhe= -zmFx=m1Bv4zfwep*2s!8Q9G&M32Lk>?Fal?I%*{jYLY|u;iT5W4$$R@xZwdybwqSr* -zf2Tfk*TCaX-8F0&B2LnC9zSQv>oR#2wWD@q?%=j4kE#_blY05%+?E=Blx)ceEvnnl -z`b1cpkiO_?+)Gg_;r!a9IC->cZ~mk1dOn(k8ue1ORSSNN(vs9}!EtNIZT(7cTN-lQ -z0HZbv@B+xSX=_Iu*wO)Q-&*9=r%0wUfBNjo<(4HOBSJ3Jbac}Yhps%?wK;M5WyGO~ -zM4|(6l&fxN4oFM^?uN^JWT2Wu(Zu@|9{=&<9XX)6s>}oH&ir3< -z>qkfk8C(c38+pDjL0|g#IM2ycJ@CK5}^I|iL+-tSO~z0>bN5Of2F4-4m&a# -z|Ij4}-}?f!KDVDQp6vRl`d-ZOOa=Rc%h7 -zZ~wjfFh!o=PdWeg-@E_Lp$T_WLm3*FV1%82`>~WdGypAVL(7>ukK6(8&-U+MJ~Y8< -z8mJwbFwpVjglz*j=1H(#>;`dm-KnW`kJhrnBK>41*RN;5gY18Of7^wNVOcIEvi9tf -zVNDxJyo)>4;N&9wMaTq6AT(eOg%B=p)ac)@4e1Vif9v3amB+T!QSkkRqD?q3e*{i4 -zOBIYpEn|vVPLZ85Ms*pKL+m(bsYd0ZB-&RUNr{*lmDZ|m`+qrEoCmDvQQH5AbxWSQ -z4Spw1h&r#1Jj(Ixe~0BbIpP$qb3M;?6*xZ$I6tdZx|X!8sJyKssCkH%B6DVNe=KGz -zU=5y0Q8!I@^j3TGw`983qsL41&|+(-(uIHY -zkf1->_7H||NB!GY=~J}jXO*`Ot|uDASvs+j8m8%Yf)uUL-hiBlyp^Pz5q?)>j)Okh -z3jn(ou3&p!fBVq}LCY=!zI50K(ZTa~#Ft8HD18ym+i9ghmLtTVn$)JPh?l`nG -zq#87lcyI8k!V;`u@ciNufrEGkA2@rc6ESeMOm`%{4JTG3-8qX`)3D{!U>~zrK+7vv -zus01!d+iJR$&N29H8f~hr-vkI-XqP}x@HV6Dz2>5f5{ZUYo}Juf!zUh~O53hQpeaF|A -z`gI?qe@Kv`Ri(%e7sP0E-{9inx!%zz-qA=i$?+pde@ld(Ka{;8E-rfNUBdtNFCo&e_jtsiLCB>BBQ0@gbZQZE##MEud&r -z(N=@Pxr@|M#K5_`&~mnpBL21P(s;WGlIR^rDYTd*R?`?Q246epu&2d0b)WWd<0JZx -ze+!rDiUujt(fc5m`;f?@)YK$%Cbki)V~kd;*Uovbx|LvcD@U{|AH7|r+-|KAC-+uy -z`frzgoX+ODO8Bf)?-%{+(ChW){87I{a0cV+pz -zBlC8Y^W3}iavq#_(AIA3?{*!d&Kr)Ae|NK|J#ikmeqPBEo%ivnvM|Tmw -zcA6$BJ2ged^wV@nv)JktB{q1rf87J^{5kZ*?HnV6=pVS)wa~B -zWRAkE5@{U*pNDg9zRW{UwyD{3R&-KGnT*e_*_;Q?j1xj=1-K2cW-ae^lN7NzVP> -zsYkj0vu32%M@HZM8P)fC*OA1`F>dyZ|M{)mb)#XbHDFf1?quhlDZ@)S7FTxlXiay;pQ%KJMsst)eZ=jZcYv`Qtp{ -zKh?dJ%aIo6MtPR!UVEUH>%hhWbX%<>gOKp%80TSzyl)Yf8nlXd;||}Xtb-%YywK9x -z^1S@edy`hf^|Zu!JeaQ|FL=)5K7dE_)#5e~egExoH6kR`&Qbmif7iG~Pz$4p`e}~d -zLF`>+t(V#r%)Y)X$%u>IW4R3d7_kRnWYi#)l_OSKn)Fy_uvV#wuc3kX&{uovN~{(5 -zHL4`!LS2y!%-`3Ew=m+aF)K~-Xk={rYHxCN)|6bmjeU0@Tzu4BBSUvMJNIdoe!@4= -zQWm3Cl_1U2e`voDf5F@PfjGht_0vl?LJ6QlZHkYSU<4)Tcc~UAfGOlf_Iy`zge$y` -zTY#+0QWt8M0DXP;SWr)8oR`<=CNj^RT7~=zK;J3Sw8u&@jkJR8kpo50%qY>t( -z#OLP~>fSkDn!r;au+#uQ%R;Rk8Wrcn6U({4dP@!RWPh4Ye<26q{ED3UBH~y3&6~3- -z{2o?SWpJ94s$eRf?FJX@u$L+__l%MFWn914hdbF^QmcD+koS&rEqZTD^toDjX;YfI_gUh|z3&a2Jbx_ztTXB1nm_N6{Q@A^P`omRf=H>YJ} -zF5P@QgME65fA74Sb1!%Cp$MlhhkzP#&*IV{MUl{tLoCvp-cQaisl;y__`(QDZAYIz3QfG7-tH#}ErnipwKQs?bi>@8 -z6_(wx%-Jc%QZQSYH%8W9MuflD$}EP<_GDM&e}!NCUi0Y;b!|3-WE=L=w*l#}P>`A@m -zclZixBdACCytCS-J9l_5WhnP??)b6DyS@q5M7{f1lKX(LV{=(=^due&q@H2~V2lsq -zo+#aRe*|@i7&9kK=#4(R9;2P98)Y4{G`E4^vY04p -zOVm&1CXvn!!&z$wSxOvVRPW-*acp_?EroZbkLhc?{vLnr(6czXhwHaL$o1RP41d4F -z2wao>V&6ZH%&GPj;&b)qzcj7dPvP8ZJ$52!R*|+=rJv>S>?PV(<=60?ypS{0lW)cx -zf0y~)SrJ3mwRgaH8q=!mQXJpi6n$)0)?tJuoE2rq+K*waB6)1Ygn-)C^CH*ZVU8<+SG`O!8Byj1?8Y_w|p7@On2 -zJO0c+89)BJ@u%+olBwF;T_2^GzR|qwzX6v_6unR{yx?_1)*tJM0?wiEiIcQw928iOYFO4@~{%16msD%I -z;{iikqDd;oqOvfiffj?EyFamlKQHH0emz0hEc3{9nqPJ29Ol9NfS+$HhxbZBAFz<2 -z)e?J62h1LDpUEX~Vt>asn=FSEnd_;Vl3#z5=+v6<@K(#0+6wsaMc{V6)anoOFKxP< -zTdFX{&%G_;+!CJCYcAsJv7RP<5$T$#efi&Jm?T;=pzfv68q_R3yp`9w6>8nt3OltZ -zAvygyvK?tuJJ{P^a}$?Y4Fq`0@a15z)n8NfC4Qwm3QsQQOq$J+ah>e^fV^$ye*bEw;EbMU-l79}X5x~{ffQVpDe8K%7kbN*$PYmbQZ -z=JE~^=f+NA4Sx$o4Ncw}>ZLjjzi%+B%bX0)Hy>JVHZUyHBmx|9=v%$gd_Rwva}x5>4Kv{TiqJTMReu -zd|Vf_AD@x-V{ItsI+^Gci~f3J}5WWv_c?!fPE -z=6~L6_n3u_PPT^@;ji7XfDK3+lY25Txu(qHp-;upw%04VT-)n~$F#lH9o+d@hijkW -z%Hjp?s1Al$CdVKu}*o_cyYF -zU$y?2T3<)-2CAR|POL9mo2aD)u8bTt5r0hu^9NTHHGx%lk2cUVv`px9nQBPsHwj8g -z)mGIYaaCXt>YX$y9(@%DR}_vbwstIil{z=(J-s>5w%;G4?faqau+w(aEPuD{zhtoOLb+|%k5{PEJ^y{BtrBB%ag|Re^yx2n -zW!KY}`1#qysIQhKw|}9>>lk2E -z6YLh$1V}vSYiQcyx8iscJVQE(qR;obtl3#hE~F>VuH`;%HqHi^sgtyrhH;qJlbA;5 -zrZooEEhB@6la>IJ=KkhGNs@m<3tw4TvJ@;hY?e90w -zpN&2aV*#3_KS=MZCkuhN4}XVisHIzmb)Mzd$6ctcnXU5Mlv#-yp!^$?2WOtCp{)x2 -zN8(qG$2ip^!B=yr?>8OBmu^)D2~9hm=(P0uPrBaCwW->@zF}RZ^dcwMm)>3ExdSBV -zo9aX9^vjv^h~MAlhrRhUM+)u7Uyb+!&5uJHv!IRkR)3s-w}XGT7k{YEsR=0Q!?ZI= -z&_C5L(){rC-1~e`b{N{gzdK0cY1CU!eA`Rezcan!!*%B|<$v^o#0_yt=wwTT0ok#9 -zR=^5IYSP3C8>&h4gkFDPAe=?1CHjCjvoV5nyP+ovBRLcOe`sx5kPK^RTiu86`f0i< -z)3Xxq$E62-F&SqoiGTigWg&M;lBr~iAF)GPP%9Z6d+t^1rSs-jJZeu&M1gk|d6oDa -zQ7+3PvQqI40sp8+t}xbJ&d_Jv^dR3=8DKZJEd=~N3GbRn9YvWk?q-Udkd$X2MX|Wn -zKKI1=M|d~++k}KH8MXLD6k|Q1r+4&vMSYO&vxxqH{-1_!5`V)VAzOSkS&8rAlb|(h -z?<{EVHC#`=2$Wz%3XCU4a02vlB9TJ%#Hcxrq+eDXf3o#T+Gv&cQYxokjdJYBj>6HF -zhoS5^C<`k?C0wHZTlZE^;Wum(x%BfQ>D8GNc%)*$S0yxpb)8NyzL}^CeGpqCsnP`A -zN)0b5@C_sGp?{PQ(}PayRHI3~J0ZjGdw5UsAbgF#55c@!iRKGlBEyhnS?M25g+9>{ -zr{}zNr@V}5liVJNZsY&z=V2#{b -z$`p0<@)iW7#VrqxNwRdJUzeDS5V#sJ^)}c$w~+_l6S>1mfMUE16;_6Rg`rMx${WUU -z9OGa||9`WjS;QJi+^%2O8@)F3S2(ZU;NIY=j*&C?p^kwMhdR)U#8Ag)Kg52W>hyi55(uYHt04|lxCV>U -zZ;W{H!7$Ni>g5xv;R`+D5lNMbO|y9n_#}=OUVlaUw9#Hg;sG&-0ZyeJBj|-}Tc7p8 -z14;2E!cBjW!%T2WS`IdbikeN_KO=#NCB_xey?CGd#>EySBs%em96l*K*w -zGtqZuxp$K;pXkO;vCUIijD-J5{gd7Le?NBpY_|8l_2~6X{U`NIm_53mbNa-s5?I)f!6oaSbJVHE7r`@CtKxc8 -zNyT2Q=q(MD^_HHj@xboBl)#l9b1C~dP+4yrvX?rA50c8+*)4@Sk+%6Un4N9tX@5%U -zH4|_~2upDZRy`4CeplO3#4U2?+jewTyz_m3%$@ILA8Ec(9xmqlV~*Ti$cKK?DdfIA -zdAFAg+Jj!2Mf3*gk=*!*-MNg}T_58&EzM@FBIuRqxtCtKuz2qyz~ZV5Ms-bai@4fj -zz{0&J`1?PvGrv6(?HX05Eb0^*t$&lbC-lmk1-sljzZW}NKd=0V{dDV`*d<~}99h$j -zk5rR;pVD}=dXm>=Fq-r~8>QQyxkv5Ku8-6ox1L2ut>=dSRy`}qF#q9EapUHX2y>U# -zJhjA?Yb_h|Uh)%NE^SMWiW#?zRn7_}>tjxg7v#p*!#7E1eQ??2EU`L1SASU@(19H6 -zO?DnuM~BFxBp~4`F`F%tkRY#Pnd1jCp@z8hRX45L)g4P6nO7sHC+Pcis-xQ}kttk0 -z?XJ_yx&%*OS*KIUf3GK)>fWRtZRJ+h+09*LpEXC!PrzAc*Ob>8)OZy9)1Cg`)g|Q6 -zJ!=Y%-?b^kUW4}-XFBrdI)8ZYX7;+}EFz;67AKAS -zbD>P1{f@5d!_beFWnEW;>kzejG#8slPhWxUg;P)zcAMoceB~x08yW0lAM|n4awhaZ -zv5!d`J>p^?Wwnj`YDC0j4VB7X^LV&Yc@k4`c% -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 -zKWQ%J?2j} -z0#BN67l3sqQ8lY$4)=9W{Pq=q-P^8Vy0k^>1xS>(eqmH=-scJ(Der?xn0r{!cGKms -zDpussYeosu>?Rm#Gk>OC4cu}mc@4Lbs_ZW_M(Mf>U#KRhF-dsu@Vw{YJ@39ddhfU% -zBvNd+juof<3#;6RAq`r{=|810E(5EV{gcwM2w5m8bffuBR^oTKa3Vqtv3HUFBJIVy -zxmXA4H7%rA?(M8ttCM*>>1Y_gCmYS*I^Qe&d#)AozST0PgMVw)dg}5%due(dUkf(^ -z%z&~)cQMpQEJSYr{tO{qO|`x9HNK}U3y(oZZ*l0Te-s_PrHYP*cx-J!N56!0G;kwn -z4_*&+G!Sej|3YGS&M~h+IvV73bQkoHeinYAhja_Tpm6;SoH9NQqqlFko)vDqiS-xm -zOmsb7xZx%?*nd!jzl9rbV0)$&;qTz=J;x8mc1p5RxM?>VEJQS7rq;oTufLuR+Wq#O -ziDs#|^CqOt!IMeP4LgO_LuX-U44g#v1!u7jZ5&Bl#xtk^K$G5@eBK);)xS82ELO*Z1iGOX(-<0c`?w7D!;fCF85A+sF -z-;$%kFL9WL{G~7LVvT;Fw|N -zg}bfbpRPwO3G*gaG@;MtZnoOo$&ka^Rpzj6DRWpivQp&cG5M++NAXoRI(*fQNAOj$ -zXI+H&zJDL&rz4ljvjZsDW6a52=r1um-Iw#XV!;^Phmxp>j<4LNq-TNlUEU&LI1VmNnAVNvnPC+*%NPL -zJ@sE>h2!pEEI2a4YDPxv@wYMqXtus#i~omNos{64gk_swVYc;Upk_;QQL=?ba*e10YCBLQFU -zs(({+TXtI-Z|8oPL-Svm&>C(eVHKnA0Bj`z+bD;%z(=IU3FjPnJh%T+;arb?fhj-R -zUo8DBvH*SzzJn5S5zNGi4nE@kTY|Za(?0@bKLxmuQtT_tqN`)Kvl7g;gNf0vvQp!% -ztkm#jps{zb)ziNQTyiFd+KQ!yJ6R$1Fn_$CkdyiQZLEgt2Wt-h5#oHHmD5R3(bwqx -z^m2NGe)kqFm^#QQJ7%)=QBdWb7Q -zMr&EQ6#FuqcknOPRgs4>4hgr-lSZutyYOY^T@U?cdyZ?gEx!}!UaP~oA&2=DXn*Up -z9Qt$YmLFnGgvvt03-`%-x@@v54%l}@rmUYkB6@3Y|s|C`oEklhmt(}}sV!(l% -zg8Ple_nRi@9c_bO=pAh#Jx%vi_VI*~O!1t# -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 -z^BbeyG4JQxKUA;z$((ynTv>-uF!_QvDg|qJ -z`p#T^lF*P!<%QvhKbFGei?OCl)}vH#0>a>oQCC{ISVv!p06jEjKYGu~<7bSz!Xim! -z^*EJJtvwEhbMl4Mihs2g^wcpZZTF2viW4d>DA)s!>3qV;f5dWUzEUyyEb8wiyk8-U -ziRAyYuPT95d-B<;1f3>#0-eHxrAFlwzS^kC(Y=`nYsH!>ziF@XTsA~yvG;$(7Sg!? -zN|k)=-$0eL?# -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 -zCs?mg7gBM({E}zQbf!dhE -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 -zXwl1BbaSqu?^8)L6EWf?%-?@8&vK%O -zPm#8H9=uB0n)eNSlFQ?2)WT=1!|dR}*v7dA=FZ6@>IC1g+;S~j)jCubq3%p1I(97K -z`Z3r+Es!_%ig;T}nC293-QA|udARcwsIqNXik_!o6!mS{@%O4E%hrHNKcPGuQ_ -zPzojHBUo-eN)5J^L~uw#15SSxGzAm)EJ -zJc(ZieET#Whm?y1Fo87i#sKkH8-S}gJe}LnK9F%fH&G_FX&!spAxe>m!6+(I8CWgc -zI;IFj6>(y)Jy){CF+hJ9@)!kok~_wmOoQGJ1v9oao7fbhx%pdgX|J)PX?U0*E9oUA -ze9bVngP+}%edOyPAzk>GpT3t~@D(?_eJ}~Yi#YsY5QRH9yp40#g?6v~EYIiJH?0m4 -zi~6l?o+IE}s^=Y&q_>#}guZM}z|(99BwNh -zyKA@i4lDhl!4L0^rx@!{fqmnqgJX9;^aNRfa;9>^M -z~a6hSvM(!02@>xkn7EoBJ6t&(5T}g8RXoW{WE|Gh -z064Z9qC_0EI;<|4;DH%QQuEa+Q3W@$9m+ -zs}gMD@bpiTO&oEP?yaFPf?Dx=lsFs~^Aoh14OirmSsgyhW%GEC1>aE$vElPPmecO% -zSNw(5ZQC&L#^r2$gC*4MCoyQBE<9MBN2^`P?J#z|I4lnZ0?(6+MT3p1b`88w54@Pe -zjtGB*J5(<%b;0Giq{)<)z!NlxPf_qZ1<_KR892R){83j{aAlOKu~yqir%0IX*JRu7RK3h++)L=i~(!O -zNRWg(c?RCY@PT#%?&kS{jXYVeQ%he8g_OAb85;%R!w}cCitas50SSt*A}B>`fHaWw -z2G@c4bm8T&Jk2sHhqr{(I#VZKT^C$^K?C+91ulu+I?w$NEYA|SwIP{O_Rr3&;In^H -zq0{3Glh1SbDhtG0INi+4ew=Zs#-gt>fbl~wbN<&#gH>7AWaUIQsKAL7u#lzH2$Yiu -zR8_m4)Y&tJ7JDi8IZ8dnb}e@2&{%WF-~{{~O~^|Zg7_qroJzJ}N*qZqMosHV8VR{2 -zt_>?;J3r2j&IS&Y0YuX{Pb(jakgI={l{-z2k>f2UPeHOXe`FHSXSOdYEtjuSIb=tVx}^jEnu6+=30?C?9yaV|v2 -z7Pfo1$CLk%K6>t9IMyO%L`Z*HkF+BY(Wonnam*xdBqXvivBirdg&K31&qKlTE3D`6 -z0}kKOm8wbeK{h{{x8q5b57ZpCRgeu78d*|+-v@TMZSZR)EgQ&msLZdFxvEoFGU0VB -z!Nc9GHM7DQbCeP)17{x5EUmQJ?U@WComGy1BO9ZVn3{=|vLn>jYUY0{TU%jH)|W## -z?Ma63kzlHoY+0@E)8gRxX5avx6*6MgY)v5_oX2`IQevj~77L&z9L!fJbf?+qB}IdP -z*=hxVC#zD);>!O;`Oj!0iea8=e>J@$>R55l?@Sq}i7ux~)1CMSeavIXbV8$MddSIw -zW?Npb6jIIjr?)@tI-wq*!h1kD?ITs_m};7Dr!*dW(%@23r{oUUrK^9mn9IRTyy)KoT}o`fm1TmP)WwmMeu62n!k3(2{h%K~B8#1=crqTt -zKlpntf!JCuc^ie+xB)=`zA$Ljm -zluLg|3~zvfrF?xQ89kL@L0`cxS1$jXt%qAK*N3-QD1(2pvt%BHEFzg+k5*RVoo2z8 -zIqbcttY6!4;;ap*i;%0>_;VDaGhMd*m~dApm?H8@O9(G6Y%>-(937YTjQee4shxS% -z5bgEd3tU&aaW^)wJlTr3meQ^6bhpA93|Tki1>QV)T)~E5{*5p&s~hZZMX{I+F!SuQLX_uswC#J(#QfnotM5i=FNSO4Gz$ -zlfp$go!=y-z1|R#9bnaB42s&{k~ITGP*&vNwh%2;T#D@HF4=j<2TvO{LKsWpQiy~# -zFKK^y36Uo1<~$UeuMHjE8kh0ZGwtl$mXb9#d%0j`p{zS{mzR8`+ZS5t&=kTGnRK;^ -z;`Eke2Xj;XqLx`|U3H`-3`-=TiTxIBe4A(%3BwU7$3Zq2^Q$7TTn&b@Lx=(7Hflj9 -zhtZ#DxQMCcO`0DDm!u<-1Jgx9CbhC*qSJqi$3&*Tl_v!rSGdp1bMQR20kDhM7@}eusBoG -zgq`jb@CZG!gL9vxE`{fCNvBPwK@kjcPLKnOcEaE6%Dpbx3sAqHlwkt`RAcarr&CiGJ6$go(`q?c<| -zVWABxU6ouf^&)L-SQ}cN*2+uM+QEM#ghXDK=n|&6pj|K2N>Ln*Nv(W1(oUraD%&=j -z`Qc9G1IV5myl^P&Bs}@7ypRRP=nU3KqrjHsIMN`{^=QbIAa<2)%zyD-Y|J -zG_HQ6vt4?kJ~>6`B~R#W)AY7RJ-nzbWx_am9(hFeIbOaKOlA=yxl{j*4QJan)G=Bn -zdu7scEgbqg1L1<#%#a+OrJ|?lv09iy4=1^zMan|Zs}{_JV)i0wSe-`1H>!G2SD|%D -z!m-x6!wtBEEO3_!qt?bBRMCG^8&YvG5cQ1Os24e{_GpjRc}7|$i_;OgG|G}yrARt< -zgsttEGGLlYL}-;(@VbwH0U{u%e)k0NvLL>m_9h^m-Vj`?HJT)M^rmb_?^D>?tD=Xq -z25d70F9tf5xdlEAk|@x@U`BI>V&ZO?D9TQ82=BoFY4wug*p5D#KXUELT` -z>*WhVP>sUhp)?0%`E}rTnBhwOMg0j_sZ0zA1=Q#m);2{gd&7Ge^!))b5><+yz|%r} -z3MPBHwtId|q4d>SUb7U+D@LF$8_e1Ux?VLN{)^R&dYr5-EJHj?;Fpx^g#mX1g&bz>1kFYF5#oR799+ -zv%GGS($6*Br=sUn^!`u16Kn?&sF5y$V;Q){|BPIAXJ3ChRn>TgiY^JznWOu&({lhe -zI1-Q)I9w&-sn$*&Y6P8eT)7{ET6GUolLBhw_d+dWL#K#22BL|!Uuo-VVF*!`>U2rL -zXjQAm&YF~&A@BS;R6!9)tCSB54|=>i-i4i2eWh?qw)Ja+A$u)|Z&fXSL`9X{^|4Aj -zbCq6f`DuSq8)XAA(s!g0V`-76KO>sNOfL|HI;AI#}**mn%$$?aZFPK*6Iw -z)()FVxcZEOmsxt+l*c61<8=q2}^%CyqCj|IDZkRzhuVV)Pv(wOA>Nl?J}-&l -zorHg@4KMAMQo5qnPHPoq@7Pw#NycGAzS`Kp6>aA7^Y{(6ZJLf{T6*CVzFypD!V>Pl -zEgW_QA*}*Xut4b{?VPRll9+H0>99Ll2w$AT)Pk8W+o(~-S)Y@&q^^MnY3rUm1MVfU -zy3X(Lc4X!Wx!8Qgflt&!>s54li1FiP66${&5Ethw`@)TZr_#NOIZs2V&aOV+GOJqO -z1}&{!zVDwGmnXj2ZOwN5PNUXJS%!Z8Tvs2x$oHM7HCC8a?A}8=1j!RP4R^Cm*Xp+) -zw1skDVs#lS#ie -zk^SFna5R0Kp%*Ul{C2&h+KU@9-r;}ydTEPSZ^(8-%4Sm^(qakWx3%3IvwcID8-$eO -zPdsyadvf>R)~IL4{93yy9#6ztTj9~HjxJy!z5ZREgZL7?s3j$vEkh=naCG0`!Mm1m -z{k_1d0UxVhJN1Mk?L;l(IYKB_Wg-dPSNY98C`}Ur)28iZX3JAj<-MF2FnBW88!xq -zOX}ltLL!~sGS2IXw_ETY5s5k2zb89)*r*4^ttxiYN!tdF`%1E9@$1D{K+q#UlG -zK0I%rnyb%fgbo7#kM-Z>8C5(+&zN -zjsoB11Rg^upyX!J6XxZxT=hvH`oA8;PX+P)fohNm@s2|x<{@>5wkMmUZ;XU9Sk60p -zPqAz(-fc42ILVyz`8|L1g-l=`c>5>4VfO+A>J2yV)*H5G^@gOP8W*VOo&cmVx$39n -zt3M^T1j(f5c_)lR()!b_r+;?qp%BZ7yvJ7Ba8nSk;IVltq*jgsy^y2pa@n`~!63@Y -zEZ>HdNXgbP8`koZ8+NNOj}y$+ZGd0%NJX;T`aZ@}Hi)a;&`5uAtg*7+O2GtXGfpOY -z1VY}`7D2~(N5=)idx;zOw6fA>$*!70c$TuSq^zyueD-VYVGC~$FM9T{FxbPd>S6h| -zhdc&HvQz6wI95?h)Zw@ruc+v3dU=1Z*ybkuHJ)Aja1ftp)pt{}djZ6P{aTVed%{-S -zPYO#bEn93^SQ&q2ZT@fi$M%1TN{J9n4K~uKSU>6xM~5%E=pwyz^U+E)w}puG+#w

ED~dH33ezzI;1Q;KPpY;T9wPhJs>&)ZVB8;$X=rb%eoG)@HzpF)P@hg)NyX? -zpR(X|6qhAx~g2hWmRVVc6$OMmR0*N_lV -z*<{z82ba(&>W|E7^bqaz$Dz`Q_QZ&nj5I83eH5jsTNI`$(?Aq@*<2cT;2~OGw@q3q -z9%&$cD^pH+sq4BkrPNAGrYPSCRIW;+O(?vpni{!IMyuQ; -zCdbvV8MS{hWhJo%C_br?yBASi_Or(Ta#~(WW8ZCfg!u)nboMG=HF%N8=S}Qfr`$*r -z*dUzUl^JXG>lTo;nmD3Krn@8-F4;k9}q@Pj;*QosF -zI(=9*%joa}1I1Ca;8%oG-wA)^QyeyM_y&g$>$#5 -zZJ%LMKcx}25w*LP24V>X%Zq5$xQPAKiG$_@tIZ=}G22Dq=3vA1_`2hcnWF!yGT}$* -zFJphi{gmg!lROE@xF_5F%yh3Kw#M&mRW7uYDbv%v#CjBHKjQ&PeQM#fF&aK@!5zFQ -zVuSFKZ0fo)f3M50)Sk#nab9cOZjTrdp%*=%U()!LUapM_Cs46y7;xM5Um!n-yZX6v -zlQ>g)$y^yVwGkyw98$sa^tg_*Om?%UP^EuQx`E*={6N-lwoFFF)(pHmI1m-4!7^$~ -z%WrKlu}4%Hv3}psep!*whL*`@*_Mpo(QAAww2{MZd`OFwSH;u4LY_8n-ouWwrtMwt -z$$0vy4INr#X?mtMqAXckTi;t-+w@9PV!1cZ_d2CKZPUA5^Y!iU#H;Zo@pdsspFMwT -zv!813ir*1`PTOzDNqW&*{gP!j*6Ks5FVRZNx2!kTowmHoalFKu#Jiq$z_53v(R4`^+PbYu6^y -zcWjuV{j#)Q8&-~OlhfnEoBH6pYvzCJ&%hI}VapPk@p@*~1Ae=`E&i-FqUc0DytY=q -zWEwYY>Qj!BL3*9=jh@rAigNuRAFQO2 -zr0mzqig&<2_<_H3xCI~Bg}G@7FYwlOQpHv&P3~P1^ho4@H!0;|8&bd33tLjca$U#K -z%a$cYQ>4MM+VmmQ^h>mT!e)O1ip|vvY)ifu_v+=dzSHJJryHrv5~Z*4TRvZ8EM -z*0{k#9!{Qrg-Q|qly=3lR0orxa_fe+4e)KC9L>#c;QZvWI-}mIi5O0mUPz00GZ6q= -zjNZ849YK~&?sH8RT$M*Fy{JW`SZBt;y_NCX6PDc+h!wDs!#*O_zSDoJJgs0ZEjhs5 -ztU0s+%^O`7hDIXyZt_p-N-tHl1R_? -zR<--xQJBNa9?-7l(~2jiH`DUF&PRU8G(uG?KIvHYZ0ex>tlfXqT|3j!&#%)f)}8@x -zv)VW^-Wo?nt@@LYwur{M0p2MIM*mLv?KhuAUD(DenY((U-f8e2m%Db5n(ubz61$kBd)Y%6<}n|* -zA$$2rG3t`?QaMvdxTZwyeO6Id3AH2%z5M(NW*2|(5MSIAgvu3$xXbdvw7z|l;wjL@ -z_irDpbjCZwTsll-v6$5#2j&%%j7M2F(4h>~>*Dn?ZuQHFa5vuZj12UJ)eFO_ljm3K -zr7iFnK4JP(VRmt#1ARty$G)se!#b*Zhv9T24Cf4Zir@Ksm`U%`Sf#zrgwL5!aeH9_wtiWUFJrH$&J{ -zKd~vkJg)s$X;LPeo8eyGyFSr1A9Cc;XA0TtW@JXTJB|~dI>mv%@NEa1|M*}wzkETu -z$`8nldOg!iz+H5CCqv2A#BkRr4(P?};nRP?j9;b$-}2DjpiVKJ75J%3G8=v -zjY9GplxLT|gV0~dU1=+`m}8jmAm_f!;m%xk{=F_oxtp_zu#idR!z^qjQw@I-)+tYo -z^;Fi7kfJATGdeE`t2hfjRJEk>{hz1P8R*TYT`s=mTWoI^@Ja!lGWWG!xEaL}Z-)an -zQ3+T(OS=I -zQH>||v@Kr@Pg5(O0-t)@H8FoFd?fGp>+Ur8oQ*K4p1!1jw<-N9bYs+rG6TvhPu0h? -zp+jO?S&4qhNWDlK5mrV6yZMghj$UowQmt&*AGG0x`kzry*W0oI?4)f8UjSP`q`%s< -z3wCB)57(hQIy~GaNCu!C8=_4av0DYauK0S!%E;YJUR`_@EW@^YY}}tVGks})T3JwS -zr~e(N{}TEf1CzabDQ?Wb9|N(pd6{u6dvN@=-!KvpcF1HkCk5)g*kG -zyz5U+54^6n9!+fZ=wCPcLt1PNvI4WafEL~^q*~Y%J4V13##76SAq=oQMGKde_rSSS -z@La~>85}Mq0@Fvqr|hlY6o;FCh&XIvQ#-A>>|`vMZo7^cKq5r2sE0|r96DDBZP@Tu -zR~q`6b(k(M?lD|LKcHGzO@{urS<{5*SJo8xg0L;-rU?^O;t8TS*C9H3b_A9X@iU?# -zRt2w7{=I|A6GHN4J@_bBZF<(%gEllAcu&I{ftubmi_u3}lz|{+9Do`f5f6bxNFR!VV&n -zyt}VS#Kwx~nThW9C#MLDCh%x=0#7(9q5@V8rbD>s&>-2y`V(zzj;4uhv4O<4qlRHx -zHcq*l6pm@vB%No(tH$6C!5dMqIbS1=^ -zQclultC}8wK<#YB(v``NlJVpJ6zNPGPZ -zt_E@EKqdO{W?Zk+xD?Lk*RDbVw3f44`G5eg6Mm;;wd$<%VX#!LHY0_VV`gw#0O}bW -z{WZJ4LRW$$N6)Bet%}%j8#Z#t8xqwbziH6dMM%$QDe!H74tMYoUtW{z#!TcK&#RNt -zJRy=v&!9-IGn`gOS{_`(XM!zK4_L62F6*77d<5?2<8{Wv#xk<>Id$-2nL0R9KcEtx -z<@7mqFi@seYxLoj(8o{c$+|P)wK8?E3e4vEck&&W%NO64sZbsFLf@wPkkh7w&-m7t -z>e5jsEI7)4JqR%;N4eZT%LbEvrTRU}VD}a;Un@PI&2=ILFY&$u3SOgt+^XO$J@D@L -zQ5+`&Wr&qCI%|Pjb520#FRqLH&X6)C*Jq@R;(wHCEYIp}N9b(zrO}k^mbEp0S9_PA -zh+C#lTMWX;d5G=ns8uhf;4udEo2Y^57=kBzpEMbN{V*uj*noUwoogW!A+U+SM|Wd2F3J1<`=DD&n06IP1HVdOIh$T*M}M -zKIsL%P^&0klPTKs;T?+CLqF|<_3Pmpnv&Iof8@IfpOJX;eE|Xg_l3N$2Ji9J5)$9$ -zP~q=?=~S@`$%nyxqS^#V#hIV9NmummOV -z-CG~#7m@TU`eAMQ~YAbg0&UF6by#JL1UO7rL0Ku_2nX;rn9V2psXH -zG)+N1;^lg+tf;|+c{I)|c@G(la~F&DxxCv+ -zamdM|Jtj3VH-B8`L?;Z$#3_32G<(d>01o77bRoEaA12W -zyHTh|f}T -zp69ua*^Y{r>vZ&`+t}$wxBsMR#u_jI=0CbGHB0%d(3EG`<8c@n+s#9Wq&-?n8@Xi4gvE4hq1u~EM;2_POOy7!vAfG#rHs?F>4-gY -z#d&pbka%WLa5^O!GEFa;c2LajRC_#ggSyydqH>D)pwlGUV~#IfGln33TRy$S$XA=%zU9&% -zbCbTw{kPA&tE7dO)Kj>J{1U^e-! -zPE=TNJ9>3H*#miDbYyVkf&S+@y|^-w@>4PL3FbSqH7&dQNBDNTPkVfS=&*!v1ZlnO -z4)*!1?<9ZOx^-^sj6a-92R89mV%i!eEK?+ZQAG>m=&<6m9>K -z)d~0|dD!zIF~Ss?COW^2OF@Jce2e$h2=*wJD1D%YkY)=K8@1s^rM&m)>I4`H?+%Q1 -zbk6p5hdr1KS1fvW%hA -z)O-{iF{F+WNf}ilAy^`^yV!*sNvPnXiEm|2O&b-lC4Hzm$V?k=oI*YSn4o*)WZNMT -zQHmQxtX^0s_VY5HYYMr}Ls>q>X0!PmV*iivU?MFNC_5=OP_Jr#Q62!iQqH;*JfTdn -z#ALOh#qc9>2cLnCJ-*;db#}l_Dx$L$;d_=DI#muISIll1Ts;AMbzD584IO4!F_CDR -z=(VF5!zUkSw!`BTZ-M)X?>fd)c;{6;yT%ZQw{zKA%l>kxB+at6(i4slmR2^xYIRVF?4F4t#Y=(z5S!nq#WC6jCsCIsGmr4C -zc)Z<2P^=~w4FqJKp_qu-ybZ0zv{8T&r$_v3qDk-)Dmf@aH*Y{R=l~#iS}~d)Q;1m1 -zIKvS^g4d?&;BdOT2u@JZKGc?nk}{pYA?U0FjDx -zZH9(aa8eQNaOVw!3V~5{(}Eq({b_hw=acAYi!^6{-^a&51vDhT#y -z8dB?AI^T2#CU2v2q%h=NG7Z~o>Ohixvq_BmCsQRN8f!&@rp$#gw@6jDmr7b=e|_MHNj -z=I}XxEsIoilZr<1hIXcnxmgqye(UohNWdMeAH)%l7AU`1O4cjW3%s98$Jltm!7k_B -ztd$Oxw1^H*FbZErNc$?C6)FQqg7&A8u#m#V=GC2nrGG99{wuh(r^m%cF_FX-s{zT0 -z-hv!xZfe^SRKrkFf_bVrutc4;`Vjl2Om{?o8_|Lp&XSaV(OkX!3A5FU)*l5wWJ~kf -zolt1UyY3jXd^={wZA7h)*@4JWvVV+^{SN3sQ^#!Hv{~OzD^p*Va3?;sc<~b99DBFiqU}>uU!x5jLA!!0 -z)&4!$&f#O&qD5O-XIq34gE~|IfkrQX)DC8>=_8#$!U`?;)CYUArQ3NsIYwh4eC%bs -zalvFegbRi;7qAFpgJ -z(29xElS=iZU|&{SRC|=yeBX?C##9H~#(hUCEj8hCJvb}!$Tm8Tek2kNyqLFtg=E}* -zQ@>;ytWw^a@JJB9rFI5>zyjJk94=%zaxsT|h%|CucHa&KhrFsM|3ao(I5V)6blgdY -ztgC|r#8qk&s>x;egaoEjD6eJp2~(Z1aO&=dGZ(@b|pIt@(V&vb2d&}>+(n^eYZsh8F17t|#@8Q-?b -zpz@2d-Zw-uvVjDUdR7J!4$ZC%$xDKJ)&`P5G`ljG%bJyB -zb9+~^x#L;MHW0uo+2+Q7D<43@A=%~#1Y~mr2w-!Q1oW?}o|PfL@Av8Gx$o}ks_Lre -z$wmnOi$OCShk=*jFdCBn#wS{=couF{(QsXALisb6Z({w!b`sul(4|jYiSkmbm^^YI -z-AovE=fCEr2_nnd1OKBKP7hqV+}e!SvKM+gUQ4WwrrJ= -zL1i{_$A1iKGKCL+dMU=VCaG0UOv8mL)^IrE5Bk2FybW*9$_SXH9x0a5%U(zA#KEm@ -zQvZFkKKa9NkK)~yWHK>dCA8p8(ol7{zU%kcAuaU}g!2`13_~hclmvPD>?fjyq};4_ -zURh2hZnt;3`7dosx!GWv40ze49aW}Pm4yyj?>fD$F(ZV3Z|ZH$cffNYnx|}|q*H!f -zweX&%Mj|h5Mrj?6UthKtZA8p$=v=ZZC7h3liswA68{xff6L5x-Ad-kngs*Vc7)nZ|&Rhx``lBZX;N;Br8n0=1niBP=icU<16 -zSJoZ-vmYII%p6!ngL3+zt@e+x{jCB -zFI{#CL7~iW$fhKbFhf{Wahf_3GYoUa50Ao9|HC|ghQgR(3G7>EoMJ%_M@1h?*opnv -zc(v*>t*mSlCA)?>mg=L202pZWoy6uj^*z$%EO>*Ov&^B*z{0{cQP2{0t&%(!KAo11 -zaPy9S(MGHXdh)~27rwY7o`j@|Z*=lPWTen4%g@L>aItTD(sf-s+tEu9z?tDKi90RW -z!KdGUCRJ9tG>b@}XtiHT05D-qxmQzA$>HMGz34>dV8k)x-#N#Y{ir2aMcL>P27c~h -zEOD;qJae5HaZK}|%TcLc3BMiN@}w~9f7NAL@Q?8HxrKAw`3>_;SN~nB0I#dxmdo;IzN|H`;5*QQnQd>OtF`kPW}Dpnm??_UZdOAW6d<8kCIXMD8 -zV)fzg%85-XcbMM>pDQ!|sW9Cw2@T|iru~|vOBPKo%x?)749Q=Y`dm}blPh@4t2OtKDFlX2Y -zY*d<;3!m>3&SdrtXYLx?>9yic%5r1cyVm2e7ge2%i)y&8Wnyvd}q+LV+1EbSNxCE&32f84k-(8V>N{{b3od{E!!a-wjK3^wsQX -z{4KRTBqmrT;zk2ur^A4b|@M!#Q0>#?mrw -zbeuN}a)+xCyJ4Oh9nj4)@-oA1f;R|7z9Whz*`aK@f6aHWNm#yE4I_s#yt4!E@mg8m -zL^5K-VX9sD(0v#Qz0^W~;pJr8HZi!+Wn7Df&uH$nFdk@Wqv?FkWd!rPPB -zE@5(}M-F7{xEg*p><5p*gEURVgtTW%(FE@tLiP(4&y!E#KAO9k2c42R2imJx1HxMQ -zSQWp^%Hr~!2P-nLo^ZNE#rg3CALCnimDg-LgdK@nc*El9+;bg&%&Wehs1jz`>|tZ- -zFB5psu9OkDxcr>QNtf|=WEwwsm)GpT+Ne)hHcS6t+&sO1g0@~O(LbNi3Y!@QtdNr3 -z`o!l2g>0F5;bwKI9a@s9j}ZhU-_>0zb9a46&36@#*KQxjj5b+#i5aorb2Z5+x~qE+ -zR7+|&_dOL-{*F3-&qK;E+@T1&{2F!EZEDvKs4^vI3DMsKOQvXJSp6~3W8dOju@kpfxF}JJHlh7y47<)T4YEdPWmS>@#HteT#n>TBV#NqryDJt(IF+by -zD&@RYQ4X*qG;li=uy7lfU#kU9md+^%w*b;i?QppY4^{Mke*x1ZpiXU=$8t7sfLEe7 -ziIzEBGme(0Q02$^0wNZks?7WCEXUG3DmS^&N?1!NOm7iniU(;RBx> -zK;7_Q8WxX#*TT6QDL@16=C8X2ZlKSr9ay4YS|=RWUmVAoGtboLHH#i$CmfmZ<9bsw -zb>sfY=Lr#=h}e?9`oqBx)Ma$s>k0d@Wc#n!btma2X;9s=#H{KCmQ9O?sF@mzp+Mu%n^mCgQ)<%BtvuL|L09R%_T#2cf?>ZfaUZtsM>k>w -z!N>@IY}*g&v>Bz(acmW7OG-OJeF6oPc4Wy}>IeRfvO@bFKF&BE0AVqqd=U&IO%h2B -z1{GP~7!0Z=%t07(lZ;$SBTE!J4IdV<@ZjZfoZC)f^Bh$}u!=0;=!Rgo*e&w-+n+GMBa?Ng}-lOgQ~Xo{#Qlx -ziLXcW@gGJ$<1PAuXjHk3tYpIo=@|3i3l4st2Osat=-0(`Z!?;XpiBt+(p3rqYw=!x -z7Suoun?6H~ME%t~%m)LMtM+Gp1794ZL3`W~@$M8nRZZ3}MM+#;!JLOA+NoGUi)*Ra -zK#T8Cab*>~Gn%`HNAKZ%8aW)IwI5YeL^aL5TgA+pQUo_AWnoC0G2t?Jjx>hr4<_R@ -zW}-!gwn$k4e+CQTPk`#Uh5dO@NSlFwKC#_`ZKZ7OIdIJs?7p0&*bFP_?)66(HqO)^ -z-=`KnUI0&o)0bvwte(GGqs+-0!sY9E@7pJ- -zwH-=-{YqI#e^x5rZ2bQiDl<30`};8`B?&Io9#BhujIoJ-$(tqh -zKejSnvlx+ZCAYM%xG8K?1I#G8Nzl+iY&9^}Ses+S#V69Jw}go67q=^TMwRU)>*2qd?sAdkeAUVwu;XL9Ku1WM<~F8GCrWg -z&?~g*B^f6p^^2P`j?-XE_*)r?mvW`8W-=zZ0Ix1C%A_e{adN|Q%iqC&=u6ndF98NWUSn3kl{Zs0i5TrZPSNN@LsxV%uJ -znNLW_o{#~o39YO9zC{i=4@Sols_qywxBtZhteK(Y<|Ps@Qi;96S{c*-*o=4nA@%{w -zY(Y@yqir;XS_2=kt6}ATxR9oi=xHf)2Hv3TF=#JU!!!RpK>0;tqwoodhD=swCF&xR -zl=9%~JAmSvH!Nzt(A8=x9bb5cVLFDZe;<1cQ=43B>9Iy9Z=7Mc=6Oy=pHc^1N&~{P -z-y9}#-9~8@&j(Moq1mXEa-tJ%v{EyLew~J2%hZz}3QxbJJs53&aO({{yQn#>9aQ0% -z1=q6eXl$pm4sBkoq6$rNH{RiPWKuGf`IF`MX2ebPeq4;4YxrIuO&gE53_ZQ5F_m{u -z@@IKc|2M-(t@`d>e|C+%M?X@VLrH1n@FcyuLwOzu|Ax)@FAAJ?Y8KhyCow2XwE -zkwHubX^&RGZKY5XF)i$8o+wo{5zYD=>1bD*S_$`!W6O#%J`2PiiYC;0j@{~;pfJV6 -zALBNx53^Z+IY2Ag3vZT?oA9xcqAx5GxDi|AkHuEj9|(70Axw$4S{8c36~cKzE1x)D -zz%~1X4eYJ3Sz%KfgY|p8hznZ->-D`){7G14hl`LL@NhVcVRpB{okfD~JIYinm1n>c -z#q|3O>|$bYv79K2{#g>PzFVSDU>@iicu7||l8-Wf1|?j<2}mLufi0A+V8MnGa+6$1 -zX}Y#0;r>$9p5;g|5(rU%n;~KVHRkWWMMNqHGIiT#gd&a3z^yTA1=z$J_ms26aA#6t{ -zZ*t~;W=19C)jGq3zl`B&mPp%=`e@A>#<2x65T5Wy^$8mt*>P&Zhui7RrR)6_enPA| -z{-hL|g>}dC5BPktzd?b+ymBJvrILzz4{qb~1v=J^x%2~{vN~=-_Pc8OqykowO=Q%vh0Lz)jvq($$k@EWgw)GODn^WYT~62{STlqrN??{hAhAF#_y -z+Fr(s#LNhEtBN90o%mUJHoB@)_u93|AR$v6iRB>z7uND} -zyA?MKIp}4LCJ(mb@jDqb-Axi3<`LX8G0GuYT9+!pdvQpsSM*!L!T4=|OZBdWMZocY -z;P59y{Y(F8D;z-$?_`C)$suAbH^D*7!>5SkIU(Nn_5anTm2A?ZjgEL5yKT88YT3l -zTHmKwwTzjUW=xt%Gqi4BV~+Z_34xP;&XMr71IzGGY)b>WLiH_z!Tpru=Gcc-yF2iO -zpY{E`xwnW>(c=5rv_7F(`%&4DpBvkTsuLy0*`|}!zu&A)9e?B1dRuGW(NpvC^si>x -ziVKG|2cjpfNYev6DqB4261}bc|L3T@=n3E!3Uc%Ja3WR>8ix!Q%Fu)<2Nf89?FZ#K -zVMkC2Mx~hsPdb=tDon-vMbR-$KLP$q{${3cH+iDN_lM}HU}rIPQ|P~GRuB{=PWU6K -zAV?!{@#a0~9~-zZ3rpAllON;cFEW=EE|7<-=g(`9I^>VIJC)#s#(yyT=uoX!qm6d&+nl7=+JB -zg%Bx`qL{kv`|%(@nJ84;A6h_WF0(naEz`eXVAGf;)gIT%OWU>&j%t&tMl-*9f!+b0 -zVs%5q9KjHea{DH6q1Wjpu~X|pm8QIIp_4K7DXp`;z>}fVAfs0?6RJ#RIg;C&D0&U6^tVw!VyW_-A -zCvdC|$IAb7Hp)*sQ9o*b!?tlMqEQ%lU?{k;a~*|iLU?{5TD0m?H<5@&=LoS=YE#Qk -z!)LP$Q=gz!lwgnjG@e(aNl98j#hl0!u87XE&6qy9yu00SR##a3JxGcq>Q_LTGkMXV)^ -zn99O1%^3D!^d1ahy9V^Cx2P7Ds)dt}F^qbAzj&z#+K3^49;b+%;K}%an{fLU1Pk2d -zC%Lz}6mHnYGC$T9Q!LnDcj&2hxKX_=GA#7*?WRaN`qXw8E8@hpj(SPLZirDJ=;rW) -zE;tk4Y?!Fr2i>6}d}gC=)QYq#EwNRrD$}M_455aK%0DyT2H4x?)j -z=*R3~u3HqMOQI3vSh$k|E~AKyEq4Cb=IcZDy>RiiZ!fCh_p!y;x6hUO_Nlghd*_e; -z>q-xQetYv9-(Fl3ez>s}SAF|VMp(GLLFG=Zy4*0fXw?;>0shVFN2wgjcydo{?^bNa -zTm=gJ@&6KfYPP7AyVT?#yscwjMHj_`R#;aL6%JfGA#A@lOyI!u0xVOb9m~~Z6JL1i -zw{EBsZ|H3`3bM60A?dno8nYn^FdEO`&(W5LfPs%@uwi -z7r?TyjqNnoMst55b32-kB>h876W-ymE;BPTONv9Dnfc&q9^a#+*hcu0QU@YUKHSRV -zc3Ww5CO-~M$p7##RE@AY#AQ42YzO1nZm0@-k&inwZzY3mtUUx;#pK>h25zN)&hXQ6 -zwMVlIGW{qQofi8ta~5O?#K{~oec_oyf)a0r+?WX)DckJ1O3EdeRNB!1kC!XBNRm0W -z4d>xU-lEr~QmJc`sJ|v0i2^OzaiX!v&?mO))vd6cMg&o@np7&VZKSJsKs2O=@N@9e -zG#DnPBs6A`Fu+%kpeBd4g{HW&BbH7z7xy`O4Hf>v#%%!vZrNc%ri-0zvGWHWb7QD?s< -zoDNJO?n4K!Gujk6+kgzMm+&Rt1bkV^D7)(wKv)UB$hhP7`;O_Dt3){CEikdpn&})b -zB@Uv}!9U@cF>(>pFD>YQziEZXE6Fo58l|Khv;<2PC{?->-)g<^()f<`i)-{t+F=d( -zMrwP^d{{GI4!?rj*@O1+R+a9!GED%i{cl -zH`4)sIwuFeL}L(1N-=|VR0r}>JF3zWY0okv#?1-gdUFMQG=49N&4%uu583`;r-hP# -z?yp+r&Yi1Gsh&HR=&7THU!~DD&JTJGiK7iWZc6R2N$2_J_FOneNbURO@CM_)_`NL= -zCxI{SG-?jQ+Oxoa8ZzOo$wWMEIP`tL{*KD57X?)5mN3|eh(%GugJ-$L1cf-NujIZ& -znR#%TlvoS#d$R+)ZI#urdG5}__SO2Y8sUm6H9m)CL7mZp4WvAWcUs=-qqsCAn(9L> -zml0Kr)Mk{o7&+54=A@jwgUZBVWsYZB-4V1@>TT%{ZGw+~Y1~+5hVyyU!N#k=1$c9+ -zGJYz50uNJFrQpDWuzxdQcLlo>tIK>#!W(0696gqq**y6a{fL$E`Zyh) -z5cR!(4YrjqqGlpK*Y9kwCEC}Ph)V`irSm#)11U}^b8v7_V%P8X5=f1@6CdlYHkAVV -z?w>6kAI+%0jw45lCvE(Pr^Zh4)!1B=x+oGx(voJjfGy5aznp@JX890mH2FMQ@DhH= -zjB;b%76F%h)78St&V%gwQfY8O&_%D1vz}^ygWzpm;5bm8W5&M)y?%PD?{~o6Brb5h -zEwExe%1$0DPb7xEc2I?i+U3^#W;m0DzmfeMGXwY@l+=67h|pm=M#GWJTa#k?20EgM -zHAblu4h4e7gz3&nD=`hHkUZ%2gm7JKSzQW)ckZVW7I5b=cp7oni9I1j1fHI$9h0Mf -zC|75cVVzVg-B`~l0WhQveK!PBB#xz)pD1E({k*!RKiA7@jgTsj!Dx$7_M)IwROhwB -zD;9ZJ=pG@E99E+LW?3=C05W70ZB?v^;gHjYefB0La2Ah9?u-lJINc81K5nmf|1M%{ -z7jWHv6W|*^B}~8eMkbXLJ)7Vviih}rg-Xs0MUJ?f9Aq}_#@AQ -zEqfh -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 -zLK^me1#h20cWjm8au?}WeE5U8R^cxXR{ -zR2$l_7}5H;iolACG$9(od$_$e9Wme&1*jX6&1Zi*Cnu9h%gu^8kqaYE%xdvt`bF(z -z6|e%E-~b9(qrz2ouJ86#peIwQD;|%ePsrqdJd8KF?y{&pp%t!TtWnXxi3V=oQsU5b -zMxv2^&rEEF4eTNowgGSL%ONdkUoP4qGWgqNUZntieOjqN;w%@nqBSbehN6n_)!)c< -zG3C0m2_tA0M{Nf19!G8N(p4Q6FuD&{YLvAzJa}^7F)Di49F{b?zHc#l)eMOZO?W+j -zoUZ1Sdxzp=xEe5tWx}Ao3}tIA-WA`f8A!NGVU^5m!r$qb9>uKf5paQjR#_gE-nofLT0f|cX)xLu-R(2F%Yme@+l2nR -z*A)XvZ&IS&tWB-Ti0)|T`py~7LBjP5u5DVPo(L8fa0Hc9jp3JJlf0lVxz!}joQbW; -zgpu&u6jx1s5pD1UsR)4H%c>Z7)wYGH}$q!Y+j@*dahnJ&qD>$)Gw`7(`2o}D<8Cd -z=m@z=E`Pcsp_kR^zp2%$v;#}L!icGRwHfnBy#&=X^^G4?Y%)henl}e&U~8@Fq^v`ZPpK|(<^Hu@F{s-g$0>?iQCBlF&1)y%}n`ytdY3_Pj-Pbiss-f|c9-h6LW|wcF+4Xy8N5@msp`$*agvk!AY%=E_ -z!;%tpZbJKGu3?#lub2gY^gGP;pte3jp1Y?@NvZZ-Azc@Cgj)ip$>899#mX6G@zjj* -z+v^W3nrEUlU_@pTwN2!>h+f*LAJ`hfzVw?vzUL=IBG=j5(ZRWwwN58|c>tbhWf^zN -z1_5M`Y7B{F&}gq+*caT&i81j+f=YUp&uOZT~XSC`Ew_cdZXNbsewHhM|0>>49GySNuO1K??!?}00FB%?2 -zWdE^|HP*FRh&+m@TNJq^XZwY4YP*`?U0(d4 -zxX2J#Fi+j)Nkx8$I(-r;^6S=ZR)#y7a9flX-K_|OmZ}N&HbPjU*PyP8_3t)`8va#E -zHw!`8Och6eWvG~4LuuP%hcSYkG7N4H0~$4MGJNEHywD%&x>toNs;m4yThx25S5!x>XPJ&r+lSMW0ZAhvMu_#ZaT5nv;WYHiPyOq-~?AaxWUq -zO%&Ge803s*8t`0l+aMFCQ(fx9>A4JI-{?fS(?Ok^Au7$JHod~OV}j^!pcchOmQR;N -zan2usT*-NbM$bU8xjDWwi=Avfxk(zkH^C}e-*+p#r-yWCCJM+ixkfSBac$C0TKHOj -zl+DWv%R@G79<^TT=&42y0Ct#{%L#_kN~7<=r%^D7G{@>%XNPkNB>+u8vcC`|x!x}1 -z=hMo{oe=khQ;>0$>x4=2ux4yU5or#FxdnS(2Hq*I`b@3LpeZ^w)~nD1V?rT1)5f=o -zJjWf=bqcbEvTRNcG5ZDOb_~wna=HW+HyX{ -z%iwBLuH$(+lIAjUy+i0g*Y6V!efmm>5NWpJyYJ7#Z^`}RYvolm5JVhc4jNcNdM?k6 -zZ}oF(u41E}Y^N|Ep8-Q)u~MF81KhVSe_Mu|n7@JvDV=()vQ*d(b6S+Zv&=7!@A66& -zM)jo{bWreMUZJqb=r=l0DIZIv?4_Xv9%}HQ5m1aR)%Fg>>aj)xWswmRXqQATLz{pj -zqH?)_M%l3sWhm`7%Z7D4-s7?2RT44Lh>l^$l~Glcmo165v11PMYIfdc(e|2Le=1S! -zql0&UEaWxwYyZHWF{DM|dj!%%b^9J5QU{Vmrb*ir_aChOg -z5Ft+1;=nQN-`*kD6<%j*DZZ0eR6@PqEoHY91l`a!Y`0NpH{ZZVbOSMXoSUUKrE*m# -zwswAf9V#G#nK2s$R_2&!krDmEf7YuQaNMz(O0&jr>J7Kk?~}{1j;Jvc0}Kku#3mL# -zS696`f76Atz~_6(Nt-a-^;@-8{1zp%^r@}vI~nk$)79-SG{_ux+;l&^_b1VYWa@>S -zjWTbi&N*pu6aK8K$9x}6$M@CCV9mEqCT5wIYmycV0qY*0=+J2C)7uR_f6>_MOH{hE -zvy5|4a4WQ(U8KqfWE=dMgO2wva+$+*q~Ylo;T-FF`X6x4-#^4AvEUu$!HD$<_{(>c -z$Mwkx2lNFnz+ -z!3R(zSTYb9CU8fSM_t7(7?~t24pW_brP1OfZiRnx3g5ddG}Cace;V3bxl=2zwAyUh -zT`$chTF|$W%Qzo@Z^Go4NqrbmH^!M7Sbu%5YsZFF-2}(pB -z%x}wURTU={B3eZmYz;x~XlLna<>jtcSq^(b<)Nhz3v!zkFlO)0d^9k$czlM!7BDAK3hgf -z#f|z=b;qHi1H%*s@B)Vkqv5uW@vNKCHxBfO{)c%pvyX -zRBat;qWb51Ng@3X$d#~0^5I0D6cpEFH{3r_jfB7&MSl75M3qg#fzG>H3i|jDWfHC_ -z4Xa}bEp_v*e;K$VoPIfRto?n2ZHk)TOB2iW%le63n3u9nH5y53r}ix_L%07 -zDa?yw7shOOiw$worB>;j%}u@wj$HZs1SX#j2#aH>@>zCxvLhuNH#KNTUuN;E4eY0I -z;wtpn)L%>8PLd>**gm&ZO(_nv>Xsis(iIe>Sp#xt`0{zsq5g(z}aEPI&fl -z<&scq8OsTt=aSqGC`vBVTU#&Ff8QF@|JWWwyE%*@>yB8CQJ6I=z9x`e!f_(8)8UB{ -z0#AFVga{axgdu6Y*JdFI=lhmsVSrUA)P=~lR_GJGPFk4asrj%{g<7THzL1HN{qVKe -z6@}mCe}+X=rH?!A*b`2hb?m|}{g7J1IR4WZPQB`76z= -zsZVQ+uJJsrta3hDHV`g!F2`#^Y-)Ylt8H#is%6%&> -zfANIZkfCPA4K{CiW{;AJmtTQ4_Ws3Tx{iK3mrrBoIh4)&nOHKS0RG@n?%?u+6g9h* -z*QhS9Aab~d@kle0p>Hy9YcZCwyE7(S!-OLg<|MwJNoZPijH%k`Pd}3;nV!PD$TvH@ -z@3le>-Lh+f2okds`~Yg*@0ixnE6abO{#gJQ~l? -zpNx`46@48$#T7@G&)$t1MdwF!!#uf0E#0IhZ|h76l4OQ -zX^*Z*uqh8Sb`>;XYar^EGb1S#<^X<39u6hjWs_5nmNj)8itQ8LQ3DmQOHDoae~@Qt -z%=u~8S20HLDd!(|@OOBcbd6Vd#a1pABWw#?r&y8QA+#($u@rWN%S+h5*24qeQPc@) -z@~`~}!F8?+Ba9F=cebK5+5iQ<$Zjh2312_@>SHJg!_dL>cU2bNwLFcXOjH3g@S2)| -zfAXCT%&qGm!TaQ!G -zNyWWX6n;fa>WxOXfeo+wH{2OQFP<&C6Sn`F8_(%<>JS10t~f(El3qAnJ;3|nG;=(2 -zEFI5vFsCMW98Vn;6&<{Fkjq!p#_ekI%<)tipQN4E@#X=#+-E0{{?P_Ep2$4iZKLqY -zN&ISl#<7m=r-yKMZr0EEf3QlS(cUmi(a@#g7K(i7JDsvj1+2H|#!RZNiio{ah)hOU -zu$$I>d~%45yj^V^hO6u_?br?<`H9oQ5dX?5$t+-H6%=3LYt_|ozhZbFIW0u_wYWRz -z5g|;@Jt7naC!r_O@KjXVs05`p)fe-Z`*>qlub@ip>= -zdf~4P93I8xou_h3zDZ4<;C206-u5%{BhzW_AY`?h`Lwwv+Cs%<+T2IQ!&E###fv8} -zu^8{^hZp;dPj)SBexFYER-=Nmr59KzI7zgHPs?>Ifh+Lyouo%v^Wy&kiguX()o6g>?x3%xorc_D&f;wqi`qX7j4m?}OFLL*Z -zic0pxkpDBCgq`dXaiZ9Cf6katu;oM^X;i!RT1<&}x5f4z+}fa;+o|kE^5tvMO+vCi -z0qy)VPlA7(T4Vt*;QCYc3EBHxA64;Fnp7#_I;P=VV4jTfe+ZWUobN2BCO6e9#9|7a -zfxbCPqssXH)w59&H?eO(t)u}o3%hZ1mJs5UCRoRC_3kJ3kv%qC9W83?j1vr9 -zP2uvZbShs2a5eeOI)u2^#16+cu^)a&afHI=lfp5{KK_vT6IfQ>TE__ab13-r=jtV1 -zHY!cZxV)JHe^G*Kpzza>U~#7O1>C4Ayb&A!327t`!Nd3GMnzOHt@gy#30L5aaX -zAQ_4xDNkuZIR~En0i!P%aP1F6@f%LRB)Yg|aLo^Re?&YDH~o;R@ej!KhAhor{X-QZ -z`PC29bQK?18xwJO=LbB_ua#Gsa0}D4-FXyQnPvcYAEl~k08itp5!Zo%V>p7rpt`)% -zU_Olv$ML9K;TZN1R{Dj7K@jBp5xDi(FuZ@nH-9(uJI7zr@B8Uac$;IG`uu`6sdPo3 -z@YZ`|e_@e34fVv1o$xOvhH1ZhXp6fXH8~-z>w?wk;0=9xbIueCcFQ*3PPa*YcDr_X -znZA_(S_{%lyRyNaiz3O?s;hQKJ1E@2jrjUIm)B_rmu6shZP7^FEjm3J;Nv}2OK}s~ -zH~NFNynd-xT|!lRkaBAJ2K3Z2t)>(nIELf{fAL2wuH|T%NGfT-yGJXcSu8Dc%D#};u1}=dpJ437ve$Rw6U)C&g4$u)8oid -z+z-Pv?HBV0;Yvm<%m#De0}A+BmJ8O|km0zH+Fb734ijEGHpIsN&(RDKg1XxqGii7L -ze=qnIowmn>XJ+#EbtS$?=sKFeQuT!wiS&aRxj@RfgMGngeR{>bo%+Lz>UQehhm^J4 -z`r+URETvB>X*#ZCYSD{*9(6>PI(M{$kp;FMlbD$#y;7u`1nCQ2;d1G3(2id -znlLbz@u%mia6VqRH!Kyh@>~)gJTHv~f4Gykt>H2^Hw=oPkgM(Il66JJGqiXo74K2; -z)Le>QYt+Zr9g7C=v615&7{ -z9mPDrXOm@m7GndPMOBZAug)Z6?riGhI%xTITE2ni9;4l_q`9>;_r)(M2%NTVIFrn~ -zS7`QjDxRj|1KhEo{j|(4Sb6@@e-0__M=fAIu9xe7asq6pz4CODXMagA<~b#&zDnfk=We=*wh@_zW@ -zOy#+JgRYWPeNI98M3hpD=`?BiXtimCQL3?q{#*r=1%_0Cq-JIWZvQ@yMb>LoWtM4X -zo!uGF%fV|0pm9Xt&hXZu-1C_5&jZm&O1AllY?}`^FgSWoFue7n>~bFsxAYQop_#E_ -zX`BQpnK(DH6P*nDZk~Hj{ex9MiG%gPI$BK(T}Zz -zzcB_?7hFe~B?Ia_^My#b1YvqmiT=nUI@K_2)bC#up3JmI9J4>4Le*fBRyKK-@b=74 -z`oD|~iHyMhL|XbCbkIBc-_f{)cj(!2jLwi2&SmgywR&ZXe>uIYok&4G_OTw8XZo$Y -zpO<@5*kL?*wvvr0*gzlv-K$^;zrY*RcYC3fn)#z#e!%7JWmNiH4siJfwwziw1+VYV -zxa2n&Z8GFBSh9&s-$fWBi~T9wjrCbD&d@XI_RqKO|M+ -z1r3&U|MQL^r>LsmuRjcQ -z|MTNW8-=7R{P%_}_yyKdjErhMwOW>9rd{f5shlVOw=*&90w7s?3TBihUsy -zC-jh482l!fr~-gD9IVWFAD%wAI3N{kvm&NrM$q6;+!O*gKSGD43wvC#MQ@{b&`a5N -z@FKNwk!=xTE_`taJ8={65&KvRP8tme{_BRvu_0_&F_cEN+z~RGFiqi`rhZ-{3eB$2 -zVc&=wf81e5O|to6JuwfPWIsW&TROwhCrPthsQKW1ZB2m1FgE;7NIXfXK*r%)07EPC{BHS{5-eUO*rZF -zoUWATQFIfkCJDocwjeJwS6gikyjjg*Q6s{N*n@4h -zzawLTKZ${ggdt*%6GQ89J!4>J;S+)u`eGV!d{Uav3fqK{gF_P>>m$57RUymz;uk21 -zTjVT9)VKJCe+_=Bl;|Uq(vtO#ZHNmui>z&CP>&)(Ew;%5yw7gpCgBCJV_Gqze{JV< -zcE*2q3V@~E)TWi2+LTHY)hkmws1o*2wnd#;D4;y^ -zv9^x**w>(J*C%Z3h~BPMmToE#n9n73OMjPLe@W4K6nz|tFHQ_PXTx3GT@)->OEb-H3Sy{7-C?;C -zQ;CyV--UM$CJ+U9^*{;}fZItX;A?#n7k78NwpLl;XC%B!f?<^mp?m$NxFCYLTS~(G -zG_z~hCet$GCj4t68^upfX8?vPRcQ6q`%^wWHom^l$?kMpj$u2NhG&L+S6EdU+f2`n3EUzHF{H_W%r(WiIUb0TgRLZnA!K|WsqE%KBxS|;M~a#WDvGY -z<>5ba*bmXF8Qx}ikkr9J&TzhiIcjd7OL|*8`v8G8{h$IKq*Yle -zn0&^RGVclqri8d69`qOOcWFYlFz -zXZ;QM)t=`LvzwGRf2KhY$*ey=E|+8T;kbjBCNWXCuyEf_rqk&~dmUBBa5f7WUK{uQ -z1bo43+kC$*34fUs+J93y!Gg=)up~u_ikIoxUJaiuE$Y+48p>zUko`xZ9C)RQoHUL>fhQ4W$jCTG -z5Gf49t?B|ke_!B5exm30=TTjPSU1erOqn5t*p|6eF4ciAho!W1GeW|%JS#hJmWYp~ -zm)QA*kU@8HxoyiQDK1082j!~nbS^Y|q!EwVrsa(|hUwla9j&}d=;Ob}=I5M>iz$&g -z^(l!3JXOx&5!=~LfS1cvc*N$3oMj~7+2YKj6z$u+e;^v~7mwrwJdGOCkbv!K@;(Ju -z|AUHab=Ag2Or%`LY>NA)Yb2aRI&GpYGKP@p433D{pfBKS9;~Hc$vj=4FbKWh;n5iG -z-0(9$UmW~hqFb*U`p@TeX7C+lbJ^80Exk5BUGFDn%@QJM*p_}modI9bd3-kmk1JR{ -zHG;zBe;^P1O8*+TFPyszUL0HZEbsFWm%F(9u;Tw?M0geB*w0%oHwbtBdD3%tV`n9{ -z4_zELgl)~DEEdMpz-mI%1-W_=OBrtD==xx2XTMfa=5z;LVd_NlxP!TF{S2<}dx0aKlO!@OAe^?v)!|A)>^zm@I;Q$rQ0#_=r-e*dE -z;zk$S-N&V&lQNt>%$-#8t_Q{#YW4O-jr!!eWAyR0rybj+Ppe(H=!74ktsqE1!Sy9< -ztlY>z?T+wrBAMzn6VkCfBW61iu2)$IFHThBT*6KW8~$1rjz;&?XL{_R{6J62S3ptt -ze}sz_UVU5dYUt+Ky0-2W@YQ%_tdwgtCGR?V+q~cCW$k+)*q6lhKfW8DJtD+?4f=#e -zoctCi@uPoxI?n1|qh3wxF8(df!m4n9)}cWXY?Y1+&y80j#4mHjs -zV(@8+@~eGoC7GJ*vSPE$*h#|=a%P*5@jL;BrBS20Z(klJe^Q0uKdqjTLv|#E?8t^F -zY{YgxFH6}v!r&AjG}|Hu+{1JD1Q`!I+FLn+ -zf^Y;Ddy<^e!_vu)B%`-^JLH@Ae@g_=HL$d(Euio$1{cXU&|FPA&IasT{==~eqkoFy -z{M8}3hNLMbSI(f0WD9qqvl#p5JrfsNU9$a*4ApjdSEhb6e(Ls<)D>C8-@!Qe@4QLZSB> -z%o-^>gY&^As2fK(zMgEP+tIzcB_Zi;XF?ypOuwj3h5kFJss@bqM)_YQ{m`p1N>172r;o4xqd%oGc5Ms#8g+Sj0<0_IBzzRWc|ljcNsc<;^Nl5I*__0m$bZX~4k> -z!h=o~e+$=fG6pQ;7+e=_R3P$sij2(M{YaW_ISFk2M&)hzZM+?^Xugmk?4^*Klybv}tJKjv_vElg>; -z96#PKpk!e(f24taGl?CisUYVX@!s+(=R}S!oK+;oRY{x(CC+Zs93?&vH{-ZTO0UAMB9^95RV$fHGA4oWA%@!Rj8biSDFqiz -zDn-dyfAVvEd@BQJpNKR1MXm7vD0>(9D5~pm{LV=N^2p{1sE~m80=gU2)~aLzT3f3- -z8`M6mGaIaZs5=`_dG7265?|~rAilE!QLD0>fL5zy6VO_#*?{jy0u-yQvY@v8RwdxO -z+T?f6xpxEl{rx`w&wn9v=iWPWXXZZ6>z>COe*66uWsW2KY#ZnLXGipCXk9~xV?6lIdZX@b$PVd&n -zm84_ZxUxgo9epaK$mDHvSp-H-w*%Z9j-W%jKiEiGqVQPe(_rT*VwY}tj%kkxZcnTi#l;tx|nRyD7;AI@e)Iq9g -zjg1HKr6donXd>JY#y{6ao-EO&BYQ{0u{V&8y1jOEt=Lt+!u38GNf<>E2kn -zw^6*Nd^1H|J8RqRmPHo5jG1Wn+_psKe_!xF|GQ|Nj1QNvp!mQIH{1xNA(3Huf0^op -z?c!gQB};N6k#KDr$+N^kU)P&R;lS8Xzhw9fOI^N0f-EnLjf;PeAP-5%iP?I+C7xg# -z(Diuq2F0LDT0rdBtK2V}O87!|w6$SZDDSH7Xr^(y^mp-lfq!s30oeiw;JS<*`-?d1E*5U+Es -zfz-w&!$Dx%m6-4`m2Ow*t16YDJ#?fVWx8do6h@T581wL3t~?5%e_1_6#QX0^dEFf( -zK3H>y_%UXC#5hfu;#h^FX^Y&(0-apDnBo5qLplC=(O!1sZMv`rPf7Mh|EBTdL|obrrh1K>!A_q{a`HN#^@JAjk^Q)| -z(l!;v)qP$3QpP;Bf3?bD!JGUINmjm%N*6e0Q<_}8_`}k94Lr5tfOIqE+VH>%KkS7N -z;Wlx+bOlB)I!;AO#5WwoH$00Udn!k-`*c)(o*WRLDR-rvqLVR=X^6LvsD5X-nml%y -z;!BSb7`KZ5cvMgQmt=V<8A;9*H=Rq@kto!R>NkncW>fZEf0{;deT^=@e)6!%npW+p -z%dXqEUl;FxyENLNi@^zW>uXPGhrN=L_G9+j1+PCfOjc4T>E3T<4@}{=dw&WwcH3M$ -zHeR(w{I#A>ma$@Bn|jl*Vk-Njs|DV}9BqfTvVv36{+=p!xdlerrwQ|%0Xb(%4$?g8W? -zINM8m=i`WKr$`oNSesBH?wL6Hu)}5TbdR`q;y3yeiG}DYTx0aiE+c#?JD)S7mx>1p -zsENB6dQy$y+{pUeX1jHh*fQ~(9o;$c$d0|0BweYTf9NN)*Y}S2<1q~9h6qF5PUmI@ -zSNBm|2%ko@au2LM%Ab%CSOzU)Xq}at4~tE4|7d)kvHeo*nBvPg)~iWg{V5gC$SPbF -zT-iI3$7l4B&ZSB6NfKw4_D|K+BsYZ@duWzm0-t4{Rq`5>ZGlbkH~PqRmtKkxjIwMJ -z^arYGe}7%fWzg|7aCb}RQJ9brQx=gjzL-QKPZlZ1lcv9SKLVlGAH-u!nQ*`@IpzSQOBA*sXCuHm!l+U<4PsO -z3Tora81BTd}X$Zu$AD5~B=as=CQ;_+RT%}44q=vsFYYQ1Ly%cFyq-c3}h1@Lm -ze;`#eRhG@d-nuFuew4lAqN^ -zv5ZzhMJ-PXK~6?!1&g!rfD|vBRBM10e}V6qwyuq@Y;1=MLZX^R5GK}w9fxBg23#3h -zApMc5OXkH%zr7Y`4?$RQ8@qpt9Xv=;Cs;8{TrZtH&O5V>k+LCF-S|xuo^f1#oTcN}f4Xei7bA#uJxdQ{QJszZLlFq`Vpd -zt>oo*5Xw(EVg~^kzk{>Plett>@Phk_gS~ym$A3vrQ5@qfYhjku*IBysc7a6u9rTf= -zIK;4E4`F;FuEn#O#wyye=@A7_yDAY -z=zXsFnjMNr`a|rc;bs9&s#!=0&{`?GkY?M6(YVpuc;%UN_$eOh#LroiEtk%*cO_ms -z;&>|4#(CTTyd-FuJT}G;o4|y9D=1#}^Go7zLfnO0Tl`v8IbAZz16^Z!;FTq&c1#I8 -z)RGd%DjN%i4%~E(R#ij-f55tXY^3Q=@O%PgWDHD>+#=!@dc#&(<)cU_SUJffx|I~e -z6x$dz_o&cwsUWixCiETEIRuYJsG*yShNnlTxTQ!z|DG;!|8OG@=Z*JG@t|xkDjtzM -zPfu99Sw!E@cEqWE!=@NUI9d?x5f9M((JDQw(toAS+=eb>a7ltN5XcG1QjY!}=8{vpdI|_IeJU=`gUMR@Vb@9P)f8mFR3m+LSe3T0ZlVWSW -zHYwg5u6^rp;g>vaJ!-G4UMsEKnTfiMuy{~BK6<#bmkzp -z!VA9xzewh5ed!%Akgt6nYqw$TF!!DtDbH%1Ty{G-rh)Dl_5{3CgcuH~lU?u_=leKc -zQOfRKaN^<1e|CyJ!wklt_~?l9H}atq>coNkDYDt_;df8Sx1$;T`6yCi-^x9$l@|+f -zM2wPag{PmL_ZhupqwaMr!VOF!&JvH(j`sm_E52q$>oW+I)srsE#Dvt+-p4UE_Ap#S -z`owr##nG6DXS<{q?msT~8WwxUb$|RaEG9q996?limvSN*;ojNnh#z8Sw)k-Za -zN3gO+e^gvfBtTRN=b<>XFG&=Gt$n9VJ8m>ZDfG=C9>?P&p83jp=@J{4b%XJo!E&Qo -zI58qv<>nD^@cm`@M2>w+BCRg5SX8BbI-^F=6Y}Y~-JlpKIm)URtfyGuPeZo*|lILDe71#lnR^tBfG{1y}Snk?=J5IUlkmL5ESqI!KO#x!1B&n&{|Lh -z|6cCLNzA_2M3pa*v*ngr|19SBJmMZ|8CExYyV4|f-WqdkT|C3$1SgtN?u=bK6J=jB -zkZukcj?>|Ymx&eV*o_3@zgc^v&9>o=f942GsY=35&FjD;&GAd2U#o&gn?vxH<_*_# -zq};&FI*y`?OTeEq=Eq!HhQjrT4IGm_Aa2CBy^aXa{{q=h{F7^UKXU<+=R|PVbqP{U -zVQpbCh9e(y99kdarjGCfw^8OPn!2-@|Il@M>x7~bp)UnW+|NZZ{kkWKLz -z4&bUyGP$0x+C);?UeOpG8%DpC$Bg)Y_xTE*<0RM4_Q;>4=lKW -z91ESVLh%`w53O%do^ZB8N0j)ow?|a%yzD)L%zDFhwvEsvBpzfZJKV3CbwlD_%HBEFdY$@=! -zwa~`z9$K}^ -zGT73b5`QkDJ|&X+3!V<0AU%Qw-wPzPsbylLGR}`0Vi&*a3w!|*2eqyZAFhbNTPs?T -zcn`ttfGiVyydn-iuNBv;nCbubE5v{KS**Wg^@}!269F}Lzbo*^b_PhZp+oGWCDJ#V -zIm?JhFmPv>&^?=cf7m<95ua`OX4?1>UV`R3h2MhC7J}v?CT*q0lMaJpXh&C&^r%5O -zw6_!5u_a=Y#)h8F%yuqeKzpW-HpFU-jiO1d;gs|`Rb3)wa)?(6dwb{YbG7jmT1DmK -zurMSVv4OEte(V}Xk^q<^SV7JfCkStF_R={u51x&<_dEENf3G4}OFqUWvcx;vCUt0$|@F`D{ -zeu5x{(yFt3r_6_HB&i8q-rnpLA4pXZVbPOWm&P@c*!+7Uq#olx8{R?C{-B1PnrrsL -zy;?2oZ;nGse?#VuJbX(J#fJNlU~8QQ@qKJ$Jydk2VFA*sP;RCH@uFw0xLhjaz>A{Q -z${```h3x1M{AsD*fY(GklY_@vyj$1e?q*iV#-^-gt!maB=j^PK>0V3 -zQBTm#O)DO5x7!;VKfR2-@;l;c9L&!-mWA%L5luE5$&_{ickpGi-&rNyRM(149K~GR -z%v|zQq>y<`sd$EE_7638YDbqoK@R20#vzzmofg}v<8xSES(;pT+4e*07l`*ce8Hr$ -zM6O%xf8zVrA`2o_oM23AS~;nN8(I)#1qa0I*u+6`KS^Cwe87Ni__Rso8^t!h{fia; -zL*hw#(DgViESBcX7Tr|v@e02~+XlMPe11Lb6Fr7&IB;)EEj;JJQP{Sy7GCkhp>tu# -zy0l4Dh*YE8K@1CN``;*o;5%@JJb$ -zoJ7xpyOf5Kyh -zof+%gvu*t>5Ns=VT^XB2bP9le{39=#{F{J(&yn{e@#aWHf38JwHQg(n -zm7jfy(Jo#kn9vn~9-LTTA)THTk;a|2K6i(;&QAX&=7VT0*rxPL1go_kBtag+&&)Uo -z+#_MFa;zxD=B2s4n5kss_Dw1T36rW6FP>Elwu;4k-2#LURpKt~@Fg={gusZk8Q3la&tRbORRCroQ&}42KT&`I;=aG!E1E+V%!Fn3$kh>(r|=meO)2HQ>%DMuf!{)m1|Kg+g0dim -zX-_-hSlh?wo8-}@18F!o#!o_;A$V@F7oHf~iYc<016FZef7~b_dwq;)$raN-^x;x -z>Pv3cAsV?&pGSL0@McjQ-a_Q^N)(qnbdG3+_ec8Sp9=^3f0G?)1726vd$@YDsy>vj -z-l3{U#${WVpuOB-%>2-){8mg%(_K{0(8F)2?O+ILFqXuG3LF43lzYR8pjFQKqx -zUeeVtwc|=i4aO9t6;PKBSXR)2G3E+*Z%nO}obAMJd1R~~Q-21INhK4PiZg^?*QS+N -zK7IN;9qE~7e_b3axvrBaXgq1kSC;JCZ3L_|lpN5rN!_T{XWZu?&Y4zXAd6F3hX03h -zTKNR*)q`2X8c5qNx$T}LcWTE -z*`50a_GOG@7%9pe1r*c1S88b|m1w2q+R5eJaG4*ee}RZY{a|Lgka95LzLr+nv-Wa# -zWN1^!%1|(^ee^QpN|w<6tL}*91b(tQLInS8?Dq67V~(R$OdwjWMIJZxxY;2^m8&f{dw^xHumCug$zs2`1A$#TE@8B7Hrp~Z-*Xj5T0(PLC8?(}feg*IiF;U3YQdy}P*SRz7khF>xoK-@(V* -z`M6KA0w+aVs_<=)Oy{1E3et1dPviXWxq!Zu>RvIBC5))rMDOm6@PQ&rO;8fSv -z)2x0R&#+3Fe~7oC_v&^{7yH4Qy#aBAHg2p|IU(bNv8~!^Wsa^*FS&Fb5>gYWb8MU6 -zf24;@tc`%1Y!{@Nk;Yd+Vzh+d=+$%?xdS(oF2g%wqi`DKFyplhJvTt$<5*_&$h20* -zjU1q8w_POAsw`>C+S;U}Em)dbVL>z=br5r>ZShMcx_%-TdLyX~-TN_?77YWaE;L6Tr+yzL$*JTZDLPaj4O)BlkxsP2g92{J&g+f}tUte@E$| -zp&?k-dKGxcfsL3bQPczxxgM$_T6Jl=Hlw)4r=9%m!>W%k`QA56Pb`)}4hL5Chmpjw -z>kMm7I+L_0n3$Q=PAfHnT6yU%d^FDV-3hp(sFmSwTa1?CzltIZf43|ewC53-ZWF>p -zEYRu`WJ%-M)kTa04pD>bei{s&e+J-eoEJE0Y#ivaL~mwDt11)Isp2~{RT1EwRoZ_L -zr%(h5W1K-S0Vgt>U19kfE{80_#Yyu4@-dz&I%Yt?0BU3@fMoFU9^YBNjf2=bIs -ze9#PQKc=$jC{%WKi$$8)i!;Wh_y|8CUpC{*X#3mdEymVw*PNlo<+#p%f5b22O9r$P -z%3=Q=-rjr-LhxF;B}73h{_rMmXTE~ji(n gt|F73s`>BWmqi973)=1WzJ^|C|Wb -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 -zM+DaKF>LE&GRz$njp=ourv` -zC+lN8N`|#5Bze2}1bJ>Ztw(i{_J14!5e{h6E45?FcS2xhwV;@IFtLH{flg4mz=5 -z$jyor|P=;iGwuVBuNFvm0GUhIP=5vni4o~-qUpmnc9iPFeyb!PwN`M3(2HSY#>8Sls7DXBT}xIq*mOdyt4cOj!H`h`egA29o~~hNED5m -z4u|MKQOem%hWNOE34M-xPk;Mn_)C&E@Ibw<+qI2GJQI)8Uh`w}!2ST}@FJU}O7KWJ -zolJh=m7O>lRx;~4Cw%SiI~v3Es|znke)Zk(qHuUoBmS-l!`=~lvyh4orjaPHY&)4W -z+Oz!`V;viyAKD5}jPUluj_6=AlXMXhZQQuoFmS0p3y~gNpI_sjn14@1H~+-(BK5C- -z!I-`O^FKoRh2=nG9#-9ctYhc3+v -zuQY4ZJav{HtwX2=jeoV`M@SsI`4J=&4{}u{G6llhW*7nd0{+2bZ^yIGJ|n)67@6D{ -zd3A9^0h>H?*RPgE_exhTf8(+@__#?joWSuJq1emOYfZQY=}<3|Drr92Vk284Fx%zr -z&t$ZdiV=F@e~wv?Uwkts+3f^APQ8V-|eVLt61r`mGu?Z!Y-t13snuH$y80HU4f(W)jO -zh)lrPL2b$e2Y)kQ~Y>})PJ -z2DXx{F1v@-+%n>JO{&GG|T}a2ZzMV!%e;- -zcj^%={$7(th7o=*+pVmdL~0{)8@a;zXF==tMUOQ8|8;>x -zQAihSu-DUKXL|V~Yhj?I(#{u5IXJWW*AN!%{nNyq7|8d^nea -zl0Ka80sLZ~aDHYZYmq2%Wh&zn|4kX4{!=<1aVa!$IWD02wvpY0wMK-;qnl68nc0w+UXuB(N6M+d)X$E -zg0zLVS=(%)fIUfPdpNUIt1QouyzB;I)`8idhIDubKl_M)u|4*wC*ah^3B>f4D+uP8;)^M)TYc9JoApXIUHKd5U02@A`lx@~yr^cen -zYAXW|)6LFK!_aryvopvVVh!<4aLaP7hVU#>^c3zhy)W(RX|6Og@O2a3WoN_ljDIkG -z7+-$}HDo(YfogrmluK+nNa5DK;=5}3l2~{9EOzAJBUY2dg`t_T%NlkyumyBloJNWd -zZUQ{5VTguE2|=4MR@yAtJ{7vvJcZr7*uH^P1_gK|CAeJ-80;Y*a$9o|UqwtA63`A< -zzJt=un;A}6J|q<9>KX00vhZbarGF`|mzZE?cmr}Ocy$dncqg8`JHPSl?s|>}ZQ5M* -zaiZGA4qhUX3hGp?>aNE33r{-{zvMX`7Pdl#*XNs=O|Grija?l9oG>+pFR(hBTs_zM -zl@FplKMLaV%O-u!>T1iHJ{6i;VNoqy5rQAZML4g|`_tufg8RFr1+rZ2w0{lplLh)> -zN1T~wz{E|&Px<=EN3#mg>1|4EOT-xNyR;YDq#+->mlU8_04!% -zeZdr4N0b23P8j12w;|;#XVX?=!0`3&gsAstzV&2Xzyn@w`Py-5olBM~Y{Btw1J7q?V?YPtcOTZCc?tk|g1_DhImMn?L -z(A>#%E@v5S?HBs6(1}B_-(G~AoBkZ4Rf%@14cnS_yk$E+U$t)rj`m(~{LenSMUdZe -zopJ4k_V&xtGfsgi@%*}alDR6e>1gji9OtOU|^*qpMQcif2P@mU~rc<<>*)} -zxivpGYOt6T3X$y!G~k@LN!&855owpMSX>sq$gl-HvoHyE@lzAR3QHPo -z`U00NWz{3IwB_xaYs}MiM70|=QDxKSq1T5b867v15mTovQp{Jr1soE=)?MByH+(tq -zXSyI1Y>WElf9h*Y&kVOU&^||qRV;|K4OxT^@JPyKY>I(L)@7W3KZ|kfk67E?B$r+5 -zY^|bfh<}uEmJ84P+*%pgLGWwT -zyO$uFc7Ga>&6cL2!9{WslXh9_qwq@th@E(=5f>9nBCBJ -zp^?RDw7P9Jr}cFS!wwp50AW+Q3lF4HMw)DCoq)MX?#;}7R(6|igu8<^x^Z;_guS%? -z1=Yv_zyd!^@XEaaQZyJpA;<2us>l!hWm4qtksv)6+;7+E4gGaGvQ)_H(8}qM8eNu? -z*?$=%<;g6&zw_(OM%W?W%d2dfHqBPdaG*2D4{uqgtfcNHb|SOO3Q2}79)IPJz1mt+zkWDU!}eHAbSMYB(vg~fe!nDM -zJv+lBvRa4hTB|I}hTWKD{a|Re+-9oH29UO$=D9l^v)431gXye#98QYco5PFJ>zf=n -zH`L7-(r3(VKYIZjO{#0>*Ee8?!MIvj=(oWWLVWNA#7sa&!L#cZuq@O8r^O+F<$tYE -z*GjtWDWr?bR)y=ZN5*+z3}Vah4_5!xjy;GR3M>vm6BW}zOeVF|aL|QlTpTU=xGK`^ -zKLM#9qx%=^$H`^uDe)3hJH1I=JSXEMGdh2RwpQDszm?G^Eb&JWRSwexNE%kzN%0Wh -zwkw%Q;&Kpo5za?AB`iqGF59TkfYK{eR+VjChtYR?E!KuQH(Qql91X0@3lJ#MUiuGb<&-hXJ!y@(`) -zzs0U5(aby+u^dy1FB=rEvEQjH#cq|7$1+a_Pu|L({DV{H3buGM`;pOT4~nySrX6@n -zoGk;~YwWU8XB&I73pqTt-$-RLHm>)u1(90X`X@bZF;2Ah%HK}@i3-WKoGjumG6y%A -z`Cs-{#TE{!6=E~VmvW -zJz{9^h3+koFU0BzGx2Te)Z5r%JNvc_G_@g`+E&O=uf)=gWY|SIm9R&9o#ksl#{ZOq -zdx)u?I4(IbuwNTDVYQ{}0rGi2U)Pc5WO@JcJ?q2}JO0n^7w=MQ{aNf>L;;=IY?}Y6 -z?Zf`e|BoM>+X>HLJAZFU1(C8>ez?wp#eVU#LMg9!k|RveVGAApN{3gN1I!lY@m3A{ -z;2nF4Pi&>?KQL)@ogwzquESnByvcI&-E_K}h39)linw@|@|PbWrye9d4bMUC_;PXi -zut;1=L`?BE;pbM;t=2bT{~%3yx^=K0x?(->0{JO9wGI9!Mt|br^+noL57=Hfrs`l2 -ze(i491*vtA8%zXcpr1Ok7yOi -zBI#Aeov*L%=-6-cTf5-#CT)fX{#vMw_te1UUO2uA=Cz9V@Z0BD?Y`4qooOwz#GTx* -z7w&4_3!iGWX@6MV?1w{I&tnfjg$Ym6n~MD-B&O&oVuxIfu6T*hptXsrpJNZQdK%td -z;fIY-J013}@WTDjdTIh0S2n^TpKXTzk+}RYYTC<7~(^z(}-KuXcjvthr4E(B=}qY4+-KCiW_8x8LH70p*iVI!WR=WqBY7A$@pTkB -zqq^UhnKl)=myAF-USHSqrOR(2g< -zW$8IRC?1paYUJU`tKdDY2kvS1-)E(5xEk3JFMqpxa!9hVP6>X$kh0;Z#6G6j#R=Tp -zOmFrtX-)k33d-Ei8~T|X(h1>q1Se4@VM?+eAZ^Mth>JWnS?#Q`@C0J5?9npGeqoYn -zc06p7p{yzH(gaeNu*47J=yM&vvgpO7e($d7B1%3!&L;_B(q1)}sP@XyY4Lf1MD+)_ -z?|)yHC@|@B=F&9EvW)0`1Yb3-FPqhlC&AZBHaIq+G_on1&XDSEF+O(L1?mS&%)B%e -zd05MuXVET9Tu=;aL=J49%|85s&gy<`dWoACFCf0mBJPStAQl(xvb#feG!ckG%ujoh -z=dBcL9$0z+s^d}ki665QJV?pN0PNTg7u>{qXySV2F0T`> -zk$hsTH-nRbgm(SYkJ~h`E*;P&mZujWPpbQ7Oi3<=-_(kY>@@jqZAwYwI#S9Z^?y{j -z#tRiyZ4~}^F%90bPVo%2Hxb*rlG?LoOzGF5sYl$&U=^MhSn~vNu~xst&3K#Mme7tV -z3-so?4kD*H&>r5@2EX#c^v>(x7k;R0h2L~S#4G-!{27dCjfr;(cyq{tUg3v7wbbIu -zY_5YjA=uW^D%zP6qs^KO^fhazd4F^tPR;2*&>y<+uexD}vu&^kZ+oDnkNor?HHiRW -zenf1bxdhM9UC$B#5a}YemwJ?V3-N73qDuwA;kfQMQ-m57vOOVv1?jp^sM!Ln8nCv$MxTw5uF3z#wSIVniS!JP3oDA8u-{g(Y5ukg%v#Y$3^+0iS4IxV5=f`r!G5ly+{reqDNiH8i=={?87`+sR$$?LPknWDqthdpEjZ6p}ZY1a`Ih#h=kRsT7N -zpt0k{Z-*}#Uvf?ouUY72-<=`j;5kXW0-GTfkWl?i&01Nd)oURD6n}@LJ{94`POx4JLcpoyOr|OVW6h|6bS6*jh8<48`n_1rux+@Fmhg9KL7X@7$}LX?kFuKP&MDNYPiEsK=BYb^31vVt`GQx5Mqi*xY;WQM}Y -zeK``fo#?mVauVrHPRRfWDQ$8If^%iD=wVkWrf+597h7dyoD}&(GQ~VP5Ch9w;qogk -z4clQNmE-A~gbyE)*~yRioZP6~LMRmuiWJ=5;+4J}`AKv5?0<50>0$1t=n5vO_pcTw -zAze6K_=8sZ(1*0+^9#}W4E2&uiuZZJpwZ}(T)3(ee&dJ9anT}u1i9<%b*!Oj2ic?2 -zRU}87MGn%Emv$Tq-*gi-c#Y`X3b6yk&FkW)++1`v%x#75#-ZL1r^iJD`_VJ(oHZ28 -z1#zL(IIers)qfD_gfS^n8)C~}u|jxueL+4Y=>Oyr920|f66TP-$v9F(t4D};-%_E% -zfYL_j=~(yfQt8*Ur!o0a05df>A&10|L@K;$EBPm9o!wL*5$^P}(y;87Y5YN+tA_g} -zNd0mgeZy?oCEYE_~~rGL+>bgkT=t1NK>qK(fH4$?^F -zL|+EtqxZtPrCwI5_psrq#jwi02mjrB&jybEfqlG+1y2S(hwL4(tG9{^h3A6dcih1B -z58=#MARLLQoAS2Ou(HK3r+D0wzRx4LoY-!Ht@DP&84LyL8X?>RM|VQV4-;ESc`bAg -zYbW;2uYWlRPMa{AfK4U?C9lk^d4b1}lM7xAmGLED=CFPARv7r!QU6SE0ycPOEjPUFYx12Cum{RINwzdwcz=`0>{<%GP|LQg34?_tZ0yBGKnO+S -z%AgD<=aN<^juX8=y2Ip2t}44q+OVd?_Y?pi8ILxul&529FA18w%fx}acEb$}J^hWb -ze?SFN0*AD+2@UMp)Yji*Kg4#_KwRIuuA99dVkg#zo9@=WUkM(>%(i8)F&&K2j`ffW -zf`3DZ_`BeTedMRLFR%|`Cl`6QQ{y-M_xAOC(UfVahJ&#kt8F_o;ToLW*dsX|Z( -zvCj7)62A_IoWdKZkbw-kQkF&Ge@iP8{dM;xZP(VX08cB81!c;aM(Y=4Y6 -zB@89FZYOMAo?MPA4t~-q7~L%IU}w-dwNgHVkJV=Z0VMIRl7|mejgw#|LA)WJE{wD*Fhoq=SkbKYvI; -z%xe2-RZlhv{I*Ihnf|}*kmmp7_lErj!EMc6M7k*j`r$>@haXk|# -zP~n9IwJ3ZA-M+p2)Osu9O#Smgw%if*f`!?l8j4GaBOk$BP+PmRDA -zIL?!9*qF3~4y=wv;IpET&VO6?#jw;b9wEA&{8esEr^V~+X?GCTN03qCul(0hJ-+^g -z@lX_Qk3?YKQ3o)$HVSuQX7^EX@g`e;*vg`}9dCGeR6J}LuFnp%-yCh?6Q8>w3SG-0 -zkQ&vg>i(Fo`YZ}tv1a|KR0~kIm^=zOMkV=9v{+1FfL>V -z0s$~m>=G}6natw&MR<_xlb*u5}8tM}me#gMJC#0y;IOD2L6T+DSoWJ#+D_*HuXw7?xKxn?h16QP`o -znfgA}*2g0epzR0@)%mmu$uhq)R^S5=2A4vh`05KDv6!BD}_(af@x=L&s!#@?A@4IoC~U3Z*wO@Fj$(@*nlzMpq8Ig(9C -z&xpIpvLFC|SP_DLFxzR8Mf_sJD0Y8aN;a1}wPQ+??%mJ%k~a0a<(V+tD}M>+d0|#uhaY*N)@wO%t{3Ve -zx>hm17r9O^vbJ&krZ0Qp5j@|C=Sy!RlZ2F_OtvU5a{HdM;7-;OHP;dJ?C8iiQX7O^ -zL$HGYL~3h{pf$T=p0(MwFN4cN&vLMq6hlf2A!8FMaa-&)kF4DcSY$$pxif6fx4N^i -zpo(qqQ-2(}#>%muLrT{u+!^V5&pw{8+HwIEU`-Ne5ZFi?YB*=+^IL_a`R({wDIG5 -zwX!nuzh2xrZ|L)VdW`IB%1YkZL4@eJ)F0B*uYZ`%?>$rEkTT@$CWIhtwnY;NcP~+q -z4^H$N=d)HntZ50sXTqC?RoLa93-9@CJPB8Y;8?Hz3(0esFfRlrP?iWxC=MaRiWzdz -z2IquG7>&6H*lXDB*xUf;Ip!$*0rUNwk5KlHE#zK-vSgEa#VL3~6h;GknSoE6O}Jgd -zcYpZ^5#}9Q=$dUovhedDu@HirsNyTESgD2Tek)^ekaMG}z54lNJ0xF=U51&j6G7P5 -zu+ewvYtM=w2ro3%p2nVP;i6hN)ysy

Jm|l12eE_P{ZuUWgaIj@oKh3hWXv*TIqy0nroWSRAkVvLy*}U4$@R{< -znV)OrM;mNbkqd@x#|Zk28d#K)>VK<9Pf2lI5|S;U4%gY4fPWykc}NvQM@y?L-G!w$ -zXj0zpx><3vnvI*>Fua26gA7FA-^~%qw`qNwh%qoPUXQsY@hHaxN{NeEB0}x8!R%0) -zp!^{*Pk5YU(#N3`e1;<~CfRC~$o|p^L1RCzw`*G2HL@;#sDx4$X+7M@+kaq|R$c1q -zn}*v~~31%Scl -z5=lO|jF`+g#jRMt+8C`4erf$v*L2#vfYq-w8Ne@y$W{D> -zbY@&#e839YU(nk46CL)lLciQ4ir2wnv(C_USZLOf`w6oS8nB=)YJXe$j>Nnx9$b1mFuUd@`5fPsC2nX -z&rsLTQtj4iK5p*;_12mKRa}994dYN`LQGX~k%nzNhl@)b}qh -zTFLhEAluX}J`GxAbTZw47vlT>}DdY=bXdU~Nug9S1ruL+dSR4FZL9v3*7 -zzwcso-QU&yi&cJ#y8c|1o~X)CQTaAZ36>lOr@S=hU0 -z;u}y|y=tdW-GBc*I0f=^eW9wGtKN~?rhHPB-=oTxz!{wXo_d#`sPuZs^Wcbe+E -z(+e*y;5o1QY_w{Rq8S6f=c)X@KUC#ER_UcGZBWD -z^)IP3pvu3e(uwMQ$gwr`(_Mvk6y90*%R(xPs%s)D-G8IfPgQzArQ=i^-73FDrTD_AZy6@w80r%^zMMERx_?@ZF -z8K$ZJei_R&PUSV(5xYm+s-Bxw*L6+nAA+owkjaliac)sI#%p+u!+Djl!V@2YumapB~m$F)E4+WKzc -zgN(yZg;`pDoz!W!^Zcz;>+p81j`OE#vj4AxOMeT@{2Wy2618TioT!5ugm}14@Jab+ -z(i6X+eLpd|=whCeKT~5kQ;kuLN?%avfEwG1k>xy2C#vy@tGRUE$lcrzSBzXVQl@@R -zUl{Qsm+u~t<^KF=gnWngQRz|l7k$lrmR5b%uF}7&^!w`Bj(XM(l@F?C{#`5JHR~TK -z`+ve285rrRx}K5e@$+`8dkPh7EmCRzZ-@HsYBesP$_vza0slLk77m{maD5@Bg(^LK -zO#%6KROf}m&mN^<$=PZw&(Xfe>BU8|t@TBpaY}c|_bBAZnAGZ&(Xu5tqRm3}ujq*L -zLiLUL+@#Smeviz}6eo<#^`(8Q-{<1d7;SH@8A&BlooR9`D^5J=v+Ud -zfBovdOI6vW>Z_^FR@W?4=^~Zhpwds&y=QCkUYW|i&7V{Gh;QVlj6SlS`l~?Y>3=-m -z4vif><40=zFV$q-TJ1dTdumKKXf0fKU!EpXYxqpHrq5F8%LVcoFBi!1Vfvy_zWa-X -zFR~o)%fi=($LGt!ojg9k=Yy(#urS|eblnI}-zq#?J6k)5*N*&FKK~p|t(El(j;t@z -z_^U@8ab75%D3ba0MfrJj)VK04^ZfON!`Bxbk$EX8I75Vb~ -ze5JFORX@I}(*LOUpEN?ww@D-DtdMkagv8Ge6y@J5f1dx2ni2VQ3is8o6o0(yS817o -zoyV&*q+sQJBkvn|uPWQB@bK=VX}n&|G==+_OPDQXp;$+0G0+Z)F-o+w&*_MF&`&SWxc -z#VaSAI7;Fq@;YI1V#nT;CK3 -zty{P5#kc$f4+T7eW`Nhbj|C|G#{!=UNO?hF>KmkeiRJgFIL&VaD6a>29!P#V!Sdxq -zkoxIF(3<-vf+s}ZsvM^Vt#OjFQ0S;Zw<*&zoL?q*ON_@t@HLOzTYuc(xEovth2;%N -zC@Hg~tRfnf^F7FO@;M&E=REK8NI6SkYCFb#(DNZPj>2vme^UM^)!Yp6pVt;fYOyY{ -zjC{>UbKqO7uOzrnf04)KW9GO}-Y)@kvHX>N>4$$Lm#j5x0_OIdXHM|;1ccnmoX5?5 -zG9hA!?v`ht<8Ea`;D0f^!890tI4Ege^BjU+r#3z+)&fdJ>L1JSa7nS`%AAhg;*LbZG`YNv(uX$c( -zneZCRpI4X{{*dAGjF&P+Ww^kQ_S(P2_2^~(pHcc|4si=THSN5MDov(hyde -zA6&31%XQhsbAN4%zdxv0`pF^IXK{=VI_TTq_I*pNFGRB_Mgi*-;O~PD%7v(;F3~dO -z%8>GDDi%G(?-Mx6zu)CnCcNl;;4{C46jVmcdiJ||Ty90qt3{ix(&8~| -z@i?|@`U6renDb-7)QhA}LE&eaA3YrZCr+y!$cqcKCx7I!muz~~v%Ic8!~FW9bI6Q) -z&Romf$|TqIf8@B2D*u-31iTk`ndRln${?-7O#gdK|9f1HHP=bD{XW+TXT+yD?hlzS -zUo`bcn&*GRyhz%^KbT|nyytIB-EKe2fR8%v5&Nin9B$U-?s2#n%6@k_rH=35v2g6t -zr=J()rhl1UXLy9?RLGGK`=$b6pjbVI6F6ibgpy^Y%Sn1gVyc~FM=ZDG>esoV+2reewTD-L^D?m_N{b|CJg -zlj?{x-*Ecfw>&g<-*;30lg?=IGL=T*kiph -z&kJ}IcA7#b0f@9Uwi(r2HL?Hv0Ox_vh1%=;yhrZW9uw9b<4p1VE=L6Z4@>>&6# -zn12P-mZzL<+rCIO`2{7plrd7OQyu=oDfe(vi=_U%*ZmFWEstO9^~*fR_6HXQJmNYc -z+L3Tc-Ib&nug^gj%d$_K>w>#Yzd)HuWB96=J4ak{Oy48sN`}Y&DekB5x-4FQMe>dJ -zwu@vJ?QDcCh4(zOZYdXUyQCgH;jqGf_kVtetjlfJZPAt=avdfd-*pjuSj?RlJj){Q -zUfwgk?jf0UhQH6a&$wy5eL<|p?{|m1)DQ1xywBm{b=l{T{YY`|cfa2)$Le{vEZ;6$ -zsI0%^xW99g%#gG{ayta?5~Ok+yg$KlmO3x?y@&b2V_P?H4tNyBRvz`^pGey!>whGZ -z9yvb5Z>a4#g$>osx=2~n^9{Duc*M+mufV;R^+I2OaMU*k9kh0Q5ltM*hF8ur(yjes -zul8Zj^B&p-KJR(c8@vM!`^PVAOzn8T*bnT*Wp?3&ZQWdJNRIdOK6;h=pzM} -zyoV&*6&~B;!56u&{%7v17g+E7jDJ(=EV#>5c)vh&OxH1If&dz -zvKhlTZe9^anp+;kP+4pf03DF@pt3h?SJ^JxMzK| -zhkmaQ_vLSTQRi!{-(O>0TFRPyMv-z&HE;PygPY -z!W2GRoZbHLx}RmcpVlaX#1DVPabNfUt?1Wp`K^8xx@3U*_rrk`!GD`z&G<_>vef_LUQ>GMXkRrdq&hL+VX#Kd& -zynfqr+e34a@m^Z1Q$fimDKY=w@VxHFvlPF;ebeJ+?)rPrUkRRklkIda-Y>n(vfzgv -z%Z~DifJ4aQLtZ)G?tc^C$GkKrP~L&8^Il=&p -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 -z4ByZ2Bb@GeXNObLzQ}POt^J(T -zFBtwI$NwSk6$nz_{xQe>G57TsIL%iW{};}`5Pk7A#(#tHsKvM$?sx1L^F!)3ZZmAr -zd<*_jI#t*YzsdQ%$@#s><$s62zwe|yl;WZ@UpMPrhj{;Wh|kszxmv{6jDLjbyP3X+ -z&-8m-BQAfr-eb7Myx#9}n?60~IFAt*>6TBp#$D3>ImY=#7*2D(HP@!=ibIACmz3l0 -z;k@4C$~XwNTm)}0e461+hR+E9fS>04pJVv18NSHATmOs8-R8UhOC0|a!(V3jGS}~A -z*M5iehke=g&*DqU-nQr|5qc5dCj{%SB;ar+&-jHN$A#|1B5M -z{|?jK>qfoDBf@C=KOU4k^I6z+il>uYA@2#d^oww_-}o!$9{RQmwIrGYw_V*XANx;W -zPFEcFx;J@WBXLqMx$XM0%V*~MkelEchO=(U`GU;H|dlI-Ka^C>^_LzP+s}Jq@%OAd)?$|ga72&KlZDge!tEC22Z`H -zKQVTb{Q~Gb%<=`mzJA$7egc+0b=>_!7r}oAMIR%?n!7msL+&REcMCq33iI-Fg!sv7xt4m>lSbN0DN5NzX+ur9>d3jPcYpq -zLmG=w&i^vQFvD?%)2u^JLwP-1hgo-A)a_kNlV@0EXfWMPF5@}I|19Hw*8P5w{^x%f -z|6zvzis46??jvr}^?si5zrgrkV1J!YF#aWm|BmB-mCOAUe}9VUf1B@OeAfNj?yJC^ -zVqOa$AJpltI^6ty#bJe!PRwN(f3en>cRZ+WU*NL8%A&wL`SN|YW&gmiw5#Bq6er(D -zaohX}?Y@PQFYz1qS@N#Rl0)YABlmMIEBpnwMgIjZ7sG$*{-Sx$Matms^Vs}=>-|IK -zFQk6c^uO|p_35A4=h5M5x95;o7WJTM_&08ea|oG$P^OgMNG0c*gMEK1ogT|? -zOX`G9TbWLeb@uFpU6-&+d!)6;x)0{`^pgLZhj!J3qca63m*wX5)z5Gr!@IZ+2R+tW -zcQ@O|?q*+=!%TaE@i-%ee(9+S`Pk>V;@Gs=353q+nGkkcgikBvS4H?<(VjsM@%M;_ -zT1*XRq8H@sNMt!X>U#l+lKmX_0FYP&xH6JMa#el~Q)47R^!!Jtf;X5fFg?4Vzr<;HLrk?YxGyI)^ -zPr&~y?(JZzF9sxSP}J*vT(9?W+V?>ku`lJbs}Hij-G`X&LtO6t -z<0W6L&nebDuFK;pL`9*&i^{U%0TG7eJ=++(h@RsLu>_>N-A?aMV*e2p@^FN@oF!BkY -zb1;OT^+_D@(5viQ=3?Ig*&nZZ*jGTbCoRr%JhnS%l27palJXxN($DNQ+g&xhbtdt* -z*{=%2pZC|iH@utPPy2t_|Aq%WN&d4(-hVqDwBKR#i2J#8_Wge>~&lYOazuW4{9TwMSjj>?fd?KWyK%xoVjiKsFCh|oBKoP -zH9U{M>Ulx%;#b(0(E7e;p1Tn4mZzNtzb~5e|EnJSC+UCjAITIf|C=n+-(WfNrsuCc -zavl2)%eDXF`Httkyq0*Rf1~LmNpj@47kAwfcUNLtaZRVfZnJ^y6|1 -zo$*s{8F$+BYY%zJh8pschD|u~I}dps{QWtG9sI5Xj>dqO?v4Ie?}wE?@qN_s1t0lt -zQho#84#xRJ^I~V>+b6o -z=eOlu5Hh~y#hE1inMg)F?fpZs<~-y5RkEpizbg3XL!9qNnEoSP8l#Wc`t^6cv<`X9 -zu;nlI2i`Z?Kh4d)%gm47Cq%yyq(1((m;3?=eoud#&3@Y}xnBB--4^wdJ}Te$(%LKb -zQ7kXUeYb^Nonjwong5iJ%3k)-`v`fa&-4^3jSW>-!r%x9JQ08P4Y`oR6Hh;tmMMIoR*R;iq>w-0atO -z(9im-f6TmdDSbp9U>~?{rX6B@(ogo#1;$@v_#)@^qW_|)$G+&Nx&5O5IrF^rMgM>G -zN?HD*|BnI$NzeWz&f_ImP5+wv{w4pB0Q!F>i8E5J!zbAf?2~@FL-9#J=>Q0&AI2yB -zf9-jL^Puow2_HEbey>O7^&5VIUtsvU-^EbQsZaX9&T-!oai8|%sz~L08q&SQeehdc -z|KIb!F8l(8pTFPIU;dQq`KNyCt%oo9Nk2iK!!P;2>6iA3*P#yxhQyeCmCN``&i8*W -z{pbZJ!*BTI-IBlb9}08?5&;=TUp|-c-6oypfbgIDE8!9O1*qlULYuxN{0cpaFChKw -zz9stm4fbF9w*NmuEr@r1z+>12J|86eLwvA1IV -zz!{+PZD-&IqD(i_x&!2sCVY$7&&hum_)I|hGx-9q2ISrK0M~nefcRm5fbPQV58$d` -zc{x(t%R+zHANV7`Kk%^db3DxH4+ltxJREq*kMV?iLyY+Y0rc)>-+jK5KfrAm2z<#; -z@O6g2Eb=|e`JRP(3Hwd}L;S85`!0;-!Iwn; -z|8jup^{at)4>q}e{Ca@aiC2FEmLJNi+<)KWb@KOloNjYH{wNRKn6 -z#rdGTt3rBXj_XnkYQcYfQr8R8eKv%WH@D4qIUW#m;%1QEEO>@#>1LH;zQH8#%-KCt -z0(bCpw!dX0eO0`>e4M3Eu>H=q8YJHp8Fnj{zp(XA$R@)&!&f-{=Y;=}i|_nezP}-d -zya#^Typw#=>Eb)_Qb%(uui5-|RWIRQ3Rw5ki6_Wsb^Ma6CUE+v&A+gnQ{bKeD__i?^?XtV6M -zO~qhHbU!D&(kSjzwIFI6F$^VD%)lH7n~IK -z(P1a`$(-woBgsA!-{mvBd-=}uP2Oid=f3GC_`HC>&G&zl$!`COX~UO&L$>rU&>K@8 -zvevn6c5t$RlMTk{q2BV?!q$CedZ&Qse&m)uTuu+|sfGT}e1>-t9t4Fp6VrEbZNtI -zvTcIw5JWS~wvk2Ked#5y+kDGw*-PuWcpK8ZpGAM)oxDes@5*R<-Y4JkdCYa| -z0sl=gr*Us6-%acG6Mt8EU-%O1$S?VcM^TfOcCFWWkM+8FKkDm#7w;wHx{ms%)XC;} -zFNZppEbs3Ee;1JVO6~o1JeUqxIs?fZ4BOwu$^@w|QP=2T`^JgjiD3Kv)DuDbohadp -z!*zd?YZ|`ifUmDOdChm3Yrl0T`vta_WrCTu{H<>*|Bs9Pj(TQPc`#7U8I2jesHvl> -z(X7?H*e=9P{25P-sLIJZ -z#Td=}b*<0{mm7&(MKgfx{@r9#y3wdYq^f^B08z7=R#yvJy-`{%6><$tEv)BC)e+@E -zj4M^ETG1YBsH=KiRRTevg1GXiax_@dG;O$VpufL5+8$MqO`}s%y{V -z(~TT7NMOa6UaQg90adL;^lAe-K&y{pWF^w919<})}?uUvZyFwflVee#J%q3Ru{E?s^Us@HMpvW0d+Yl7;dCwoVpxN_~u -zr{KE_NV_KWh6(YD145PAxNM_V^U<0o7%bq4w0107WB+kRG?(Pue9LEg0#BT`m=)MU3eGPy9e@cl#CF)wP -z*iwrcB(1}=+b%&57fY+F8nTpnC0R8GEV_jl!Tcj?t*&jA^rk`II5Be7qFSjIa6AvI -zxmvB<3RjEa!bVzaAm1BGNQG91tEEZ~hssb3FqwgE>dh)tLkEfyh$@QL>qbcFdnfdn -zdai1e1VKpY#T250C+dH>wF*`jd%9HJ(#u=WxDuqar3fjw2j;LS)%>t+ck@812}u=W5vk2pOn&hcf-n5^tA^jrGxv3eKc#O^BEdwF~O7 -zS}K*&J}nJIXYr8BG*F?;w9uu_^-PsdqrB*MM;7#}Z=O -zg&>A%fFKb=cb}C?^gB#2oaZ4WV@3coHR~uJgch(`*DIrAa;-dQQLX2;uuc$B(8{G7uxuRJ6Nwc@zLjVz -z&k{_J`f7i!puw8fSl5eCp9HjBD^8R_@G572qBOI0jgp=FNt2}ub-i3x27jV-oao|z -zN1||{pw-|@8GeU}1+%pkd;T4#)N5@C{g80G3JW_(d2OfEz-4L_m8R8P+0Z}(6SD0t -z0nD{XQN?#o2sEMY(P|@vZxxoHBB!uKmXF0JtUiB&C9RZDFk*xjG|C@wS{yv;8meOt -z0p}oZS9^e=bkveiiuS~X76qcR58`1#(zL2v{EASYoX|ur$tr-Rl>;pmbm+bv7+Nz$ -zUF*p;NSOYZL`Os-o-nwqm9>Tzf+;D`{EhXjSAeDkDGH(E7NX*}vWcCAlc -zFBOYg71pJ7(8R;VVjb46QCPTeW8vji`c>L_6cH~nf?uJI!Da}sV7LX)w#V77~JwSdZF2~+`EL5+U~EWnr$1hQ)A6^%4Y4LI)!tO)H6up&_S -zDg2dcp4n|6FLP>&^tw9Aq!HzcoluSo3cZ5aQ)g%yM;5?-vj$IaFfcFXu$3#7bD+08 -zLf-|fepyJAqxfBh&I4`%1*8JwRB2XFn{LA+w}xOLFVVQ=KtzMa1fm_+SSoJVzG)p!#ETS?oun{iuHk}SKm$P*ySIwdRtvqVd8-`veQPzJl+K$*7+9GZE{kXBLz;332};W -zUBKvl_(fF|DWjHDgOn4cYOX9+Rn+g#?LzSG4mWxWv2<)K9=*dxZxl7V%7iJVaO+x` -z${Dz!6~)J@GQzJ)xptRY!T5!efvT`*#H?Pk)eX|6U?aCBdMSt>sCz&Ype%n;y)>+z -zMG+oClekaA*g -zBnt=F0fb-?5vm-n#36MYOzR9 -zUC<+TgIPChh3y0*cd~!l*%FN4YFC9#CIEeP6=xs-Lu=qX0`{|1nEUWE2V3F7##&vd -zCd`rhP)(9seaHpPUT&1Z@PU>t1RHC(ovZ1E4XrVP>qV_?E(e*J^(qcB@Nh#f=w+O3 -z5Z-BxDwnLSGqTAlXkz*{u0&!Hl{+>R0cF@!j7UDic|C&WsXBj33SiOzg|JpZK?Dno -zf#Rtyk}~~+{K*BZ>IJb?7AhMEBI4H=PhL=SXa@llwlxT5rHMwqH)=4YG*jcl2>@cq -zB++(IKM`nOvu}7z%^#0i71-L;?3YHC->O2Iy9*GA2{;wBFFrkhEIDYL!+| -zSz&e6!07}m46_-T9F0f9z69NNS>}Q4ip__#mE2AVbV18#4UMeip-Qkk6So=aK;MP) -z{b&0?B4b@fmB&;AvM2k>WW7|Rr9>{`sMHC22lfrpg)o0%LxavbVk<_noPn!y1D6P| -z+7L@=2)mPm>UXt^|>XOE>NlVC2hW -zs|6;eowU#op`i!FH?ZV}24Yq@X7(QR8>x9Puhul2dl=I|`C1i=j!0QO#r+KZ2MTc& -z1`B7d5=Y&+u#U>IA(TmJ+q6wn()b0(mtZ7}bzy%%(s)DIu+8VoKUr=%47jxeG;mt8 -zsf}XHbxKU@AVoq;PsuQFA=<~EfhqpkR}97d$Rm%y_anWEqeF3Zs9nlF_-UZdH==eZ -z{tnCtL&rO8jE9+9a}MqQ9cO5{LJ^qh2&tKMQq|#q+*CBHxCw@_MTr2jyQDYkXVe;s -z3t@jSL;?`4IO9noX|U3?Y-NNLXU7Qq|D@sox!&0sOQbX5L?o&l>?Bk5Y#rn;s1wTJ -z&M3_8G&HubK9dtQ>g-bjohHG-&a_sC>`g?v)1>ZXljTmQ?8r{YqB9MPC2RnrFgAsT -zfm$z0L9O1Ilsmo7UD~M<`~M?Tp>QfacglaNEX%V>?xYRhJ0_>xeVq&8_b>(O$R3ryO -zLB@YGp{ui?D~CGehHwJ*s%a3*P$Rb8lF>ogFTXP|LljSEp|R6|78P@_99Nq^j6^NhD(ksoznPJV8nC0F8WEe?s2tgYis-c#G;}w5qN+U5iE~vLH9$Hi -zK%!YqInY_tx3xMihxp08pUvm$Fp}mcuCBnpLcdcU>#PrVmUESSG1u8s+KhiprE~q` -z$(?fpiK$egzj?iOqu3Z8nrox$)24T(%jd)S8;R85W_7Dxn;sg@E)Ne~ZKvxWoLSt_ -zwehp*y0*SJcP_WHHCawq`?kx=?Q~0xCQ5tHrha`S^Al -z-Qcnj&G-?B8$nDp4G~^cwxIWpV!;yhNcUZT&l2jc6hUL<7|JjU!NOazOXjC -znV2oK(Vb16-#!;k&(~Myt}YH{XX@LH{&-Vwwu)6ioZ0GcZ^!xBnXBV#{ma>@x}mT3 -zEJTxivHJGlOe@l!--V&Ea8IeUlbE=$G}kki&SjQ{3azX26Os1%T?nsT7;2m^r6$Lw -zm$uK(?Bp*DUR}(b)wI4gy0Of{zt+v^UPfe|!y?U-PwR1k*K0hXAQk4sv+pFo!dVQg4^cbn=)nsF;S|5nD(M?9< -z3xnZeu6%uFwh@0HuS`#dcg_ygi;FAm^_xuPhT==n>*ZRwuxU(1mj?0^^ZG*1`d~Ys -zPUd^gZ!R^@t*-5~X4cEGY)_(Cs>Cvbv+d(CHF*8p{7ipgdwx8f$s`Aj^{wIY`tV9- -ztG%D6Vw;V{;mM_io?>ElDAiZIaARS5uyr<{YoBjZwNigMpm$e+I+ -ztM_Cw?d^zdZRN|cTr*jj->3~l()|m4vlqs$>eYICx$$_Vx)9GqCiU$pFXz*D{byZYp7>y -zAU7XgyfJ@qp>e%Ezs&Teu~u7MSh|ouzpxnX+gg|&NG@N<+$glqx6GO`)K`x+R0Z8;pDinWGwEA!F8_VHL=Pc6ij*J3yN -z=g+O|L{?Xl<9*}Fp6J(5DjH}^^os`i=myblp -z#-~>DnN0e8tT42#4=nVQ^c%*78}0MAP};t#rM4Qm%w)Kbo*G`CiCtgW=ouVq&9u=K -zhgW}VTQ@dmrmn6|URX$PjStP7Tk09hP4~3dPg^WU=Igmwd}Co{JzHr_O}8c|XH%=K -z)%J2%$ELUH3*o7$g-o$_{#E?sD}qUYB-`&f(<}So1dXm@2 -zXD2r%8}n1s(aO+T`#j%Rnoi`m*ViZeVZtp>PMjayIX64kxUkY}=f85YI<$0dzQ2D` -zt_&?q#_ILS^4XzuzL6Pf@4xcO^&1&usu;hKSsYJKmu9QOYu9HqV8-_LmbJ5UQ_CBr -z<*O58mAUc4&hU+m@!EEFaK630l?(Zmm4UwK7;I~LrozitFDzeQ9Pi(rD7Tke32z$7 -zNqwezzW>JXS#5Z=s1J@O2gg<;?d^Z4jQ8gUN`n*n&dlQZiN$E6xm=yEr!$l5?c-J( -zT)D8m9+@9r+nQZyPG-iUD>GA*{byHV?d8^rjY4fFFoG| -z%lmqH8mQLS$$u{kxDte57t1}1;C#O(0G -zMmzu2>#ge8^_($zp|3DFSw3IcIiH){(h9Tv?d@nxZI53aE>7$DnTf^o{VUO(^{rx} -zFPt{o=Xv95|8Q!hRZXp5-`p%;7;3FmXJ&_|&gN3>?P&Hz(pSfZ3$e!43!7Wx+uHm> -zG~aAhuP(I9p=Q0fbai-cc_)7t&QB(mTU&#f6{RXl`CFZUr& -zde&E3T5(ky+G>|q+lhtim1^U9d2Md-MkcPWP={2eqSp+*(Foad>j;Y;|ihm&tEd>Wz(TZvO0KVLPVW*U5hd$|bUKC>)B7ZLzOg!-(Z^sT8?M)LE!aYdh%)eS9d#AQeSP1 -zYxeGjU23IdXoldyql80i^q5`=8<0mG$L($lKcf{(&5BHo7#x;3Obp4_JQsNW%g#15 -zVRe!T4Gk@(pb4&)c3_?oZavpOl{405aqvBG_ME^38H0awTxPgYs)fsClUN+Upj)wI -zD;5G=U_;EPbfb>e!6OnEk*qHgnxs^BVWBzLjx%gTx)gG<-vHNW)W$*N0QcY##vVME -zf6$Jfua~U~#VVC%15H(;@WXr1Gr5{Y9M`LB$@(}QY|2^M&~b=z!Webm9u!y1Y{YD? -zvCfrxP~v~)np(XjoZf-)7KC58WFd~^6eg0-ngtIXwvaaIW)_ItvMYJLR7p4U1|c~) -z+KJQ6T1^}f6=mDDQT8wgQXgh5v3g7*VlaWQuS|h`SjMzf$)rzX?W+Zgo;o;d)XJqs -zMwih_h|x`>rd5lJSVLT1!XQ>)w$E1!>l*N&wSs?8`?Brb=npQ-1g$n12wq`V|^6+!Ylz#_0=}00g4Caa(w1+aRbmY&kI8G{_lRX0i -zhT=LoFor*x;)NfCZukiSYN!u>&LPFHp&UJFsC_#p`-XSalV^+S$)5f}Lp^CI2TvNI -zlZJoInXmJtF@onk&0JX~cx2Q%(UGk6zhhZVxmX^rx|7#LUC?@3rHHnASH+~gml;z0Wl9B1s4Qv -z;UZTzwgRPHg}_xzbX8Eg0V3H|E9q5A>gl?=BBG#IphrYoGvgE^%JT{kW4OR@1yg@S -zFUmZiCEbc&0IY;pgjNWHHA89&#gu(Ah?FLNLD|ni{93^*lGL=!Z2v_uE(b&~Gdn<^ -z?k*Z7_!YIxa4j=j%M8~tbCIH;G7Dz)L>WGSQ%KDLQ7Qz879d2;ccJpuO|J7~Va7vY -zJSITzTJkE~q4O*0Kdx6J&9GFyaTg -zR;)e{F*ugjl*hWR_4QoH^{j?_CZ0MyVttH+o;uxqv+LTE#n4lacSC|}W02LgiEe1p -zHR=h!2w*`^bY08!+z9uqK=PhP9_>8&*s0Txhu)RNOECWfB=7w(@yerJPZocl?msi| -zO!vqgLf78)Wbvuf%E3D#2F?tbh^{U^xPe&-Q#DrA8fmd2vm)9ZG7omT@N^$JOTf`S -z2+={nh;pb)oIFSH3`(eR-Aa&9u+^v6v-X;aEyxUqG4^6u8zDrr_RtDaR{%b$=iT1qDsIYo) -zDUNQ%*{v$>ZoHP|=@yrS4tJ{&;S~t#A+q9XX-(}??(G(C)_B#eoJJRL1CV!jTc`Kp -zN`rE+dzZ8Av2OI@Yx92)jt*VQgL`B6I2@ldzrq&NYSWJG^eR=U}Z6HipD -zYY+jtt6nYQT?q2n2nEM=wWT*fhF8T+ikxAT)~f7$ply{38u=V(oItvWLDz(oyShUv -zEa>PZ+=K!ZSN90^mk@y6AWrZ%Eq*iN7es**=7kd`zO(xp{Qop0d1gd$oK{??PlpsI -z{O>w_8EE0BTk+s;jKF^affWMR1jXaZ0rtp?!~oV0avAj1}2$`w$7H%>*e7p>*^<4t2o733ely2*i*~gs>MR -zcEJp-$PlbK0U3%}!37z_W%K|CBamCf!xo=oXXkP!QgUcqRzxROJ9f;n^p0Cggdq?X!_HHVm$7UT-w?%BXTT1fe1u -zFma(aYpqdbKe>Mgv%`AObQV6P9HlTHSDJnu%3WvJ{Ud^22O>}Uo}v@lQN@3TJQ79~ -zAB2SO<$*IckK|D-hu!!_kOr>-iK-OQpS&vEP7j|!SB^FKLciE4x)X)@nC@1_sPf1e -z71k(FC1ZvGdON7|X_$GrMzaoDG^$RbGU%|mWQLYUl?Q*$sB2|C4~iX(oC>-t=xRb} -zK)DZ_ab{1p6L`;%r~bY(DsR3=uVJT0?{5dZC -z$3+XUS(My{JY*u#I~giDsyqm&_7>RkJuD*08)bi%czQ%Id`0Z|&~*^PsV3I7SQ2ht -z)-^_IAVj9cjT3tWR$tsvp-wt1KGFRacrdb#`h8IhaAg6#p=daAJ1Pl)3SO#P(**BV -zLB-;Gne;`Mnnhv=!GMZJgPumtS2?pE&{2q#yb|t9u!vf`rUQdOMm4+%sWrsq6Y;e{ -zA_{+q#O_1Xs7|vB$m_b^;E4_71}uCu9sOs-1Q-$gFZ`Q)0vcjOEw?Ui7*1`$CUfXfVPL;^@zZ{_MG(IwJFL*%|y -z%GcTd9VR`=*0A89v0Oa~n@yN^H1zg3R6>8O$U`zRp=Zcv3zh@ew4ABIYJCQJ+0mmo -zdq6$z0lgv!KSJ-rYv?`wil^s^CyS2*nhbuSjfS$nXBGwzw3rHh`FmjJLW^?`tbsiU -zGO#S~6M)u6NMe1!KB0$~$sV~(_Q(a1QI{p^a+ea2p>7$(^^oH;BNBszN7cl-5`T0zMz$!XJ7OD;K(Fpp%8H{`ara`|oxQ#A|C8`ls1%g|{$_E7Q}&6V -zJS!0&c)rmzl;gdqBJ@^DMxlRq8`i&Gbnwd6iXkX&Re6+Rw_w|$*LxeaUKsgSc00GB -zHEY>5*zzLV?(YRvytlT#-lI2i%Bfyb%#Gd}&&6ItFW~}%rR`1Yy0~*`Wi?=y?8+b(w7D%n!ThyDd+-85F)>+UB&{yx_ -zJv3ZbN#O4_@}+98(S)utT81)+zr8{M>|Ni^3U94m+ybtdFe`eZRH|mtQ?-&SE9c%W -z5na;C%1?W`hi&O#vtsn-wg(1wc6PGx(OXzugC@QWfhHU-74_|CU=7`YvD-zFhZV3F -zmDI+1c2yIqoYJ|QXbpe2QM;-3R0tOG-85Y`8qpP5bR;jgdh~*4g=}L727vo* -z50_M%`BE;srt8JhPPSo$`sASX@}Ld>r0LdS?Zq`px%iW&#N)yeU7vWX>LODQ5BI@; -zq0&I17yj?*>+S35>+A39#oJJCm+pc{Xr}A$?SF^qF0_?5&^v$dPSgGOm6vO;=V0%k -zE#2|9bmkn^VBQ%u<;)#p#f$_wl0}Ij=cHccDFF){&ehdi75~o~HBAHgg)eo0RIw4z -zxY5*-6E2%?)qwSw4Vh4{)$}Yo@xzR)06@wzaG^?+pvCs0B-ki{+E*^)Rw~5%#Sld| -zOUgZV%1UmnWNd#>jU|pQ()2W72T)trtF4f+ZY2W2*vkw2y%M*BsZe5q1UlG;1jIQ; -zWI=!H&DFG>UVE)jCkSl~TG7XLRI#lqu{hYVerc*p6^4Y5cMZ8l1w%|acNkzD0U -zf2a@har7ykz5_u}v;4?ztMH%VMcCJ;+}+ndFgSGf-1&du3%Ps&R1U=nYOxnh_5%#j -zblr=Y>`}C};Zn -z2k%5WrNKVOzM;&*@G>{)eCaSbBX5T+UusfOU&aaM6*u8v{Fbphds;v4}j6!g_oBWi@+_Q(mx -zX>q}vZ#~-Y3n~u-p}78Nn!(!ddW{2E%!W$~<0=}( -zE~?_F5{Cyq_wlDzqI`e1W?VBs;D})Xd;p)izzxPI=0+<$=GK9i -zJlA0)`6Akm=#JIWT9YO^zN!|yNHZUA9z${BMxs?SzMx2S>mWYx#+%~3s9x9eu(`je -z;+3_Ct%{Ha^rjxP8uTd#FRHfd1o%oBA`AnRd(6^@Uyb!qY?s(H!O#GYB4>!bzjA-q -zMZRpvnfouQya?>aP+1&x5?&bVU^-k>n+7tqylyN^7Fc;aBZ?vM!o??z(_K%D{FsxO -z(H~E8v!mja-QCd*J5A@MOUhlBE~$}ZA`y+?vuMByu72h%ZnZ}k~MC-fEr>E}AcwoB! -za@Wd`xRN| -z<%`gHP<6LB1n}YkK=`8gS`fc0;`bVK4g8Mb$7O6d+e!Ec!%vX%iXl;~8&jZ(-$UjQ -z#L)+yTJ!k@!4*QUh|iT3krICorXep;I$_X!B7mSLpIzE#~&d#OMnfZmqrR5b;(AL&V*EhLOe+sip4oPqiDYCxt*9IqiATe! -zJ5t=!MnSlvZMZa)Ccc&ZCLSuN9F$+lcsx9tjw**uL?RPi$}rhJ6Fa-C1m(wkM!Ac_ -z4 -zLVk&MOguV~F>4|)so3O{)nI{|pEX-J8&1Pm9+6+b8tE+bKz1q_A6HIU=!IBvKK+)} -zJ-(Z;t;#3O*yMi#bYThyDV<5pM>0tm;n-v%oS9EW&5=(>QZTC7G2pMoaBAG_M8=CY -zA8E%;BvW@H6`gT!JC3^J{&r+0nVn6hV}jA{ZjXY#lFUKOXk{49V3Q`X&rJS9q{Xxc -zZCGSWtKL(|#Vi#PjV7!t5iL1P4%vKSI)QC|gufSJ(Zzqa=t7at0?f|wY&rt~3l^QS -z5NFcRabWNaM7P6qlkIu2c$NF+1jiP$VY8Vl1pv7E}l -zU}sXmLbJ$ZP|HYcb_zHxJs-TDLz(=fLuSn7N?}?rj?<&C-aE&@#&FAXo^GNtI3?09TC!5r+MS7HLA}VHf -z7MMB}56d+igk!23^$psW;XypU?kIP1yu*J1wwH_w+$4i$PxAMe`9#imJ-3b75ygEb -zh4~zp*)m%MUz?z)gJu*z@%Pv+M3yZPS$?~9t)3IM+y{4`P!c)idf1Gd6|WHy_Ceb$ -zG})CUk1a{odIHE+a~n2|F2T0k>{0l(nbww$dpK4F)i8=ri`+R%9FN;NISX6fhF*V3 -zKx@~;Hkte9m_@5+ZEO -z*Fbee>y&QiiEOEW51m-wWqnPzcVbPiHES7Rr?|($8qGX;C_lIthb}DXMhhY>reJ^O -zW4jO*scdw!(a@{uX1=0Tn-Yods|kPITinvI08~J$zai1%p^d2}azd|f=g?DR%@m9G -zv{Q(z?%Ru_>>k}4Ve)UKR9(b(hwZ6nv6D;|JZ6iiYj|x)PM`(Cx0o(x+nFFuiCd)q7|2LY+tD**^u_F_E;%XNL>f>{X^uz2u##QL_+rw43k;mM7E -z-Nc-I$QH-EdfbNE%O>~RVs}MxA4^Hz#V;Xs%g&Jz=F((Ga;tV{!sx4Gpb-ey7pk%S -zrK1t0SH9K7C%Y=%egXldk)^a*Mc;n=vt##~&oQs-xLQ4l0j) -zqwSF?Z4H`JZ|zPb@wWNAH!`_xu0;>DQ#@@wj5ezHq}p+W1LzW#%p3R)NL~n=-Dn{o -z2uXS}6>@jDh%XG;_+p+g;t6K7G}vD#MSo#7tfO^D_>r4O3otlkvT%gd`RZzasoW6E -zBn%rPAk0O!rl&7D))G&mAwtvx?T{U%iqWBlXA>X?$OBt=)o}P}(BRiJ5Z+LqhV}dp -zHD#Z`jssWeYmlGyAxFu=*jL~OZ1`PEIEvb++VH7!_J?5`W4`(Xok~yBMt8JA6JPx@G4kC;ti;}TZq28Z1bgH7 -z5e>h_hVR)u0%Dx8b$UNkIlT+P9;~2h>gId-><|RXSQQjTm_Vpvl1n9js-euB=JRsE -zRWNb&I;z&tjb`}iisfN>luB1{Ie^OvX-k7$q6Pg-KAh1WnWy3KETm&;A{B2hd=G*-^aK;r9Vubj=YgW -zp)1v5-XNWLO9EseP#WHUD%$q8?=jPz()I@kg!%V?86&#?Uh^|qmw$2s>rSEFiSL#X -z=2~%3V&(-8pnQ{vMybq#I}omw`p=1l9)kn@R&dY?4w=EhK2{298}boo+uw?~8m`r- -ztE`I*%v*wy3*@bf;fkiRmx?i>KE2yl5qRgEm6texGp7WF8mS6Le#kLkwr -z9l57$!)wL%N>~-eU#tQZX0OP-7LC|)2o2vX -zp?9}6S}Y0AcETTjGx7L#vAqfRn=!EpVQ-;pNfs)})9KH~AmiOViFYER7z0YdT;UChB}^B4ifRxcin=f>C}vnP3tod+4pn -z#PscW`*<;b-==ZEWL(hcy+o_{WQRPN&FDZ&_obA7Gka;q&@DOGOn)R?FRbIA_@k|;Gz#rUbg7|<`&z)$_#%<{hBR*m#S7+|_4EV% -zNkd>oL5#Y1MX$@ZqpO-sj&?>t0oe#wxe!!;6%pe74&1xk-S$bFHN?#1YO-ngIfwTT -zt=P2IkXse}6!wn&6ui1HLwh{&g}WNW2;xIwqX4~xufJNw8{&Q=TJMU@O6?I?^ZAc5 -zkcXGJx~%xZM$@2EIS9z>Rfq_LjaIdQU5s%M#M3ymlZZOl5%{o87pTl_IH7%Y0XNHk -zH|??WGV!$BFVo!;x>XAk$WBFnY!0?krH0l<76^kpD;2N?cf(q_4&y)ue#9JV!z3Uh -z=u&bK=fTdg7+_tNq5gt-usv!yhg*cQBtW4WUE -zyH~)iRq-c6`8|S0JtyV~zDXc|4fAYjt!RxLUIfBA;~5xR8Stekd|wILUZsa_u)KM^ -zfvOxuo!}0~GlwOfj|d2R7h*r&C8nILUr68vByjm#Mt6QIk#p&h3lo_nr8mpE}HqL$Lczah)Q>V53Kj`N%mC@ -zwXEwK&6@Z_Ro<~C=C1_C#OrfH@=*|)3vx_I5))zi9^5_FES1|1#eD*U{s$bOdwaHz -zfxh<73vHi+eK1t?X@ux;IxeVElYd!9{N1v447TBC9Aizi0FuqK&VN*q|1QL;@YL4C -zjeNmXYKMHoK4jpa(%&?H!av0b`mI*yziq^ShC4+O@Cg2ugSg_1M3j9I;lGxDjez`7jzp$}+uhuJ -z6bJwp4QG-mPtMQP?EW#E#dQIO;~qrEqZ!f2 -zIQn2MD|g#)sb~h)uLo_I#c)i($W$yoo{A=bFCY?K*Pz0Ghh$i|K&Dbq0(4MfJVs8C -z;W#XjKKA7WCZd3fwUF+;==nDhjzpCMjN@$f+5FT*o~F|pF04oH?8Sy9q~~X#V*A_v -zA~^5LKmWAnsP6EC+8s^7;-*68%>Nu5?^F?s(<+G1xPzP4}&r{A4>t+6-h;4 -z@Kce&0RcdNBk&347D<@PJrO*Ofi@uM;j=TS4t@%mC_;=!#JvKsOYq(;kn+6|CM%a& -z5*6ry1XVdIko*T>O4Xj#GO9I?Ky3goR9_6F%)dZ%3_s~ljO;4VZ)yB8q^{;lWxUxU -zF7)g(to3~2d&vL4w7uza8^`h|+Q+-)Rr@YM5@bo1 -zM35l0lClkMA|#ODAt?D+C+0GmK#Rl?h{hicNTNLxF^_RS+|P5LhA7UI_b1Pc -zLQ<(1@Dnb36U)y{K>Kq3rH@LU3?z`}=# -zGO*K9mgo{D?Z_@T2rzoDIB0lC1LCCaDg`|Q@w1z+mt+8|V@oR5>1Fl1G@#A09%oi3 -z56As}jQl`cvFyN6TyQ{5NW>00y8-8aVYtaFl~h#tpO>^y>@t6vHt@Kc?wDe{zyJFa -z4(4&R8HszwKv#b}b7A;2Rce_D3=PvN4Aik!rUP`w6O?}9MZzm&C5lfAe$Dv!7X1vI -zOlTG!u+f+*)%u5`D7;>GwVXEZ)QIMf7b!X_5q;pS%gwtAQ -zsSyv#m#n_CGQ@8#`{!448TF -z0OCDrCWwqGEOnLb8pU6>G4{uJFr=w+U`B+29ENx`nXwvFIAuniGKt*Rm=t26%J8lK -zdNBRO2!hK-s9SAxYAGJv4pKiy7?awCLwHosknc5A4Dkd0W0XXHmR#!hUtzB!T&;ai -z$0%Ys2gmDX#bosAM6;btU -zGK~s7lO(7EXu3YM9Du9>OC`ymH&a-m@xg&VJZ!#w>y>lB`raK2%JJUI7O3{VODW_& -zZkEjZhtjdssJ7%+01j8|EIhsT4?FUV5|YZX$u;q4#X -zos%UB3>;iGU^*hV1eyX6*imbAa|w*qwM`tYVCeUG36+kUY!kpHWH+n<>G5PKA%+sP1cgLQiAg@}G1Lbrqh_i77@72FZxq)N#NCxJBj< -z(1j(P$!g|*OjerMqd!#l&s3!2ekjlU(9JNt8e<;g{SYQ!-qiR~j{Ht(Fm>*yrK&qx -zY$8#qtlMi84Zj`YVIE$BQ>i$^RP|>v-yMbhb${@`|L6Y--j(i_u0OjzHDsgIAKecA -z3;kf;xuaJkni}`X`c*_^xZMuJcU_1@UQUIPY55(0?|v$36t1ga54YL7r(JMX=-Z7h -z3<7>gf!?MW$Bi@&QHrVy1iq=GQSNSL@%yv$`wEL?JsYaXWlhQ2Hlmu8J3V^OVTYb^g1y~YWBk?R4N^DiNfO1 -z0h{5(Pt%U{7N)ZeLGT=mZ$Ur6=k-V|uVRKZ%s1KeY&;vc3{8?;uE>_&yBH(yY8k|{ -zWgP1<@m~sXMA5#1#8AU#d -zUT{Svwf4uO4io&OSvRc(iarS1x1rw|33v2dAqDNr&7@X9XVXCXMv?x)+A!hwZ~&?k -z@e^D^%F9M~pp$TdVZkm_6Nht9X|Tp03MowLv#`nNH!Zn*Ed5{n+8)lcN(GIFj0tin3eM4-wrnf$9G_+c^wqtA};N{J9n)!V}-`j$va0LER1hUZjXv -z$l{s8&+w;JP(kR2RcAzmg_uqHS)N||;15lET~5$@`#GM5RyW4+>yP?qXN^+AeqpG_ -zPTKTg7mP%+pPtZZToU4W<~<;UvsIyi3xQs>1IMZL~Qf|5M&)L5p=L8MJ=B_~znds-q|pv4$-M)f*8 -ze#Ea2>Axw@Xl=edWHQ!ZJ0#CkD|E_t`woaqy0LSqxnKGaz{SMNS`MVN(e+k;-aSPQ -z=t7N9a#-QLU -zDBi&Cj8+ESHrhSVmhm=g_)$tmzc@462Jew<;qZHD1u4h)-@~;l#*P67 -zgtp%MfBvChdjZ?~gZ&e!10XJc2PxaO(Gzk6_ndZF101s12A#{1vTZO>2kzwQu74<* -z;dJAm8$~EMC44or&1?tU_k&NlJ`+cR3j2$i6^y+!<;|I;BP}NCxTwB(`#YKvCz!0J -zL9gRgbO(Z{EYs1v;dOs^w-XGGF6T`pkg0tP1jiUY*%M;l(0gLz$@kHJuPavE)`)=@ -zk!?Oo8#6kFt#-lt%=VeeV2OVK>U;8R2=*^>*YkGVr_Bp2790iN)*pAe;A5L?%)*Z$aPuI{WiH@4Sy -zHf!74D_a}hC(Fy;=gTXLubz8fatl81oG|6%RvqXoYNb*8Ls2y22XKkg@_rN)=^{&F -zSN^rK^a_m}R<>T(msY%!g0f!QURv8}ZY{5DdEd%Ja6fZgS`%(Hx0_4NhW3Wm%Jw$e -z^hpq!nIPYn@Om(RYxsJ3rM11){Db}cVtECf-h8#Z@|sn9jctOK>#M6PTVUkFsP!#$ -zY(#&XTYsRFrAD*1-11H=*IQtRsGI(L$I>>@sAjv?ddc1h1}z)g?2XM=i{$z0-11iK -zcl4dp+^RpXZz$`=FP8n@`|dmTNkD^kcNv`OOY=Qx2g{~^XdIwZr4??2{IukKk6=(5 -zaG?;N*Euih3owPr?z;im@8UBBr_~e4j!PwI+uF0s0h5{8AZpSum3JwD5DvNgOWrtn -z_ea7uof~sII1$0|GXJrpCNH?ZBu5S>YwDvDJV_dDg9ysgKuU{P+wvz+9P;a&-1?kT -zz*`R((KgV3#Lp|swp5i)@n?;Xo5gzpv#*-1bldRBL=qax@Z^&`8Do5)T|Vpo&*<7EZ4eCuMZaGX -zw=3n&@i*lGxDqfT`z*+g3pM*J^q>^-r{gKy3raj$Q^o@U?Hq1qfP_1s4A?pahhZHy -z9Y^mszg>>jt(10s)7~yXdtAkLI{{Z#bL#l?`p~rVRq(f?MR*6r*&=dN8Aa8LHe% -zQxe|wlT#&YA`Ayj2Vbb7&>TBM(P+Ap*F4UD%L%X(-`1bClm3nGUqrYbT#ufyTng?Ne{ZX{0oH*Puld)^tH@~V$#6c7mZ|NDoX -zFxBD7N=$8|0vf<-v&cC*y0%#_RiBV;0W4l@ -zjzq_=Y=l6Z>1DR#72O|xC9L+8; -z&*#Lc_I@~k|F4(+2h{V=K$p)?ntm|&Z7q?A0u*a7{ZV{po@VItjzelNtPO{M;Rm`! -z$KJ@g9JGS;+anU7Uh1&xtVoWpRNnys^vATqmEm!q8@6#LPM`o1wg{|OjoD6V@b1~P -z`Z?oOz=?nGQSGtCMFW%Xem6g)^`g*BTT3dU1aPX7~ -z6o>3T@4O1Zjx$ZOCeJdBIAnpFa!F?A^@<9>r*$Z;jBUVBl|lI67#jV8F~Y=V0Zu1hOso@Plur;7sL;vd@ot$07u -z)8Zd&2UOeIV*9}FC}nM>#nDKc6?Q -zf8X4yH_?OdF-T?G#g*DRWU~g>Lw5dXzJiMhjdky{m2H2|JH67`3uyPCPXfnPve+AZ -zC8SaBg!rYKek9ZQwf-c3futBAJLH9pP~=O(cGxOF0S#MZhavqoeYrx%rR>|_r2T5E -z;oYO3c>4!5ifDSwC2nze4yP{Yah$adpyLXA?+Z-+i}lDp8da!!it@rZ>vM47j(t%0 -z12+C$x?uGcPhdipRMAPxjVnB=2)7#m7mmW#3auTcI6WL3^2rZ>k2sW-DfrA`D->>~ -z*g|$L9%=+NR{vUW2+F{xyLSWiCHXrbs#g$^%{i{R5PSh$L-EFe0x{v!yF+-g81y^op@r1r$**JthLe9ixiBdwg!BY3dzEz2E>LCw1V99UG -zvt6Ztn=%lj<7^s#Q70u9o3>)$$@Nw&Or^pd|PyDEq2Q($)(@b`%X&* -zjf{F+L)`#-MvF7NDkC1?Gvm4KagnkL9fy=3LKzWpz`z%O=hob54kZO0W%^=V>trL7 -z157WPUyy1EJ`TU;ev8Loxy9q$(sc;R$6JsvHaC`ivz=Ag -zgVyvT3ZDaACNDQI-GZ;o8T^va_mSndQU~AEFj^o2UU&(+r(ivF*M@yXRFUNvp)Aik -z;mnG<^-tn|sTS29Y$4&ske2=QN3S7S#74B#A0O<}7ULZTq5L={yHGSGLSjOokzOxg -z6YK#gx#9Sm&6Fayh^9hNNArkCs&M2#jN)rTzl2$uCi)@S)RB{kDd?uaB4#um%lOL` -zicsVIW7Yd|wT5a>?{m8A_UUSE%e%N*Yi$dK?G7k^LszzT_yX&FvbxGp?4Qq8;or|! -z`JXkoX7j+wZ@muxZm

wZ7Hb1|{vrbM#+sBy4RrSXM9C -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 -zXD%YsULp{3=o6&dkoV{58XW>d$|n -zK>|9``vQ}y-WB@0(|TFo++@wbEf%Di!PNwvOc<0M!rJd8yh9SFik -zhiTFGEu=>K{yY5Q$K=yrtXyrnF}Fs?T6FG=K0Ev&n;=+K1EGvKLqDVVUBzQO9d!-- -z_m<=;tx0Dtr18M1K)Hndi?us{69T;NbYUp+&aH7RFbH$pOBx=Iv)2&?joXB!C47hh -zchz@#Z8RFpB+f{`g5)Yy1b#hziicx3D5h|ExQXf7)myO|n|=XL#9`u{)xS@`AHAAHIr&6?CqZ{s_mYOzwvt -z&;ew~b_OTw8*JWx`{yegcMx-t@k$H)){afcm1o`Fig4L-y`X -z_V1?*$EuJ1RFBnL&HIlZKX`I~27m9sZ?+12#g@C-DqF*U@YlmR`1J$(wYdf7;;czG -zo13fv+biokY~^DEiMGtSw -z@Qf8mI$30ywoNYy=T!n-{_6fIgoLkv1d1}sthMhC0`F2C9Yv!cS$fB$L$*l+qXjr- -zDzRbu_WnA5I@Aa{_nE}ZWaRHy5;)JlzYc4WcR^hAE2%(ksFLqPbxc|~l%%JU#MXi> -zZWpiAA(6P6PY(XYzLC@>Yl>I%2w;RXMW;Borg#)wI$e>Oz||k9(3DrVC^JDf!c|P_G{xGy?x!B>Zt<>SyTE{0r{Ooc_-6zmNIf -zC-irA+AG6fJUB+*X5(QAP7B4susEDyXfl>!fAz(0st$Jh5iZ_sFvTBX%PDWPc%M`_ -zAuM@+3t4#lko%|-kuDnrJ8Ka1ZG~*-)g?SO@>`}p!FC5wD3&02FGl-y*bjxl}H_b -zmp7{M_wmpIbtCF0ZK0sO@ftmC?uPh@BJZt10; -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 -zLpJPeI)2HI+CH=cz6R(VZZ)-0T# -z-K1P*xH&>yr>3V{ -z`8aZoFumzBMsRCC{2-3$$l$-4f5Cu~0EHVt*ncm -zGIEof0{nDJZw_Lbl6LMD$iyKC3bcU2Iqu#NEUT2`q^UfN+Syn&FJ4$@xU_#MJPrkS -zoP*oGbIYQciMXm0am_j=>~t>elZj8R=7nF2=Vu<&R10U2(NUB7QBeate;#1{{s0I1 -z^NBK%<54xia>0z6gP`B!k*&7I;s$o%TzC#N=Fw7d#<7Jhl*_#LY{ESFG__ig9oa0J -zze=%u=DlBXF~l})OZ#lPq`|v73BRS_kMieZ4ut|0&}Mq|;>G;@PUXSRx$|%wuxVI~ -z*1R8v5jR<`gOOUo1A>iNf1PLv_>(laJle8aNdS4JYZ$9JeM1; -zTPo*j1JejuROVqGRcIJUcbX*{nt1Nq>29 -z?-gLp`6Bbulj!CD&dbWx0eF*JOexYil5ls7R3$B}{2iI+oV-;wITr^tFU}W%!_?a9 -z{wXK%nOw|<5q#RRe@~c2b<-nl_rtx(>(^(*)%lDAVP^*Ecs#8XfmZk(>f2fP?J#5? -za_CUN2qaE$+uf0ILC6N=k^sLX`D-earapP$?l~KlU>vFYbFLN1fQMIDgQ&r3Uv;lQ -z7U>;kwacwhBIA=(bFr8=gkI$0Q5W)?eU?g|_hf#e3;mXse^=r-3S5z}u^WDnF?G{F -zlO+f4wYU-X_t3gNy;s^!#L~vJ-cU3?W4olOLd@y&4HQYg7*#C>pH1H^$Kmiy7dFG; -z8r`Y>tpGdzP6V0wwP+6UTd=jF8KCzIEhKZXGO$s~CTL7igY<6x4ARG_*wx}BkZ+7g -zjSep$9_l0}e}=pHb4XV$3Cj?^SrXx?%Uaxq#&EpER*4{8(dEi07Ug{2Tbm%0So&HR -zLg262;yI;Hz|u@cp01>#N4?g-Z?maHtnX>kAN6wv-u8E;B3P()f18MrB}hqqb@*})B-vV#&w#H19h|K%1v-z0Kec(({rrd?3 -zpL!$1`<_h7oH61RD+WG=6t3To~}5iyU<*k%bF-O -zY%3E -zgUzN39|9%}lawh(9!r2&COK|y#WDYg}AbP<-#iI(C{Ke^K~n<8wi?&!yFT2T&$=dPfE6`l~c56Hn$H9K22hq)9c@yo$m -zf7~0zi#1b}$!zo_i;1;n-{souQ=MH7iacW_f1!GH@WQoDcwW!S_IYS~A -zfAhCO89*qCcn-6La#-o(h3W~I7L1uTn@N-qx^Au0L7&r+DX(Q`0s~G}b#mSXW4_Mj -z<(A|SG2nen1}n(CV5n*`ndgha7xYWXZRvTBTwXz0W;Fj!Rzwy(^$pxk{z@t$i@uQMI7+3oe;VoZ1$`yd=&Z?<2gIn1?@~SZejXkiZrE^l -z^T1yQ1fI?VW{;{g5AtwOoN|?7EL2Xme5eHnirgNlE}93mpq~xsDD}<7f}9h$pga_P -zq+uvrADl|0gYSWhiB!!s!1WkW+`mWb6I;1rn602qp?+eHi&B8qyg*YyoB~wte>}kG -zL!7R~N2ZJ2QJle`If%GE<2NpvA?|Ln~|;NGSImUgo!SQM~LJJG)dq!y|-5ZusxH -z$o7+knv60N8=6j>9#H0vg@b~%uk-?l*0Pc9+X2Hly5WdEO=p*mBPe_@UoZsuV~Hlctik1AxkWL`Bepm13dB6-Sf1BK=0 -zMWR5Vg2pAQt;w>IaYrHISQN|i<>Yy?-2Rr##HET@W)CLG%n;-fY?4K*hBOkGIRdX~ -zFH?v&wi2gvrh}EfgwG*2Vqh~8IR{;JfrKCI-&_D;R>5nf$|@W@2~E?je|$M4Co>07 -z8{q{w9v0?!T$tktam?i7fGdUKBGfMhSujfQ%189T6b_HdzmS+JGx(D|(ZK+{ETsu8 -zfw8G8+{@%p;nI=|Ro>ugGnssRVYh_B{utXo#qSBnMDjE!UA?`R2QK4sT#2DYSW#D# -zSfhx-p$8^f!p5cXSznKle-Fj$r($#&(NA7b2E7xHO*&H$Urjbv8a^pa8R#I8xLYn9 -zOxZH((M+nfqE!p(lr+7CyGz)sg}V2b1=Oc}Bu)ojRYHe@av^1!(NXN4HE1UOw& -z16N+%dQv10GeFtItPA$9qO*!EZ_GD#IyfJ6mY}r^XtV#SzmI})M@$f+qlnS>I3tTh -z2C~(!rgJ8Re<^!RIe{*_&}dEWQU%8Xu%%9`ZZ}P_6X;wlRmaTbW-0IvHJl$8Ws!^S -zqr9AGv=vxF9qNo`EH!KaDV#kh#sGb{Iz1WNlZn`7r;S7IyllxWu8T=jsStjqApUVd -z{F7pMXry}u@cGdc$fjBVEy{B%ACF=8rGP2X-i!d^f2l%eR!~2|{I7z{BDS4vp)t>k -zT1U&-jN&IU{rzvtl*jcG8UJ#mj2!|&&Uk+!kA;GHQ0za!-6+V-*SrJ9Rpx(d!@V(_ -z%dxH0>m%g09=;E1BerGek9$5S3AB9IkC^Y;=%A-%*F0i&G$^$UUmYPs61KO)&5)wg -zYuRode4($Gk78B}ftpjX&kZ_q$Btq7?_NwtvYp%U&EE-y}Za32z -zM841LFn#Np7HIpIoa`c;WIP7hTuy$|3b|UCf6Mtr;yg(;OESWnXuCB#Qr`Ne1*^RB -zk&b3shyBrhFzUA1J_!Zn8A5YHu#Blggh*ioXbTas2!fZ?ef9170VP5FZzN^agXtI2aa|MHOl|Mkw%*0f4 -zU}ke*=5k;j7>WoxCicM|W#K6T<*4hEA6>ZBkLJh^vlyHG&0#<;P4p1dzh?7c%(NA- -z@KB#pWl+ki6)+$)DfvX2+LBk9If)7Byrf0+|E -zYp6-xIN8UV!buLV48^rG14FBCMQLtd@8^Za0x+k*#nf>t11rr4 -z?qvY=u2c-YkU6%^BT8W|F=NPy`5EWE|CYrj?byZG&<+-wQ{`KKtuQzlPHV -zurt~HP4kzS7h25^oy`xO%MX2!e;@iVKlD+4=;QoQ(-lH0R6N)5=(iR0QIjbmkN%P~ -z7aowdqjGy2#{BCQ<~OvlsoWH}7@P-y54UPBKL4Ogu)tieanN-A8 -zp~GR0LSrZNQ6J3ub9TSd@Yy9+Jv>jZ($LjH=-EQ(xkBg%h0qVPCl3v+?=!WomW~?#}8~4LvHzA@@iX7vq=}XCuVjThP(;ELuP5iB_wi -zH{byEWOyxJPRS%pKFGyGksh~#x4|&zw*zBocC#6E*I;li$cAUYe?`ln!;cRlbvSa} -z#whk^{~QP7z*q?sW_1icDaBBh`OW6WiW3{t{45`nqg~?lG!#<`CUb>%m(vkw=8}m@ -z9*I~`j>b`2WHk;#Ufq~pDV50(F09C5I3BT8zSRx~X3+0UbmC&6g=0C0SV<0zfpRyM -z1KU=0ou5*{3U?zNfA=A7I%olH1$#`iA0C!Pu5kN`f5e}1ac0#`;COMar-8eDjBZ@Y -zz!(Q-I^ul*XPz;M$^wvuTLfzX>j9~SOE!`4NOd_4o-pK6+Yvl~06VD8qDl?3OeZrjqIe;4hHaC=gn5O8&Lz0agA -zzt{cKH~0DvbL5fK#W}{3$>*4!)lo3rMl_|bg@P=22LOCy;IvUG#_gC`TWrkq5^JAo -zck67eX$huM>GCp-6eDKy;a>)9j+9J~@-adC{1>?Gl#D;+Vsw0AiQ_x_+u0yKk==D6 -zw}(LxpMdn6`8T -zQrrsO)fTsM&p+7h__2E->dnJ(f7Cq?UTv&R38oPTPz?(x^x-NXZD!!7RJc^LLAV8@ -z6cQkx6yh;7WRE6eHPl{djON-!K;h|uz}bieeVQ2ze}x2G5iyuHWl~v9d$)747~;2v -zK>O2g|_IY-c3|!sM9NIHk81P4ur~5fs -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 -z2P}VVE7gKU*HRvZbYKTJ2X5u#$qfYIKLrR9x -zOj -zw!-6ym|vpL<802Y050;7uO?)Akb}wiR@A5dS&;4JsO(3=JWItulPNR#K27}lTRY~(I_hHF}}xU#74WDpTQUn8rW>vSb?78Vd39A#(J*+t0957(OBiY$OT8^#E^sD -zn0u$m1{)%#MBz-IgjOxkF5GSCe@AeiScR#^V6P)Q9lV>)Q^cCnoB;i&^X^gQ -z#q!HX88v8i-tlYd+Mvyyi{s6Yf#>m2-<+DuywY}X(<;(pMuz@GzvJ@~58V|3^o)qU -zlT6&%fgj)@2!>_YXRk%*f3yn1@P87GfqdkD1Ios+oCI -z7gSRl(*a$^k$aMx*&t(w5Sw0w+`b+1)0ZhLkc$kOP4Bu-(J-!CfAOLg!r4g{Ce~mQ -zqZTx+QyGW`#@E(5l|f|#xXh2?*iTJalt97B7(#A1A!KZk7v!pvxT#?1@Ei!KU%qPv -zlFTf%cfyj}-V|U)t2d`T%LDwZQROAsdWx?scZ5Scbd>_XnDWF~?4uZNm3tpZ9NU(` -z*bS^5{XHIUEhnREZbl5t9Md08u3Xw;`aaGW}?%C -zXoPb1wqPMNxpfh^nvTr`Xp^W3*!JIPMaltMP}&~_QaPj$e-~8$ND@u;hm{Vh6nfwn -zdJG9QgGH!nUgX8+Q19K%pO>~(c7U~#(uU_{ZU!u>&@m^(RwE3xNz=fQfwHvz`Y97bJF|wi*sU_(Sl$G_BUEym=Sr -zSdjCJjU%q}ELpJ_T^5^LZN^-P4ZQt!*@=1)?kXkl$Jm+30o*$dZ7oRK;_1m*HR0RA -zI`3#HyLR|)DpuOiux+2Fgs_95SLlZM=><`je}t*)S8`zuHy^1C=)gi(v3yKBn$Tr; -zJ8-!h4M>21(-B>W&4X8~SQc6>M|Nb~3jpOlRftEe6Z!Bk0CnYMJ}%%$Z=r5WVIF?9;HO-Sj`_mC3B8b`6(!a=@FilW -zjWeb$q?th8l~N{vxe53jgD8c|(H-i2AN{JpLPcgaSM9JipPwBKq5wE!E`}eS!1v+1 -zpxNhBJUTZ?2g2Q$warwXCz`fM$8s3N2ViWzzv-pOE~n56h!7BirJrvpx;=>mpQ(eUK@+pHhPK?*=$dMFP9P{I*54JnlqpXch+UU5cPHyNz8WeThf7%3X -zZT?qmu=d}=w{lFDulgO^8kZmI*h}eHarj^z(|^Dv9>d_|S{6+0+YJbJc3G*>U)53M -z>C2-WY;x3Z4g)Fu+)ZQTC|S6v9ALc{PZz?!baia=%#bgnd65hDDNZ4A;5&D@Fe{aX~8;x~a9D1@4Tk4ugQMYr;gehHkj3 -z1-al&zZB$wsj`YE<2m3rY -z>TK~0CSqF1V1k9uGL2OWFo}L#DZpb`yEz!T5e6P`t;|2CayJLMtJ<5Xf7q?yAbbzY -z*S%C&s~rvkZ2>ESUa)Tw75eaC7t|zoGf?1=53Up$rerz5J3BGn+JwB?7Ugkj7KX6# -za#U`^b^KZnL!LY;#K~lfPO~3S@bn^#W4yO3Bdp#p!kqPa2@ZZ8+1xrPhF-9*#||{j -zhu!>-*8pAe1e>0S%G_WtsnAy^~f8P)KU;_f$5Qi2qBZH8nw_he@V$D5z{`X7f~gFi4Zk1i -zClFchU>h27$RI_~*$f`pVET*78BCZ;n8Y1)$mSvkFW4bDVX5!OSEhaMiFs#^ -zz*}{-s^YbetmW{}AgwmDE*`kj&E~fd9Tdo~+unt?ohroS=uLoM+7Acte_9EzWii8| -z?0{^de}lB#ucouY{?!3!vsc6at;FD|xL5|5XOiK*i-C#vf9-u-{&n~{2i(y|7$to+ -z)Ddc~vCT{90fg_@&CBu`SUFwHVEpYu_?d$EYC-&LLHt}n{DXq{hXwJE3gRCZ#6Pij -zP$#}v_SJ&jp;|Qmg59B7usc-eiZxHQ7<{%EykKD-6oWr327gox{i2nAVjVJODGC;Z0Hsi=0}p83q_cL{(y{5W9WBi{tGw(mzMt#AYuQr;WQyDLDHs?4M)5 -z2S?LsL*-HmpS`Ans)o$H94IwxezBmpRyG^@F1?GUsmkCn!jN`!= -z+#MaJwcf8s;h#Bj1~W&^pnB8{W{;Y|+)*=laKx`Tb432?5&372$Uk>P{-d_v!z1!P -zIwJq$Bl177uagP>49#EyANKKL@EXSSj_{mkBEFdk`KlB0%}&TSHzD5x#~PHye>WLh -zbuzZu$=K#5W1Fx^9!|#gXfn3Pld(Oq3tw@zbd*}at?~lMmK0+mN!$)Yxajl9Mgq4R -z=))&v#lM`!XqSs5SqUlk^T1RsZTkQos3eb+^2-s}XO7B0b432?5&372)_gNZW3L{K -z{fLF1I~x0gqp?3c8vCQ8u|GZEoZx@hJVfKbbUB`*t_RYOm_+=zy(& -zMbFfT%YLRtwDdDI6O(@G_ph!W9(0SAkhtt6BwBh2O^hnxV>fo(?{)X~e<5HiSari4 -z&taCOmz#6m`-bk%OhL>a?-)JQ`)@-*fZu<4-_Zk)5#*gP9*Osikp?!;l>WVu{+IUy -zJwq@EC`r%ziV~uyOmt$uSVNSg;8A+Zo1{ef1JRGhku5zO3_>maf=K@_t{>BA=LGFN -z_7IJ77B8Ka#Fr4gy2R!relJxlQ|#5L -zS1qU`#n$ysCoi2%y&HL_64$37m9^a-`m^P2e4C=2P3;9E`gI#ZWmTU(#eyJa3PNk$ -zVd7jI2^nvV`~6^Ofgf*#@Ag?%vlSUsepV%o*+}S*AlO@|D|e0be+>+zdM%3yj-jm( -zh?*n_+~4#SGl8EMmAQ8-IAO5TwRfGdA|QmlO7Ha`CawOwi;-e)s5C8LcNZE^72#$I -zNGr$H6d3!H{xV$YNE7Jl>t1xSpX1Le^(}JG26~rQpq1r$wGlZa;jyoyAXzlQ9B0aYDEd(b&V?g7^8u? -zh?(-j*Sq;fNU0buH3evV13@-gY#3npX&<(Gs>SrHGiv-S_am(g?1^r{>Ep+MKu9l* -z0Hk*?5-LmaJQ%?wVWooBzw2N_hWcGtEZ=Dr+50ruAbc`g;S%Z>znD~bXWCNRnN}w -z{;*^~^4YR1Shi%#*7y?2x%s{@4yo^Znl$=*lIY^Q&N^t8H~Z#epJR@al-ot4 -zS%*dC(F4^cyXrcCUTZ&!k@&N_EM%52Jit -zry4I0Cb?`*qpr0Z&hhASukFSM?r_IS!lnIplYy;)sAL=AozI%EQHiZ95fX -zM#`uxqp8-9DAMgR-ar;D)@z(GhePRT);#+~fBnRMDV#M|hklI3=eK6eG_L6?@EF;r -zZ-_;+AA_iBooT`Zs6FF|8{Y&j#J`o6nPP@a6m*Sv7?g -ze-5yI=7-|P#2i?q;q?2C8oHf| -z?AU9Ir(>IW?b2YLYyxn$pP3^YYiI2g58*iC;UlraKXdMp>nMV&*E-F{z5aFd?J=mB -zK{Zy4??X?`AYTL4%}hHy2-@fV5roj@ylqBZYA=1f3S^4&ki{*!=?Jm9d!2@3+|O%=gD4^*WE% -zT8$g+lauyGx6j6iN#Xq2$2S-cZ_m4^m-~sYPsJWNml5>ME^ogW)I|K|OgTn!e<;Pn -z-@YNSY^-dX#W0;C@A~mM&JV{fz*95oH{*G-mgM;U9NBI(9~O^$t@}=P{rY!jFJPo(fMDQCQOD;!T;4eRd1YKKw(GktX3C}wSqFP8 -zV+?cvjy|m!i8_{J5yBa?9`|QMf0L8xkvm2QZBjb^ey_4IG2M|Imb)abHtQ#jwyK(W -z8M8i*F2-)zgIRMpw7orRo)HIb`x`fI*ES9}ch+~eH+SAWtR3uctZmoCp2vlY9l7nA -zocVi|AJ3Xa#=^eYx3FG2@#(dr`{vfl=?xO6k2~#F^CuKI;d?W*?e|>pe_O|T95=1} -z-3yivxwkCb*^|~TSYUUEB2J;{#R~miWpmbyXXo8x$dg;Rj~!Wut$B*lg>6Bl86je9 -zY46Qf8qs=uSwEPytS)WeuNU_^)Y8Ttb=~+PcV;c}BXGsqqt=uv?$1@;2eh$;ScI$g -z@nya>W0_-DeZ?HR>VJ3ke{3TUtsLZG2`ilqzchDhmh+WaGFnTw%QIk4tGu}JbSv-8 -zf)B62aG=FfOfXLlYbkApJo0lOXAaZaE6CH@D=U5f!<^~(lLUzKyLV6PxLa!!?wR*! -zw2`O5g0V-;VAni@E>~JNT1=R`w*)hlF`@Quh6$6xE|7gzBBmgZf8EvwtI}7@R~$)m -z#I!k6mjK4%v+o%v0d7^^o+sl-mNAGv>MOr%o@{JY?Vv+H`|UQn=z2JkzT-+5x&5-p -z*V^Z;qetuYZttWRRaI}!ypw4UuaZZdM`yiJpSm$uM%C77n0uJ_i%#=yv*=9j!=Z9U -zP9ux{UgLfSvw`o?e?WY6jmU35zjkug+Uv9*G#g@n@*-tSK7*QG05l9IX3OoThE=%M -z&YG-}vwIE`h=sSv!u*k3d30e85#E|H&&Xpdi@AGNwBD=LHb#A6WsZC!`M<>;Rr>M_ -z_}{Di+ytxvtMmYAK$gG0S7YOAYmNFD%QrLh;^Qpdha2__7w=H&>VJhx87X0p%j;-C -z@WJ0Y4zK%ba_!QkO&%u$Wo)(YO`hz-_*O{s=E{ac*f~fwrmL3kme8f3p`f8&TFz+TG&a^LnQ-)G5HvO(kmNin5;S5() -zt2^f>Cwy5|-a?JID?B^DbJ9HO(vGD0kahqF)HqR{cW@_*ZGuf7epYDpwopa_@3 -z%BM9(^pCzGAyyI4y|mk)FONw609u?4ta@J@k=mtQzZjPok;eObq`o?wDw>@Xd5wmP -zQT4S!a|QJJK%|}+d`Y7p!4m*B3{4;$i -zwrM2xm7jOp%!)pJr2fK)g#M<~3NdCi{8>$rEA=uw#=+@WbMCJU<+g)P<6y(1>{caY -zU;ULmjv8sEIbW0D(D=8i!*7g1uJLb+Q#JAWa{6kBg|x$dTpXdcjB+iKIG -zWOFm@^GV)Id~2)Sxwm?U#gQWxM^=B_?G~%o)@!w`y?Uq4cCbaKcRXTEEluZRkj`{( -z+$Zk;iQj_c>$)zkKm+q7ymPwOX#-BuHnSlztWYIlnF_BU`+-t4F+ -zwKp}RN`C~UY_Mzn`UXo&3BKhipUeK4uk -zgnzrlzOO6~vpRvP9ckiE=5k2ULC~#@JAym^Wl$ZO*pN)ZTadj -z&gSlv^oc#skB?T@_t(QajEz_qOT=Yo{fEFbYku1S`a6OJG;s31!`3Xg9vQn -zkfdohPU`o%qv|L~QpC`hYG7*gO|B~wP=D;$tPUbUE%l+y199s+3FBtHdpv?9Cm7=P -z6W<+9KCSZ{;EFDb!i!e=XQm< -z=(JDGeqyMKUFLGDYx~B$*w^j9DFs~?`8>|xIjX|eM?l@iCLJKXcdtkn(qpA_H!Mq}l;+3Vu>w10`0!5Xtqy-naZzVUM;L_R25jdo}C_^7vfOaeU# -z^~LJFqT4&~6d%>^7pw34hu-SuyAtyOUb*q%1oroHXT`b6+?lNPyISx34pfsaTmnwv -zOlCH#Ugp2kgcF)h^QgOemln*Tb4F5AZ}t7)&|lr8jnFllexpo=uGpCJdVgnHjf3|2 -z(J@K6MbTP5{^+3lZqZvmZl2*Cds(fw=P3p(P|=&G-PNBItJ8)(&phDzBLMYnum$JGZy5ZR}TG -z++O?eaBp{a>#(-@qm9b*2r~4__Qt{5+nYN#R=Z*=x4T+-mf~*iUax$5dvj}Rv$nCm -zyK}u(d2V}i=k~!yt+KSedwpYn=kQ>wR{7L6Z8nGltZ&dKXoGR{aDQ*@;DAyqpYIF4 -zbH-+tTW@{4@|o>}Th+ZPldt;ys)TrN6yyUC#qsEkMS!nP~;|-7|L0B -znF84Os|!G6dXAzv_kR+A_uk(I{FUu`=U%h5Rewaa;vH6(_u)M$^JTUI`z}@a?5zj& -zlk?*H)O1Ac7hNru!Vjxw?e -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 -zlk(^pK)LaMiK5}* -zJU)42a|gsHNa*_+0)G#7*LSz{nBeXHaFxDxKwqgHZtSdG+uAtXyIs3kee?TO4<|K# -zB^iglxkJrd+dBM!zPI}U-@sRYwi^7N(67Et`Q93r4E&gIuaM8#xU95tZfWr_@o@oytr4}xP2W5 -zH5)f*Y<}9!LBsF%0gat{t2j|b3Xu=L$WeWlL3Zwc%c?^gj&qmwIl*y`+O(-Y>YY5o -zzRoKV*#Z*DlYb4Iptahqw_Ci^A((!t3-s#cSt)JhaM*ReBgG?{l+VtMnlO_boqR_ -zl<6kLrD=cb-WX0$X>w&a<&ed`>rL*xwYxN+x9Z&mNw<^wEj?O@Z~YdA2b`iW4A-iyFB&hQzrEJ`SHs5ec6?= -zFQ2ueBO0W-rMzC8U_2H>(`{c*JdJKh8?3F|h4BVVZ#A5~7ksLlO6L+%lsK?EA -zsR#CD_qxs(MB3dEGpt{W -zXn9Nm)H*;|EGrF{Ocv{Y(MP7i8Suu4Bp#9@+jxcxc`Qr4k;z>?K;^yHs0w$FaeS!; -zZFpRNeH0cyp@FH^1Lj1dh}o4jU}Wu8nQ27IN3bH?Q_VA%)O~&XdS8O=(>MAqYk%ct -z^z0FiL0=h4X}Ghv>|JMAORs);AfmrFzv`xT-H|RzSD$gx(aSG8VeQ?|I#JTAZtI-h -zbfcYKbSpUAdv4DR_L@r+(_3zBq?g=I=<6MP7;7_0pj~1Va#ho*?jEeY^Ugb55H0)H -z)n^_KWCmkI*y}(>;{zFeo2uu$NPm6ZrW&nVIqI;{{A5D5@D%reSQ_pR-&7dSDSMrB -zoZH-xvt;6ZqMXeZwt0Q4)I~4jZ}!E%V&iMyH5$~f+c*put5{tf8C`vgc6e>tTGYQ?dC6jEmKRI} -z>!+JQpXS?sw!Ca#r^`rxdjD$WQ>?JCyR-Gf%4fvL?R7P7TlxGLqkp%RXZJU@ci-Qr -zJSV@`E1y>2@L;WWtMa0R4sY!5{%B*T@;nD|GDP|IHr5V+zPD99>eTtJ={ba0MIHd& -z4FGR<{{T5_ySMi#<|Tsmc6X>U`l8{DeO$n8uA`^cH}`IC>>t){Z{jV&XPgwgM?luw -zTL*{hYdh;3TR2hEh=1K%_#!UsxB&sxD^NPlL3`@_m7 -z_IGy=2&}DDmY}|(WO`=*V2et+y>mdQ)cE(S>#VfEO!j38-k|;cW{dAsG4x-dC{eMH -zT?4Tf&b8aRM*B3*^#TW#nZ8B=+Ui3nbxHw>&HgD0$hMQ>F@NIp*zr^4=J=D$4>?BJ -zB7qnk*XkW=KJgc}{K$7*Vo8%I*=Np{C|QW>MZLA8Z5g(Dc9tAY`v`>_DaOilm`c~wn->%{@o$`3Flyg2y -zVY4zQPqS`qUVm3@lge8*(s+9v8-)d-TEBy}!Q5!0y_!nP -zNVUPrQ*Tz$UXAW`noz~2O(lA -zj+t)d%`tcf?X#V>hzFll6dtYU9h$1Tp|EN8F#<+cxqsQH{G1yiQWkwD_SLRYJHpWn -zG`jC}+b2+|ko_->kLvAip=bx~J&omSYAlj(_7#83M{QM^NyY{0%Pxu#>zgy~hu(1U -zu)x?eq3^mW&aR?+M3bZ5>fLA`op+7OadjkeySz`Re6;>?`ldgvQ$UBfP)7K8-d(qpkcR&@mS3Hyj7!d5lw5%ld`hP&2s%ZKYjmcxqWXC%JuIdxL%9jSR -zzyLc`dd^PH@1eFfv4`zJ`?PwZvy-uF_0#S-?S)=7h?sxSKCPcMz=clRBt0_~+|$7~ -zhZE$?y7?1(^}cWQ|Bb#F6kb`!P1O5AAx8P#=tqLYPjI(=)GUQ&bd@Fvb7U5%F)WYM -z3V&LhojkH@6}1HHr2n96NiCW4!#T$l7E6c&uCZv@m52>C(rvivXB>|z+N&Hc&&azN -z!$!f3Bz@Mw>CjSf&hCrLv_cNNO^T_&FUUo}_ra4`YrJ8vSRfDHr9CDy%#N-NXezX5 -z_@vjiKY)l%d=nJZjmrv@>iFbVm@CQ5tbd&*8i={q{z9#Yuy -z?cyN~80cu3r1kR-?E(7E*j_VfI?Hdi+xNQ|SADTY`v7a@$OOxRCDrbi%=^NZ$`m=i -zd~F~?-?G_Q)vK`UrQVA{-wVo^CPIftzjX1+uuHTu?ibE<*Yy3$wS6Ho4FPjEqJKKA -zRlbpKobzOBLt*Ay-SS9%GskXLLJFIQ&Z{DapTYp>M-=Mw2YoZR$D%Z7xA8u_xDz7|OyMBvyB?pAI -zu?CU;IrAdj!;zz@IclZtTCmv0r)K%%;j`?bRhD_ubnEm6xD=x3|B!y|xc! -zyZ0&Y&9%3EDxZFWIH`Q1c60ZG$|3$9uGJ3L*7=HhZR>-zAJ$f?1JRo|4u5IKu)V?x -z6a#5H8&nroqc}b9(RPhSLhUi!{PSWJg -z(ksDAcr^+M4ibTrF~qq{)$!GwXcvVm;ZhI)N(cfOf3=^C>QR0w0S(@S?*nC_MDyd6 -zs20W^5sIKVTME-m;3S?xwOQ*+p9)eQW!Xx)6o6<{IDw$mKTui?nt!*SNU%}JbC}L& -z3f`^XFPz%{_`zwJ^#-Ng0-?i&5jy43c_p}-hD)g*T?wzI(NgBcSHcyFn=pYd-B_wX -z6cWwpd-%1VtNg72()U?sor(TKIWB5gn|p+<#Hp}6a!_$PNNh13`tmr&+^6Q$@DI{SYxRIaUcwzf%0ROKPJ+U -z46TXOwiq*v(ObP)32bTOTiOI%vEOzprn6&m-R7S{I{7y727k5HZ63MJ8%Qau$~A>d -za}_lm-B}mrp&9j(65#hK0lMdt`$f}Fi`BE^@>Bk$g**s@;!XVZ9gn=;i|7XD!Doyip)!y!(U#=nS{yGJjR!V_5s1sK{D195x7@sqxnRRD(O&yy9`T7b7mfVorx)Bvu`VuCed^%sA9cKi@uhBM -zAk3XW>|KToS~q;vgGgw;<>eZ{w|tW#->Upm3#X9USYIrSE<+YmA$%&x9m0fRNf^-L -zkLr}@wNINz6RBV^)Ktc5X)2@SJ%Y7+Ht*6Em`#Nr$bZiBA4(sM@D(trl4HqnNw3Be#=&JD+;GSN~D*c>0b)9_`kB2z9Y1RzCCp%**&}&-W({)XP*F -z-}8CJF(0Y?(a#CtSo2{bwJe6?14P7~5$CaBeFHg$yfP3{G|$rD`8kmZXL(nBFYuPq -zn4vhdP>j=Kf_&dX5#a?4rQTAK3zTRnkOKrSB!3xQN{NzCQ}ZBR3TTvvv_RvF#FnY3 -zkSc<2CB!JfnSGiI9_|0aJeQ59mqjFY#MqB|S+W#)zJMvkrY1v{Ernh}A!-t3UkZIL -zD@NTZM2oW|g*4A1d^GUT7z!n^CMB4HwC!C%rW65G07J=7)1@Rt=~ztsJfempS4@~e -z41dA}s8Z;~1jYgqNn+$k5XhF&B;i$uDnPsI)T9KUzkZXXmZi)$DPgdb(LN4kg&BdV -z5-Ow)$e4&sZ+|J{=Hv*3OBrgy8>NuQ9_Jnkh=Pc~P(a#a=la2jK9~qKBl=w8MN-8m -z43`o=)W%2j!AQs-(P|daq>|imwiF4Lhkss-)FXev9`7@tD;#k1X(f_$rE}`mB2ip*j0)!$QAYi0qs6~bli>rok -z35_Wl3?72Or9m5oXfX~xlAJ#7AuS@*lqeZTOt3Tu$YY5^F_jT;V~D#DOe33N2!F#| -zjgY>a`NVw!UkQ*!lo$lQ)RB4!A+#D9Y1ors7HC@HnUS6mJt+ZAfdrQ&u`}8;jQt=9 -zr2L$Q9fcw(F-NtejGU{%bo4ohFK3I?eXL!+&K<K~uHC>* -zsZ0jrP|!94Qw?^`G4FDeAOq; -z<(GUlikZPHUyUGv8onCDzMQdvuW~^6ss&R;F?^M)Z1}1K3}59Y7``e2!&kW-hObIM -z`KkmAU&RvOTfQ2ksJP*)LCQ@9U&Xlfg|9Mb_-c>^EL}5S#RB3Rz8Ykid=q>%#O<5m -ztA?(`R~fW?RYJ;FndFAAN`JucRV*jI@YOI(1dIhVe3c64cziDMrHbIIVH9cO!B@kC -zM+5jOcdOy65-@x4op7rpDl+ -zPKdaThLnj$X{yCxv6TJ+3$>uHD29Vd$Z*goOQmRLpfOX>@XuJLrLxaB&P_gQMa(0K -znWqI2%fwOEY3EQ{PJe;C9KlIBoPx5qBHJm%J(=>tKMi%`+|tP_8%(jb8gi8X*Pg$a -zTs%t39WNr!A^k=fq+eg=1NB9W^{Wg;v4jZJwO9I>;)DIRUnVO$U?D&5(}jk$}E%{$ba`N<8bme-9&s4XyciD;7~JN0p4-hq*w@d2>c}Jp -zE_*sGGiF$2d5uJ0`=TC$&ZebDK;reR@4?;8Y+w2tI}TquJd9-NpdRO?K)O7PWVN6^ -z4ZLDK+blk|8TeyBzXywEHrLJU$naRiiSS463}j&;gqT&*Ot!- -z<*XORiA3we8gM$wgc*S`(jg?X=Fu#Bo&$?8WK!m=dxWJc0-p+_1lPs@Xu(5bL?E%B -z5OE}UB!4jjv^QtEhXf}}d9HAZeGm9fcY< -zpkmJL6SKgVpi4$_md`vn3ZQPr=|O-4DTb&-nrncl#7tDFAV87;fLNMpffq|G@x8!L -zxJ{53g8=a{!6fXGP!^C#OHvj|_@308S{8crWq%UZBH?BzF%8R>k>n84uAO1p0Pu!8 -zjF}4qhy;j;T-XLh#9H`Q^dQCz*NFqg9N|ir@mxojkzBwKR@01yHgp=p+-nBHhMQTi -z^qcPo8bHVSD1$o=km)$Sr{<0eI2|1qNL&n#&JY#FoR&K-78#N|jyV^19Ph-q<~^iv1MDA}SAfzO-WXw5WFTE^G=C4?hJ)T*uRx@Ju2;xHyVNT(@!0QsI^r49 -zdYM=`J^pWBx?KN^qxq#IW^n1-y}OysjezYT(Wwm*ZG|7mkpLeBd)yH!*pa+rfW!c) -z;-n@iOC%=p6bG|cVqz1MMB1CN{t^|v{7M9h#(dUB94o|82hD+B*x=5smB_WXb4MVof4BKkt$L()sDnKG9NlytwzKx@u -z6|pCL3X?P7LL;1S1UW+~Z?+>aBOG=~F34daWBP$s1ni9%3qI-zUz6wn`)Q9M(-Is< -zL?m-W;6*`ZFhgweVunJ48AiOti+`}mjKbJN<2)eArPh(HRg6t-$dGLxHsmz@7!wCy -zAuk>{_X-7*O3DLiUu;Xlo;c^KB({Ax-pZ9yiESQrWDN3is}tK6>MN4#8M5ThX#4Dk -z((24NnACre -zqFC-XiKQY)@CRh`(_$1yiDITKwISA)6bMtnP>yL~num3bW(c^Sh9U>gScc4uWrl_s -z8!`|HH{&S_Aw&3=oE~7(DwLVSN=#dYe3QyTi9k5a((mSa+9q>WPSh}GC06FF#-@S& -zVrZe*p4MT`8ccJdCv(=+E`PR=Ei3T7CYLS@cswCN_Dvl<)Q_Qke+vD3cT -zwlB7oikQ=4u}3OqZMb=VDhLrU)libz-&=o7V|B -z=Fxt>*w!2Zjk^1R1%FpItJ@h@(Lp@UA6MC`HC{KvpcbA@KANV%HJrmyQp#ETI+s)K -zI49PhXS^Fou)E=Snm!5NU;%+dpjZ^MW2{3KPWgBNa1wY999Wzr$V)i%9hl!JMf647 -z@&O>m6Q@^V&J>kkV!?3S`=7-Q2#DHz4n>5)sRqMDn3arR9Dh|2T~T0NWz-S9^gn|+AYvj<;(#JB`ypFAaJ3k_b^D!LraV)FV<_twh&jn5hj^#UH -ztj8^X<*6q;sfrK!5O -zi&E9nhD3R)ZSmtow6-AjEvR#C&GAt_ua+;#U7voa@{8Kt$MwlX({ybyybr7*jvEPJ -z?&l>WW}D88g_5aLDOntx>2`OBq$a5W1ph)YO5c%+@w -zxc<9%WzD1744N@Zq8H)CfaMw{5P{}j9wcFRHsVcuM6}j@To02|e%oSSBd5Vs!p&Y$ -zoWS}lXb1ZG_>V1^I0J1Q)Y_g)G-XPJxjp~n1MG{FV`9~?56&|E5(x9}KQ&00DUZ8` -zG3Tm7`G3}H9+iI2s`Lx*|L334T0_27lUWmL>|%|UA{60cd56f%P;L@&vm-!ifXo27 -z0yqHYTXH@gSCu`owZ@#doPH{rzP#mW;9L -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 -z{T!6W@HSKqxov?1%M=QE_!-E59F(_*=8X~ -zCntq+^PKulO4OG!g;7pvGOFQ=hgklkI4Lxr^u=K;f0AM6la*go(x2BqDw-21Z!t!k -z265WlM|X2R9}Yr$UKHUOaR`6k^5cj$y|#S$#3FIfXRCknbmA$UCJz@&2_MVYvrl6D -zKy1>4e4qxSGh&(}66+rl7^mD+bY-s4y@qg4@NicsOXZ#k1d1 -zDT!^^Nb%6aDKq3jnIT}OrJNyP(=?nR@bGHEXLpP~Ho*qY#tzMy$BHqFL>&NqR&mAc -ztwhGOJIt|&d+j8!V48ofL<(k+%|>L`IP|Nzj?vOnTyzN>W@Q$?G$F74yki4kf{0DK -zI5R-L5}MlJ;J{QTwl&Kv5NaKWzI?}~6$*I@3Y=IdRhu*sk=1GtB`YG&{$6Ert-B|6 -znnBZbBZe{g7Qa7wo>@9UiNTLjYr}%c6dGd|<3`3Tb)&*lqdk8E68xqifmvhTdvH3L -z0t1M{R%4nLWz}7}Ff^UK?j0JNg-K-o^PJ9DgMsZfX)K#<;#fZ#OMrz|E%#-d(}Ykk -zSBJ1vnU%=Gk$cj+NtDJeeDbR4B2DMZ7X4Ol*}%qMQ4N}-t)sr8x+ZSbrV67jLsp5_ -z<5%R^BVARGOaFhJG~~VOw^E}=44vYFpRY|-1D=x2s4YC;Qt;;Ufx@^AIWvdhNT)K5un^2VrRsHR~#{GO2JM)8h<1LN5n3uPa -zmF1<0tbD>@?*;3Jg->jxNa2+~EW2*i3K~m|*_4LFsOW!Xyex*7p0)`a7l*(5s|l7v -znCN6@hme=bK;i~6CyQP)h!daj457RI>id_R*M6{&*6p+#5F!0= -zVS0F_K*^R|*$xa#m9Pn^cSh`5nD4c)P0KUl&vL9r!ar>pQbl7|!ifzyd58@-c>*^N -zRPWM61GEK9J<;066<`@3Isxp$Y#?>fXy0WU5T}2s8^|5B%xPzwxkbayXc=(71LHI% -zka)V&WY_Dm^;DN!vEy~thi_-Lt3gnpP|Q}Z7=lR{fnYN{6PqS93Ny_`ovzQ_mzE$jkp;wwpMp4JQxJAs4d}#LT=oZyMS_PyzJv=bc}0LN -zKirt`^>rMJB{Dx;$?+|Z6+L~~#HSNhwV4+Xew{9RWw>Ho3PW*?miGlRY@;PW)58h) -z{C1T6&0~7F0nVd=AaVlioHrCB`!qe+Yj1yKCP)-(Jj%j>I`5>hrp96{o~8#|Etc=| -zhB=WpH8HJD -zB9FzsF3pjZ+y<-{w}1Vq$0L9(-)Mifn%(1O>)zZJJJZr+XDXYuf9~l;Rubzf)>p3B -z!o-mN>Vtm#u(z29t4BuI&(2SI1&J-I|%>^W7Q -zTNP+e&Z&Y)SANs$r7pp&O7*W_xXrugy|Qp~t30(W?8*m?nYj%^-@%VN{aoTAiN -zbr)Y0u)#jM4<=R-X8?g3IS-7HbM?6*gX(|N9%8m3!`%c|ru?{rJ*ZZYE7Uh4=H!A=6(@(s`%k4YeqC*=-J+E9S`GUtuKDXxPK*>__ -z&&z?*=tX2KAs4qde9UJY=9G!;K4mgalhgs_HZDmryAeu~yoAS^V^|mo*yBAPDWyJM -zgY%UJ)r;U9l4ZiiDoK9kXk)_RZ$0%fcH8nPbqkHJ##*DXYYd0axifz$dj+DN^Z*+6 -zKR(^pus#*bY3=Gmo~2o?US@E)5f*y#dR*;Nd%0uB+KC_g0CNFtFn0IpM=XC>g(bl&&A)emzOXM;~F?{aDt?SLnl6R -z;fVSwWu3FoFWt(8eqMjVLFB*`pXY)f#+FruY~>Ph(PJB8+=u2q5yOo2<}tS5u0%_aT5vY^M(vR*~U|E>z4;xzWGk)pdM^}ISa2(fIM9r;oMaY(v -z+0*k=Pn3l7yY5g5vHKNyWB8vu_9{2K-Dc|^a$Vl=>2Ur3xEZx)A2fT%>M~?<^#?I0 -zd$4klmE3cCzVcbS0S8NbFyO^wN9ARz#>bYTmahi|fAbkbn<*VSYkNKhb-pym<~3w? -znRy|t)FDIJQVf6gNc7Bn9DBtI%TawQM`syx`xJiY%0ONQGB0ui`S^aBy~Cr(R+UfO -zxT;WWLq(}$VwN?iq6AB`Qa-ShhEeqZYZ*8qHl-jQo%%06Wjj^x-Y50z`0IJM=H{i$ -zTvIW&hjnr8I_lak8qNB_qqB)}Q6G}I)VGoIzwf^E^LKwgvudN6eg4iqyT|PZysa+`+ -z-$Yq6bd@zjetyN4%*2L)fa3(a3zC%;rTI)2wNfZ%K`s#$NDJj0D|bn3^usfnh=J=m -zYx~jl0w#aOW*Q44a7R>p0Bc@5kmfu$k+aMH;prz-&%UwygqIq((GlLQ(1MbTJ9@li -z^VlpcP9}U^tN(zEgq`y{&517iEW+@|IB9M!ZZ%9}IY{`oOhryk_B!o{k7@-dHQArr -zNaSHvEnut;;m)hhml$aCUaqpzNI*hv5 -zJxj(NkmSCwHmD=mKtADU^KwnVFq>ngA%7&W0TJ5%m8TX?(Rtr@^%F%545*Vp -zHOYUo+bZ@>&L=W;2W6Q5XyUvT^6i#R{fhk=9e!s;>%CfSV-_{mQMlt(MF+7L;PTb; -z9ha}(1Q!#RtSP_jHV?GjP2TQw`^*lC+*nF@K-j*R!1&nRO;0lQsG?%vWmm*6jSpoR -zF-I1%&9F=uY7luwv}d<4SHz769ElMS86bb2)P2)v$cD<*1Sgxml1fBsw=D9O)F2ku -zfVFw>=|C(t%C{?jUpw_d(K)F<+G`%&pR%3}B954yF3RHA@!<@c-~AaNwtlXI)Bu01 -zrNznO8UcXM8v##`4rLbq9pQPi@VePJhrt@0-HS2|D0-wYw|F&3b5<8)V~a2+t!4rF -zQJgUgIBAW&aEsWW3!Be`ie@Itrd$PyMGZ1pinRij|M00kLeKH?V~$rJV^HT@8FQny -zk&6)VUwn*JH}6yqjyvs-tRa_+x8;9N_P1rf-fFaG8ucZneze08t7~_^yU^a}yunHp#^E8)lEqKjGoB -z6bKX5ra)NyHrEWfH6aFT#}yH|c`Y4Th>yp`06m^@vl=FwT2~12w0gIn3%xC1STdlF`E^#T8_Z+ate?>0i -zLb1#5M+u*pv2BYmQ`;_KE)VRmftG<5Nm9Hd%r~Z%g?e8RN9;xiX2#T?PQpn^D1Pev -zBxXN#>=h~D>`AtSTSTH6F=de!0@3#O(}dVG0~uT_1?(Fsi`9SFOvXvHi_9b`UUH7? -z^GIx~!rY4&=)#b)N*3bTo;|+W37>h=*`X`3R+&~=ia`yzWylf1_GjGDR0!Kj)vA1Zv -z&*a*~cn`o|iREdhxSxfR7nh#Eq7Ijy#BAFYcK!mmz{1Ocm6S#xJTM@ipYSO`Al*RA -zSRlmD)fz4;ul7~=H`d#MSi^~i6Ah<|4_igX1Q7p9d2D~yN8O0XuZ9B+2O17F9BMey -zaHQc_!?F6@O``D!DYG*>-2X&|1;vI1rG^D%%7PNZg5>EN5mR2e5et$xc*KG-kpV4gq(ETE5*i>jK&pfSClZQz1_%u4 -zLIcDGNR^nxiIl3I0RltJ!~mHB;6$OCUs5160GnDiS9!UbBF;sgQbxp}@S)t8M^YeD -z0QR3_mC6(d4G^1NN(_)GKF1H`ts6ANVq0@u+I -z;9DrPP;5s1}9fpHNU-V`@4pFnyGojtC6>Q$ysyk~X!( -z3oL)hQcIq|62khK68=;9uU;P(#irWMn%5mzFe%4qk&JO>7s{}Qob(uwt*nTz!YorD -zR{&c)0es&8p#f3_#OIh$Ix!AlblVOV2EANmv1rb5v -zn4c&JoGk^h#wV~*opMvd1QtuxgnECN;vIh?2^pS(`l7!d!Y)QGJseSIQ#%!=O@t?Y -z#v``m?@K)OZs>~;82N}-0!DBL7Ag{4CUBns#^e7)3WD;WRy)GhB-W2b7^?a)>`hr- -zjpCdw2uSe>EFGd(B9aP2-YG;RB89mpbxAR@F_d5{B+NNIgH|&aWhF55+t}`nkYA9jR|nKSx+qO4IoH-b0%{O$(KQOpN|JBoY|v6-7p`J>V~wAxuÐg5rG9Jx -zV%4cgv&0#+M|`6!!u&C_p3~4zhCg~LG^FNCfDQNvf0Ryx#{jXT1O8FSpz=rU%ftW~ -zcd9Z+wxc7wkwIaNsn#Nv?pDUAJ)d#+DqFN*#(k|!F<0*z;ECGvsR444ew875V$7Zy -zBE!lMrQ5*}J$cc~43S}Bh&Dddm&Pv=H7F$+u(78oQkYisNCprpBF4pkv?4sPY(*-+ -z^z>uv$K|!|qt=n_(V4s^2$hW=3Q#&?@g*lXSsdk@srM@`~XvUnAK6(b32c9oq?d{|EsC_z2f2Isw#r(On@Wx0B&6J+&7=J-NkbZ -zxgHDiTz9j<*xnyoF@Ax^yRF>Z^#7epH}_U=q0CHLOHyub+dFSNwXnRep?}vj^yklu -z$!2RD6f^ELYO$(+z|zpnQ$~OV(M{0x(wInzwWQkwRYptEOjz?gY`nZokHTu$2ipF -zqZ%6s!%4$z#*YM%Q*;>h6foRZt9WVRylYC|lXz6;AD7w`{DyU6ZAuhAN!0M%6|jq%>QViv=iM3Qk?JIWLiM3j(QsH*8KBWskAUWZu!kz96|{xi=F7 -zN4{}%#3s6Z)0e4w5{A9fxxIsim3~-KZz1=thCHANkN7 -z{V2o_y^`fu$n_mW~uydQxENNu{oEihtsnMRSU&vwkl5B8X(xOOFNG<$lDc -z=oXHH66RA1#m~eveGtSK8@E&1!WK({vTpoL(NvBtEt=Z-eB!Rv3;eLGA3LMb<;zt- -z9Z&j6TB_GO?K6WhuZNt>x-8B5j0rEGT7AlYvrb^yz^WyGu~Pb50G4l?@LNy335(h; -zXk*lRr8ei!X>)i0s$@FFy3r`yG5+udQRf%TtRxhwB=mQmb}GDcetM_qthZYa#D!CL -zrmBz2HL($+GC5p@1txL%oHEC?aPGvzva-VASYu?5r;_sCIg3_O_GrNi0KtLkM`eJ2 -zqg?K4SLEF7SD$l8-JMR??$r7j1^SQCHqt!$;u$QSqOQ1t^(w7=&v=20Ok3@H -z_r{o`8Yo^c7d22|CuX+0E8m{((lQyue8r0$vIV0O%q$26Nd@8CSd|~3|AcGectx$r -zSa`ynNv0rHN!`rzx~O~UP|iert*kiFmCCZdjaJsr3@nU)=A*|sj+Tpu -z#nHKWWLkCvKK!3P^@P5Ru?#C(!IUdw1cTK9%>H_Z>gtDI-Tt(;fwgddy4w&NrRksI -zHsrA?glilAzo&mH+Av*br>~V+9@(DCay|FOiy<%6$A_W5CdPxJFi%;o$ARToPI@W& -zXSv!8f*Gn@Ed|NfeuwsdK<)>&2XZ|f=N=H%jVIm%xhli*12RAC>w*9GcV-XBBM{J^ -z?`tx7p%rCA^!J_w{lnaL-0m!|#M9#rf~F -zCS_jQ*Q8&5=BKeqbMk>C%j}Auh)P}%WRHP=7mVniBsZ@W-D!2apSPLYmIc4dSY -zJi6(lRLH!`dknO4DhuAktjT`Is0tn&cZiKmB$UOl$4lkcIBkBfN{Km*OXM`}*Pd}I -zQ>))CZWi^k>6LOZCwWxr$Cmr$N3EmdPP^6oNzs^=-Nl`MUt1}`?Jb+Afqf7K0t18w -zhzt-LATfa2OM&0Q(WB!s#DEp4SdEwH&4)46OO=zm7?@MAHaQ|SaFT{i`94U;s^4Dbq85T9}^V3$A;KG*m!V6uF&TP$lVaf!oJg1M) -zlK`gpa!(w8ckogd(Qhg*N@4;tc~KI>gK0QHO?mp#5XkdS{v;p8$`=FHyTXS8wZ5X? -zsr-qjZI5=Rb!oTXPTGy;iD+kV+LJZ@7NypAG<3OwBw-m84>-q@Zd&~@N!dO&6{FWF -ze^1EsLAx_up6o*!!5dU~Y_{<2#Bhb*E=yw7EHdW56x|*o!r5*N<|9gea>eIM%wxiP*Nhx#zz7uztNsBHiCH72$*!^e^OB1~ZBu{pONy&y`&LUWMj -z`p%qUFf22#3@5B#V1rOMFz?5s6c58;Qo;oJsynek*p>7n8-(?!Ah1EUfn$qeJC>m> -z%4ZFKa$A%S2b;ORaHk;bX7GbD4#L-I7(_OR)G#$cFcO%bFhQgyp$WnVYRE6@C5Tk> -zR-Psl9G-ZA4JJ!b=%uDsSPWqm!vx`?ASi=C4$ELh!N>+vcrJ*`Ac{)LAc{)MAd1S$ -zV216h7<@=si6n_Enb{IX8rxvV$%!JvbOzgh8bbgs^Ri3>P)$hUvKV|L%S|xnuf$qR -z9#Eo~37`Pn2pU^QIolFVY%#Dn;~AS!6y&cYrkEUwvDmAiu@rf}8n3`>d?JS_CiC#d -z*HW4t4N|f}PLP;uAcgNgPXicZNmdqv4~D)8vc=RS(_(yfhZt%AE(FE=DFvV+p4dr$ -zlKJ>x6x$$wCD&pCv?EG20J%vtvnYTuo!YsT1^8f`+aOyP^h_~mhp}uF(Ae=(wZMf% -zGED8f%0hfF4Q-IWVh9Ph8D6R+hT{y+G&f{pZb4ZLK4`~S7V=jDMUK#pOi3ICcEp7o -z4(-s9aAL=Rgmc@O9A+yA(kl`!$t&T1%+iU&Z2mwREaAx3T*6dy-_FVmGb<>^3T9Ri -zltDO{2+JUKWe}A?B6MJ9WtO3+qzs~{v<#xCl42Q(%FAH3l!vk28An-;1K~8Z!H9xc -znF_mco=MGNbp@W4Oc3VfLYoTPa#3VcVf8Oc%2X7U+Eg5dd#P`ORFw2G2l)YiLiybg -zZv%|}I0Z9YBE%+0{ho{NvIJo=B(X)sC@Ql>#V9JbMa3{Ea)ku6d8t1Zd0OSasS+7gKSMcVG&5D7|ud -zBIA--dC$nm$VhX_UV;acbjc(IpKY=h2uMlEB+MXJd)6d{YUjyNf&8{$UacItBo?q_ -zzK}C8d$cI#HJoC4sbF9>yiXQ2EZ%QYB?B{E+3pc6E>N;512a9B)-Zd2jVt6$`tTi> -zN+z|Fmn6GENvfOF1m_u6&tn13F>Lq?3}@2@E;4NRiwx&V8s_T*$-L%Iu~U>}A#dO; -z!0|~R4Qfovka#T24-j18N;7rSkE*$c95J(WetCx -z;V8dsb(zZR^1+QJ!9|mQUXk6%6wUWb43~-qX4f)FUB4{rrP8Uqfr||5@{70dbVlco -zoyMkQc40Wfa4v1&EWLmFPn!gD{*x&KBfWeot6}ydmDjTY -z!R+uSo78ZD(@W>X;b|dfOHu^qBhe|B<-U|lE69?%xMb{CC@ -zcV}@rlus+Ds5#|-o5fN*-BQY4TM5qEYb(J8du`3-l1Y1QB{*ZRtpw-owKXRe&t`4S -zC_`g7Ec;}mcBD-L#G*!U>-37 -z7Xh;g7Q?iR5X}B-7|wHgMUx&BVVP{wq*p+C*_27Ifb?X4?PM56{FHo&uR;-ALV7t~ -z@dXCI^f -z%&4aqb%?!xFH5^7O{la)74Sm_mJYNcu~XFK}9<+xYidz@Si%S)^VvkR}b{9TWRX{HP$)=J -zYSRe)f(4}Fv`ie#*#Py(Vli*D3l<657Qpoqf!R2iw*e|a$tW3$Hc;YN8cd~s;$X%GV0WOE6RDgHa2rHmF$S{jk^xYH -zY|7{qEP$IM0&{V&U;`*YF48DOK!%$m0@HCYYXc}jK4bI=7QoFBfu$IjP1!&?Qf3vi -znFpCjDMcOjfu&q3W=jle-9|3Wpstr(jzO)o$rTyY%9nhKL9Ilg(Uh^2A^8G>CB@8t -z!zY_csSd=$C!5mB5FS2R-WZDtfkFLU9zI#6EQSh!K{Ywhq{LuBHA7L7DykwBB`K|F -z;ekSVQ`w+_k|j{h4@H_e@i;(IQ;Q6$*^6d42GtBuqA3xeYB}2TGniM@lq6NuR7pyW -zADR#W7S$|CJ97rpikji1^ej!AZ3c6Hn#xJ(nVIHK28)WC<)rj%T*`4$B~|UE94Dn` -z;8Kp0Dyd0~rdtN{>h+YoB&9l1sUS(IjznkzOS&VK3PlE0N21x8LDi8;#XN(mK}%fi -zCEbxqTSA42>_M0zPGoeBdSh>ndrW9SA`$B~vu(;5K3PE6hsUoNl -z1QzuoR0s@bL~RNcg1{+pEKi$#fzv8}R_Fye(0~eoU!O8?Ucn`mUOpFx3j!CDD!oE6 -z4i^=iQspV7VsI*{;7m%v**Kh1a8|t~kSfICw1Q=^f(juHXB8}687hQ0oKvvcjM45g -z4(AmtqY5g7I9w38r0P3WOvmAWl7dr31?OV0daEm0Qsu?NTQNALVCij8A;jT~f@MHK -zg%F3c3KoaMP$9(OoPt$*Q$LKu1qG}Al`drBaFJnt9xWv*1c9>}&Iz2;a8cmAf~7pE -zOhLn0fr}b02(0>BR@#@ERm1ZAY)Zps(&&R<@or}LMW^m00X1xYWLvXlrG#IL$paLI;>Nn8C;l$y%tGLaI&f^spa -z5QB;_10X48G+L&1?L5pqY|hP1XeYk -zlO9q^s~(!;9+IZLnxOtlGd{y51!p9^TvEf5UQW#@`K+XuODi}h=@rCz3{(i5zd}lX!;*hi+ldN6;EaNc -zQXj0g6BUBM>Nzr!Hw4aWSf!_C80@|Bu|8gm_04>&t&_2qF2ze=`HN;|$zL>o6LbD(0ag4(1*?@kUCIcozL!ZR1y@TfM&93fz`O74l8g`#m`Cp(yAY3q&%s#sxRuG0%ufu1<9Wtml<(m -zK?}Z0uO#_PmsEOE-y{G?dfCXO#TT{##`AZBkFdc|Tpy!^}46|F#i)&k2ZgWPRV%>wF2e^gRD`J<8nW|I2Ri-H0Sx$gs;JCl2+AxKl&uW`czaPAjyCs81-7%vu)S1K9sCefS}N*?GGHuK%<7Nu -zBNgg@4m%cog3@UXftD$1h<(T86oj+sY*voCGq94Pi9e+v_Pmlzt8Zud0n40%a3-5m -zM}h>wXf&NsP+mO*Ef7udC9 -zC(p!S9xAeSnZoQACN1H-;=wnd&WqB5U671_Z-!Fvo5P2ec|atOK+>{F*8xBoM6 -znqgX(W{)K`zd$i&8U%_lgD=|nlEG8`MtCU1c>4oqeMP+HD(6@DAk_R>&UPw^CvoKA -zVCrTi2^30s}1$@NnCB^^jp|453<6d=7;kIYTJ?pVhyf)$K%0~NX07ml -zB1b|06cc5Z+%Vc6h{sC?Sn4PWKq66|9|z|F1I=4O*f8EqFk|C$Hc*Iy#b~Hve^X3K -zALIiA)ogNJAoc}3)OaT-&n3}Nd%&;72xpqLL?YT?s6F6gT#3i$1u3=-;-SX=k5o2T -z0cs%8U1UoVFITc5(Ocxi+ZPQrhH?sj;yrCH9}PAW<`NjFV1N<@{7<@&Kmz0=esNeyjWFCcri>ZvV+i|S@!<`K*HJo?xs -zf;ap5B&_Zfk -z%gd^bOB4A*a#8F5j_SruOJtFXP4h0dHWWDWNI1&H%CAgLm0O1jCREaYp;S`WPby_X -zQCyTN$+#@<5cnVtPT*4VvSA8keZXeNOrd!PFUqr0D$hz<^tk^;F6Olx>=*6GJ{Pg5 -zY7k#)%Yx@R(81s9QjPZR+NBz8+c{(Z?+MA+N4Ze_yRXswkGu|%NtXEDn6kwp5UWaF -z`SoNwEAzq~Ep>&AzMu<#Q9-|sm*S^U(;6UQL>aGTVB=CMl~e-htUC8+h~MN+X&M`a -zrZp`a`!IW$R9;pxa`_K|WMsvWfzf3IWRn(fb&cqUpTvFW|7AUQtg3>nqU!TtO^y8M*S;mj8QENH<2d|x_3Te?k -zDdkQIcA`d=1GnhM^@P7G>t^{ZWbEa$pqJ18`;4l|<9$Z{UU!QBBX3QKKgo37+!*w7Yr5wmR6 -zuPsvxu;JHcq=hB6JYgWu*B2B};HO13i5=N%TYlJP(qI&S?Jsl!QL#%_N!f;9jHGhd -z2AiVh`Povj9$@JuB_}+2wqlp_K3>z+r5|3^Q~J(PK517QukIy%502OMQc+$(B?yXI0W50q8 -z6c%`XmPY`j`dVC1p~RV^bDoP?KXr7IptB$7U=AWuzfS -zEXu-z4J?Z4u#VRm4e(KWDV0*keip#;n?Cp{%0i`o`ZX_ZCDX}GP*%{S?&2m`GGihy -z2eqO-mL6`xSu32k!UbzY@b0r97Esi`AMo4d1%XiA5yabab#5g7jUy-rn(7A7LIaYM -z(L5h`nT!{#Y~-xOb5>&6s4lVin!3bEQc0a578p>6e8r?%mH)R-V{6H=YjTY3m?2;< -z#J_WY-0C@`DL@- -zXtiHeThH37m1Z{CUU{<8ZaynJw{142XNaL)S*;kBZw|45LsQLn8qM;@dW#!9wLeCw+@ofqLbGA|a3otMK@q@GF_Ir**W@8`8inh>3jDRyTN$iP3}$hd*OZRzpZkkRavFvTEyvG#!q#n{j5@6tu)%L -z@{?Kx-)NMpPoK5gn`O$ydc9SxZ#ZXv30o3Y~rupJCAtf4hEdBbks$4oMYoIaLPU5Xes)hyyXK8$nU_a^)9WZ!r9 -zdhh(9`_?~jdsN;&vT)#z{k>i|LH3<{QRD_=#|Q3v&t?rL0Wl_Mh#caSJl#G_n9cS# -zhgs_Hhnl+7?D#`p!l#;@V8nZWKLp3#Xw{o|PLYEns<&Y5dXtFFFBty>VyX4X1m1RKM7Pxt-}a -z9BOai*EtvA+{nG*XgXog&7}Dspu)$!^n=sl= -zsq620)BfZysG4WAL3S=$#Jzy|?QHi5(cA6eDTY;v8jI2Q4ua{#xnZHW*5Q_IZyZdA -z-B?!t-F)`Cg$+3f^r2D+=};-c=?)dn`pCC2qV58X;C)RpXlLSoUC`@DeLZaY^wV{{ -z@gAmzP-Z-gFm!a9-`)B~yS(w*edqP3J~Bq#uQxexN8W_`T9^6+&8rvUXu{mk7_1a} -zJ__&Mf0O);77E{g`@|bNX%*lhjL#3J{XX^6uDcJN3Pzn8(q8wkQ<|!1{<%LlPH#vV -ze$pFuQM_jXo@q*dpp}?)bL{WZEJrD#SI?kKC!WE#<&(M-AEHLx5tTAa9`uGJ&m2OB -zf~gKWV;_^uT%P^ly~4iaI{)!7&vb-}4>70ohSOjg_75EERZZud3ab~dQS5n7xq%P5 -zA8PL2#2>gc*ZN8qgx)#CG&A0wAwg%T0p5wj(0s`-o->pJk%#Uh%^e9 -zIY*Nq>b2{H2;VqA%!{}GzT?s=KBn=CIOv5F4p7BS9g5J7E>s=VF1k}J2 -zQ!^2odi|t-MFM_=L7H4CxVn%S -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 -z%%sXB$2 -z!azs~X$Hh}Ov}l`3N7Vq(Rez#RN<0@VE|4sieT|it^y>SzKH=@54T*qJ&%SwOG?w>+hOp2Xs`O%ERm?v -z>$22KOnY)4Hqf^&gW;+q6xp(^a*Frv|0}vf4}05MFx=b3ZCNMXe;Sjtpqj$E!B_q7 -z|K-2klZ)M<3u_-ZlK9vAOD_HUPt+X6Y6JnzW?laSiauC_Qs)-xxz^>s)C(T!CH3@aqjCC4=i$FjnjrSX1<4;p4bjisXL+(2r=Y0gK#n; -zp{6@?T?n^ANED1kf8WL3!>}XQ!^}OU9b9|GqS-?kx=LaVAtl9P_XeYY`U18JvzMB0 -z#W`omr&`ldUoKpK)q3CKnXz))B*mHa#x4xDfWKfBG=WCaxOLuH0wmP1z)b -zbC2FGry9F&=2BNABGsn(AWJfXDJDRwu?a2?Czh-Xx~WIbfBop}%WZ$oep3fSvt`p` -zZhfoSa-URaNcBhtVs8b_XZ5Yxs=HBdsVX>>32Kr+xn_wQRe#QoE|%~Y6K^I-Q!&E0 -z??=_t3AKo1e}ur;Y@`$(WnAacmxLvS-I>|?t2mOT`gDqKH+-{zurOMFQM7y%Z4R|~ -zB()S#Z^o%lXbTt-FU5(djM+Q_r9 -zq`uyCzTDb)u~C1u;auF>Xu>YEQC%-LUbi>OFP+b}e;QR{Z&cgs10csCSj4nyz3+^gxGJ=b`VMncpA`Z -z7A!}i^l|D(@sGy6cbF7Zyo9@^`Zw77{+`!4h%~qAVqP*zaJL7qCLLU(Vbo|GOo9$% -zCz645Qa?L4qZnBK;OoWQa(C`T#NLo*e74f2e-#Kz#I7<=O*r4#TyXP7j1%9wko=bg!QGX{^jb4dD`g!nqzr=S%CDWBO2m`_8$DghkJ} -zx;5PK`VcLLmubgN+tIBd>riL~bIwL#))8+-I((SMD$N4}#1^j!^G|T+gZGJdsV7>GsH~GQ&!6NBb+|sy6V+(Zy%XpNJvzpu)bR}B?(lRtY;7>89l@2_GiGZjD -zDO^RksmW@+4n`6W_2GD$D0cfS3lV`WCqCG2I~j0j -zhiIJjkGQ6L>rf;+X>_5GrlxSW$HTNCS`+sklwS{fyAM08w7KuxCO&g{@X5+^n!UJf -z)!hl){J(0mtnB+V52EFNu+dage-m#`+;42A+V*-mZBuXB)L*uBd>Y2IbB;yr_IS#} -z?96?P%NKc!5}#fe?v%J)uhZ*Zj7Fj4aCq=lU&?hgQPhUQw|DQNlURD~_wbvvC -zw5yx#^6F}%(rglC&H3!*+M4q@{aJHP;4fpUL?U6~Wfi3A+BSk!1O-9i6Zl(ozTls# -zb5edObV`S+&S?`g9JOjqe}%SdHA$oBfVCB{*O1j3e>Vr`w^rrM*Qx?k -zpU4mLS>p=+Qhuw>k_t$zOSq=VHI1t2m^DeLCZI;w6eCvwGi(cCTQO{JGx|B_SS6w& -z*Hmt5ItR6?PTz1UuqGMfubfo@`6q1KoVt8!TX?r?s?gh9ZCv5C=km8keXgb|R=%iu -zQ0+N7gaoBJRVp=Ae|0t0d23dEnQYf0L``$o_*)2UZ*OmFwrxrJx%_Y)*3j*?B^FTp -z4f!rI^PFQoC&ChbYn&V>t-@Rr$UnFRkb34KoRnWx2;EHP+x#WxoC@LJ^XDoJ$)hv` -z{acd+YN{4EDan(Hs`zS(tQ%M8Dsru+Q8h!1Vj#HmGHT(oe)K_OYJ#X9Qv= -zcVwL5yP(4xK{3{eqNR?Cwh=T*fLP~UW)$VhOcbSCf1bhGw6AAqs4J!8VT+IxtgNDh -z=_hj7B>rNZyYsN-cxxx}@ASi5#)yHh```TtCcgW>#Ed|NDq|dG@lxqq*oFmSYURVk -zAEJN~OC1ZGpS5xMMiACHzD+$1s&)*)UwleAik)8EFj!@vz^4+rkIv8{#n5F#vJ_-X -zkrvMRf8Rf`RC3B^Fm{#N!>D#A{C?l3jS`l|-{Eg;}pabP#SNmPn{0TYAz;voL8)i^z1iGa; -zo;(-fSQ?Sb+8Nn@|8D+J&<$q6^zch!JhNo -zD_?rP%(pbhicfmaebpOwgZIvvR}_EUW2a{!u``wx%dGUZ{JUeMIeEpfOA|F_e`sCD -z$}+|88sj8(vEwS63Fn5y(}yK7yOQfdTlG7Ea&PuT+o)U;QnhPMi5E4_I-XD{SZ0K3 -z41aYPr+OgFHsJGHO}qfjsN=!Kmcy@tab!9C1t4nM)AFm{3wWj6;@8=V&6tR)x=J`# -z6oVG-1g6)W@+ra-j}0Qtc^tH!(Thn9}Lo%?+w`FxEI$fU7i>D;jCV1Hj%h4>EqeA!j!hq8eumUD-fMCuPfz-aozFRYd>^e;WWF$E^XOHf3Bh4T;Mui -z3&t<}17&bJ$1o1{$X1llQ>zX?z?n6ijB~t4+xc8hDWA102|BKMF -zf+r5B`R{4_F@1DCe&8zKj`(}ubzUHmp)Zr6xP@kepM=rnx;$~Z_oxeW{jlQ?yVQa1 -z>vt+($)|O5PS-lzAJRZae|qRPhxNj1m2zvVfhz;@PDpu$XQn6RhTBu}oSGHH8kRnz -zW{rf?|0jHfUk|F4UmyRq|MipCI7-&D{<9!7uAOJEBFtGk%|V-bjRT7?H^9C733tUJ -zl>2>!cX5(Vjd*vAR_YPUG>r6>8$3~Nuss*a>y(T$;tc9m&_<>Qf3SfAe$Rks~tH3;e?=LJ_zv^cp8#tE!)E#&I0QTSMlm$QB|&?8=k;l^@He~l6*tdhTEbxV(_{A)C5~o*lmvSod4DsRg-wE -z;FI5N=adR)7WKp5E~#c^_JtYbAKLL?@UCW -zBb&m<&h>~@NjJ;lvG}p`-C@#bu-t^7ddx(RogX6x8egORUMF1EW=YFhOnB`4G=~j0 -zX2Rt)``%3XLoa;nd>=6f;j(B!)_U;0CT5~2-q&+@f8~u&5i~)^}nk>;N7+ -z#kr}xe`oXQC@<=U#+_&f_t;4v6*GD^CKhM;s5r{3H5Q>}MIcGVHyxAem3x!XDQ?2b -zL2dW%fPzk>seE1IvE$CBX1b@y*^iz4EQfw?k3S|p+^KD?&qy_9X5*53>ab&^j*G#% -zf34U@GV`Mxdb21NX+iZJHj<3R`jZt)Z$Ws3sS#>hsOhm`$1fZc-@YFci}>=Gh>PDy -zpt1S411w$g?#P`r+KvO1#i#Q3r)y{LU;lw*cvZERyLb8&V`SE5wM>hT%ZqPnP#!Gz -zz2V+6UXx-uBtqdS2mRpFW9L$g1l0mBf4LD30?Qu8=Vco!dW^@;w>FaJM!tohE?><= -z5_j;tG(<>csJG0@it)6=LdcDI9Q=sDW9Q~Pnw$>JbCNv#Js4SZ>Y3M^r -z!!sCNSXMrEu2}?<^FAEhkq8%O@lo=jdRuK-EBYThw`WNmk{6d(VB)jOIys)&f9A0K -zl1r9iY&xSXgsqC|fyB_qPC^l;w2#E%t!~dPliWJ!b(YKg)6gT=)Z_;)K^XRzU-$>A -z-#vyD94Feh2Oc};-qh6Nznflf%(IMnu3kHj#pCwMNSc~gVdY7p3HuoR+C4 -zmnUN%BM@t%I(*qAftdL1E4Z -zd4Gae%$BuOAA59$C#2wQFIbM=!Q;LdjQ5r&)3+XNxt2ftZCOk!QLHiVrRI{MCT50} -zLk#`D4ZLL-+9@8AeBcJRKLa+WJ6)Z~nApPf&Bbw2&|SLcggdBg8~_G|YiLJXZN -zzls`t7l-1H+6pESt1rE~r_z5?hs4;1ssf5Z2G`{|Ce^l!hu(cz2#Mun*<%ZW$#5`Vle -zs4c$VQtb-rleV+e=KCk|_KFJ2L+#G_c4TA1^h-9vVj{VJf7}Z#CWBB+7u!bG*8W^h -zw)yHD5l?eSaW1tR=#DBou@@&VM4)0mZ9QY}oQpp*@0@6R`7Fu@#k)TYry(V1!gtoT -zC=1#z#^-HX_M9*A7lc!78o)iaia29}5~EAP(}CZmPpc5n7u)6uUZut%PGuuboGJv) -z6YYIkPn^$if2zCG?hOWh7bl0rE)S`IU4_7YrritmJHB1YzJYKG2T=QhA?k$~C?6Z5 -za3}c(h_h|E;V;im)2B#Em++WA6^ZO2MJ4DRMa2)Iet{=$r#@8;{{nTot?r?dbU?Kq -z0a8=))Jm7xI0UpyfV?5BA57Vicd)fz2Iq(4IFQUze|sF@QI%=vQ&utZDTATBQ6<0N -z`m!zWSrJX%x&6d*zVUWCZEvR?;vq(=j?UZmU^4Evz5Zz5bFMR$`*#}`c>TeS-)&F4 -zozS^GLt^IxK0g&pZORv{?<`=U_{{d6-yE6!2450xq0_C3#g@q7GoSLK|{Pd1pdj4aRUVLLzKLyrzjA7!b{g6vwxr;B>w= -zL|lF5dQ#DDXo|W9BK1%0G4i8NjlFI!nDePPUOx3Lh#jiq$P}urC5QITp7Y%t`Xm@d -zso!425Ooao4W*qsT>F1GOb_u~a625}R!=xle~r(D7tbd=-sI}7JVwLcklVdc2`wYB -z>lR%)O}u{a*dVPFL(UhjJgIMfe~5@VkNQ3zp||^RUBDGjbJ0X-CSh(y{{!tOyJ$nJ -zUws8ikH^xEXLpMq6hYqURu5gby;1K_eG(I=*a=1lia1d88!`HHV#oc?rj5LC;?G2O -ze{F`4^(oW{b`syjICv_ssN5g;B(*Kq)GY4@?Y$`pKvLm&@UD&bX=%vV@gri?Pk4;% -z1Rtc{W{7AkY2F!vs_U=kka#4>rx@w=`8A~R1hqwzrr(!RN)5^oi&4KdR9eYseVL`- -zGIYLkHcNI5S$oJ?%mJD4t$#p`HS|?Ge+>AwM#Dk%>@ChfxZm5I96^S>J4=pgCOjC- -zEjzoeu*ZCqvD*<{3cvzetW9prupFk1`Ei=LwKC@WC79w#w8IWP7|+bN5r@Hl6UXz+ -z5>YRLN^6DhQ$z59v-9I2R9iijZ7&GUC5vsMT)FU4riQMbI-duxeL8gtnXLew$}j8Fk!)doL`Nt%9?;{u`$wi+YgKDLC_jo=@@O#ZDZNMja -z5P9v&bmKfRQNwD{h(j+^^Afu|mvv5>x8^d&2R04gNhCG#^LrNzUZp96nK4+Cd5dz{ -zpwN5OV|Yqom&S)gO+L>q_Pn->{c|+$pt6hmNC|(3LjeR`jBcVY>py)hL?lHv@J~*7ZNM0;u#kDAmp!gB?uk*A2|OF5lX7 -zUR5Mfa6R)stl}EBbH$+9)?JlB*9`lY3srSpF-ShBRal+wuGi~Fe=1E=KwSGT4-e|Q -zCQV>Al~&MZ>xFoa$~4-ZA7x|DsORsDXq||V;${x-bmJmFZB#oWnsFn#=p1Ws>PRuK -zTNHEyxKi*ZAtKp{zV~{Q&0x3}HsmGc?wweoE46yFvMO%pCrjZmuZETkL` -zY)->{rM5y{-i{bn%dgw@wf1^_qxDSNK_ZPGEf(br%8x~0>*#<2y!2r?hfBgG=r?)%Xa(2o}8_CAI -z@utyT$m$YS#Y+{y9 -zp8Asw8gv|+KJ`^Zc~<$Qy;^-*ZE+?3WD#1e&33xod{NzmpYulLFI$yntNn~RWu?K) -z4~}4_2H0p;e{626cuMUA?A17ywqtMoc=v?9bf%z6h1%es_z(cB{IWCN%19NP!aK1nSCx_EO!veI==h!2--Jf8DFg2I9P&&* -zv%d8_42Cn+15_>Oyq(Ea4Jz#T=oJ^$GaXPNV}s$)e@L}H$6ZA^*||Q0hJmT-epail -zvp2oT%&^$-C-9)FZ!jRv1)KU|63<31m1bpD>E&#S#A)LGCR{B*t*E-_*OCW -zG6A$3Lz_3et-)rMMjxQXXKqY>+U0$GW;LBL9pRc!uuvJzs(L%T74X_@*NBx)vr?{A -zR^z>)f9dykXR@cY;df@R?89PaUegBb`ipwj5`f5c`F -zM=-9L>0rj`R6G^AhoNiQDxG~v07;!zB>0Xof9dwZvi2`+cMtnK;D*8dW$N{zZ(H?s -z+g~=c=Kgeo?YlK?5mLM3u#3_Qf2rY)Z3`cr7#Rw0utncnZ#@Bra>Jo44*IQ*HJhM=5ayRw|;@^408wQ~fTF28N -ze|zoM>Fc*=wGjG^g&+893wcLcqFE?Sd+*moAo#-z_BsFPU#jj61PGaQTjF5->rS-+xDGjKo -zuiA`iZn0`cwQhNGCl=ot&K6etbGZ|%e=;7PFc=8ey$`*?bYOq9?}hs;6w8(qD7|qz -zXAr>%u&EWAUPe!X?tz&DCIMDlHgo2w#|-qz_+Z6wiPxpAo-$1db^Sf;h<)TkkKHo| -z;~sq8swCF>-d-rX-%#HW)LmVH=p{Y4@f0I-y`xlAtpV(4OKfOS&8}24iP5X(e@z}u -zPU+FIfSf#req8+YG4#wa^z1S8+%fe0G4#SQ^x`q}($Up>O!3plRB!s2>P;V){xQ{? -zKBjup$5e0nnCeX*Q@!b9syBU1^&V5a%rVuQNgbVh_GohMXmb8&a^Yxl@n~`hlgeB3 -zND56qaI)6-yL-N#kE^>IzE8`TfAhK5p|$r*ufslXu~={*QrT<-Y;qk!r^k}ODNkRy -z#r&j#^&u`eX!m)v_)+U!Hq_0?r}$Ze*rY2Mum_&!jjDSe~2cC>wzI&w`iyGy1Z@eXr8aJ>*BOyUfVCs8Ye*d -zlf^>JW%z6Q%WwSyUFYgV7NQK~4f9PlI}n42=?=D1v&IPG*WV;L2>0ZZ>LR4B=Ow|h -zxOY;Q&@oqe60qj*_I&O2e^_tM@$AH=kivV(`_d4IAQu+9kT(UvckaK}P!m^iwYFzY -zUj>gcE`?p2^O@J}QjhGacNxUc?vYEQtJ}S!HTx$BAly0n5jQxjlBH1sSX}O#Aa%}X -z)XGLsCOmu+7-w`e#t7B#OYC9yDREukAS>|2O*WOzU?_E@62Fo{f2~I-$U&`uWg>NR -zAK5m}htDx!>~T1gwtbG~yK3RtC>3|p`ZSDz9(hVoK_;b9H@yQ0+m6c^xsgnRtD-Cp -zq#n2!UxEY2mHY{%k+vMmUuHBH~v(2 -zx|ZeLrx_w6F9E6Uf7G=C_NK!)^LeOhV75iLHIhpkzDEKw^;`m#_(q|iBi2qKmk<}0 -zX!J{9jk-}eWIf8kR$Il_l;TvP#e%^>~r -zvO=MV+OLkpCZy>IH7}fSRuB*qbxy424_Ub_2E-gMdM=Ite(UIh3T&E*3ViFqJC?sW -zS!{2l08G>B9uffvP?cy+P39Z7n67Ni&HmkxuQT~+KiKj5a%01gt}zLPWY3o~QS_Dl -z*vGCgiAsS^e;6AF^`RW-8RS_;`qkaaU_^Z#lTdxcZLVz1Tfw?F;^89RZFqX%n%abs -zokplv7^Ft! -zOqDf6@3=3^Zd^Mq~3J)ZGkyUObL* -z>JkjOo%lr$S(9QF0|#6{=*i$a-~xFV#Ha306(J3&9M#iO2nI8;fJYd(Zd$<_UOxaX -zoYbc>x3>c6KCD*axv&+~`)W4T>7Hja-ZxOmofCxqK9@Cm@IaEW-tJK26f4Kpa3ER$ -z9$#_ae@Q%~xU#-e0m%TL5c8`;?0+c;`kW(icBOK#WDpasJ9aJ<7zaC?L*V3YG=GWT -zqqwXBiG3=aI?lte`zy`rMrFzPfUDeOV4B>9>qK77UX_EV)~ -z+ITG#9VNNXDyKzF&ZL@%>On<R=};Sa(^O&>on929kBza@&JI4a7KqvQTT#D8~nJ<2qK`u)W_DWy@B`gA)r=VFUSrfsF!luj6%Tqnr~F=UG*sTQj1nRtG4#NX@e{P;Pu{}| -zQIcP9Nau11l$SVg+D&bTAW7hC;2$CvqoLOFOYtv8kHRU>DiKPn79&)oEToPpDCr4Z -zzClA%bf3r4#4k^~JsOeyUguyII}+?we}i3zQTS*a?DlvuS7<1Zz97+RpVIw|N=IWt -z4yI|6l|X`~kwiHrnNr_ZG<}mgu@=3W`PCt!T(frW9U^Ei0*SakNk_j+8QlwE2jlQq -zj%yw7eA@MCj$XH)*zrPrU4$KUJS5C -zKhBTvgq82F+bhq?8&8St&H}c29p}`1-cDS1=X0&rUv1RtKAi3^$_CS0)s+`f|Bo}g -ztX5tfDkqzrP?K%6+ApfL8o!$T$GJRqRkUG;frq(i9-ha$Rb6$Gb1CY5>9+CP)W&NG -zY|KlusEQGU34Zf8N?l{_ysR{ucthmAMbT}=-Mv|US!uJgeO;f1b%fg>fAS(#d4$y^_`Lthc5_3|$;PS~oon$heSPD-wf6;PMAJ5x$h-%kmVyqgpq6_8i@?@Rd?B?uu9|lAu2!3g{|6oO?vO|yzNaA7J~I+30jxph$h<= -zn%q5-9xme2qaBf&uFoZQ`n}PDcycev6eCWQ`)|J-NqrqrcWFI-e>5@TY+0FRDk^kT -zkEFk`yIAbvLem&R))yWkHq+f7*|(%jEY*aMv|8xlSX)iZFzg!LjUMWcCcLv~kNtmF -zH<+%>Py}m|qV3qY%}-_Y{q}y3xA=<02Ge8Zx>Low6eG^06}`BjTj2H_lGujp%Y;!? -zS}akJWFuuS7wqYMe|SdwAxIcqom5bwqx`k#kymM~SDTpdn$Dkpf28))MtP%UM)#d4 -z1?|elh)AqmyMssOAI#xWUEOv)q1-;E4Y%UUDC*BPbe@OSC;fgwRBHF1N52mZt -za;^T<`InDlSAH-z82vR3#y>7p#ymr?9-qbeB8xSa3wF;;6;_pqTNeMNzBf;t_Csz5#5~KBl -zlX?1&C9_s5e?M(-qqEEQ1ZTbpnOxBMNMK2 -zsS3Pqf^sn$wejW;t+0CfZHI4rBmP4hUc5319XkIiogh_-fVdZc!=1@KH7uj_=AO#K -zFw?F`fA}v`e|%v4x=^_o+X|pd)I6exDvKf<>YvCTCW}%h*z}*{_7C*>c9J1%htFud0LKs}`QH+{VGyllbLVfCt?Dj_Qm -z;N}KeB!dX4(*fXNaf5?(<%~A=pn!9YX`4Pfx{a1nT0JbhXdpw@Zi;qKnnD>+sSm3G -zwZwp=qQg*-NiLKP+>`h#3s-Ggb>QtuyGW(VcUuw%rTbKX!qD7uX7ky_J8TdYDug0mWsg-tnNE -zX;-o1iDElRC<$Hm;GPhUCHM$Rko2{^9sY~98t+X-LOtQZpAde=-T~Dgenhc-R>IN` -zp@9U*ej7MJPK7YI*Gsi99tZEu1*4F*ea-WKZhDvBxh4SaRxn?E;jv*W62b31xaYl3xeV8*6MX=K2-;$n!^#~A)mOMR*)6sL -z=!9ACiS%$eiK>J~1QjnNkz1+Kn-hPeG3!)%rDnS>n2lhfHQe>FD)U7l;fz5yf6-~6 -zNLUKq_Iw)gw7BgJ2^x3VcLNSdHsx|QDhx!RUdjc_7)%q*3*R5Tl-)psY7cb)4)sWZ -zN?Z>X#A8n{TqCE2C^Ov&FPw(UsP2Pd2j{ue+Yn^eTu*%1o}G;lcuW0L4}E@8qse}v -ztZb>~c-Kh{t53ggODML8YtNbWe<50*YKU2&4^&5IRKtvlTm<4vz?fC>ionu0jD5qK%W<`^NV-iU14#lI8f|d=!?={AD1- -z`?|amjRpUlK{h)c73C!0fA_eoe@2HkG2RWt7Db=$K$ZSSsHI(xVh{PL(_SC%o5KG* -z9;OaPqMAU}(juXZBfg%CW)DA1p+#UoJplPT -zg};*^AZhXQ9T@SRf5BfpdVmZ1!10?tQluq<;OQMJ;zM{YzegnkE -zFG&n+$}3QVg|^e8Ipc$F@Byfc$?w^n;6ruT(OJ2;0}B*x##TTRIwqu@aX_PHjUQkd -zjUjy8*_r0j$y{dm?!ytMil6OFcd7cPyF3=Y*pX`cQhx7If4Uq<&|JX=%=hj)*9FD) -zLeKnu_sKzIr6DBtxJb>!3T?Rnt9(95KWD*XEf^b{q>yS7TvC(YNI3FcxPli;S5WOd -zm_S|Sc~FAt%$GVn!0N8K*+8v7gE5`?3R4<>w?})HiFUwsiLp(%YhZ(}mba%qg6_jB -zrm(ceJ*>4;e_HY&(jLZ{4_#KYX*gkxD_^($l94dr*qIJS#u#fu-WEV*j7NNmhb}e^ -z5BR7bok*SuQju$eHO>tt8K0NX0+OJGE;v@-Zm5T&oeMFrjK{m>^F!vVQM@4Q0m8yor=6X&YI -zZ3d(0(?1xrEZM6(Y{U%KY{R1biK&e2x-Lf8_dRjn@HrlcK!f-DWw9QHg^1s^u6-j` -zU(5)#?0<<-aRVrRYC;r2ywfx@iZMq-<@Z;Ef1!_d=Z%xIgaFL(AcrF?USOp{`t_l0 -zy(k%}%UD~1sVesy+FaQdO5A2h`W%ytKU?RNf~iGsnqai9n{seA^nIm^7O>vy_j{p~ -zg2l6w`r#yDLkLAFLoRpDYm~0DD;m+9vh*!%CT8gV{Ik5e^izk8WL>$w?*>B`@75`+ -ze+NMtv4}efnEAqESnb}sj|lR0_>)prxEQQ`+6tcGpG|+vGWi!B>V#ttV-~*;wfFXi -z>4#Z#RUi}I^n2ZMU -zfuQXBs1INjwQaTV&7pFbcg6%^bxUO!fAY1{a#$T{QzWXLA;e+JB%VeIdX1oEt8a@o -zU%@Mcx9j&0uv?w@#tyDK{lX3VJ<$&6;;X;BsWEeM(`dAlFThW>lK4s0oa*f2NSc -zsoz5d=(~<`3;B-nzuS)d?;_}PnTfsfp=Wz9>BMG`B?Y3@zn3t-+^{H3RW4%MMd+CsE4ska1D4b!zUvs_E>Epw#a1YXylui|bNdnYgAXYD(3whiLpEA0gi= -zJnM5Tb)2qI)e>yS&Q_&5bJD(oe^S*Rr(0VGRc(6uLD=u=CdE7G7fi4_Wqq&n&5=$^ -zE_Dvuhoi3Hla=+q9Vr=Lep+r2$Wxs|H!ZJkhE7M(2UPd!L=9F;T9IoGabupe-UI_7SDAop>K7AI%6dFQ~4Kc0=`>7FzeYxi(ymzB3-jk -zYD2&a(isaMl9T{BlNOp29i&SI+{a?aTK3Cgbs+QFiaaz-(HXhIUb(0^3}MEVhj;~s -zN}P&j!uXEb@+)k}`>$&ZunykRiz{wO`)5@^>4m<4pQJKYDEgJ%e=!G@kj`F|I5Im^ -zI>A1HkYoDM-T7;V%1YxP7a5kdTh)`Wf7F8a{SN~$w%kJ|JnQ!IS! -zk+u`@APagO{&GM~#>cNJ%!8IVgAx8m -z`6Z;){O2@6`8>N8hkq^kU*Taaaux=@e!zye(8YAHY37+C^6W&PiU7=dRJCygPlIPH -zlalp^&OmXq68>^brEcr3y`A*_HEvnH@ioY1L#ra0s{%Tz{vww_IU?M -ziZqEaTIy|V-hYaeP5W0G*_tt;lOpKbP`U{9estC1;w&bV${p*Ae%}f-N9`ih_ccx5 -z^(USED3uEuk6Sx@uSc4oK?8ow7l_o!7Um*VPYkQ7iM;}%@}%Wx#W5JI@>Z8qklHn} -z8Gu(_xT^NT!1OTDM%lUAvEQ^S>l?x6V`xHr(P95Yh>IA#VqT@|67{pXIRGD+#H_YT>UrjK#V>RQIy#Bz*HGf+>)cE^tuY -z7G!}!l7A2_r-Ws6o>AeRKjGafAY2h^(7H?Q8QuN-q9Y0$`5lvh+7Ic^0K)5_`!luh -z0Ja}8(|z6%d5!)mW$9_-FOejy>x-Qyo&c#s6%deg;g{t&lya%S^?(%^3{{5+^+l0L -z>Gz-d6Mp!PYJvgW!CR6buPu~lpTAPy#W~6O2!E6n@C!n0QU^v_V)9THfR;hwxI{po -zq$c0GNqbG>&~Gig+mQqKa`&%ZN3J^048rd<2h3yUKjnt1Vjgv<6;VQxK7>>qQhHwh -zaQc5x42LKrQ0U`#Oi=DZK7CHU)QOA<&P8E)RNaE91{n8MghS2O$E*6jHv6yVO2zBp -zY=0JTkpbDrY`_x$6f{7o!j`oY**N-HZ*N~zpqFg4O5qyg#JHNxOcZ{J@$BN7b1@wZ -zMaEQs^ui?p*plgM+C?X7!Cuefcikko3fcdUpxDi02WX~2BE&X~GDnd^akqw+COl0g6TeT~DntT`@~L|D|EKKDw}0C> -zk~ML3TMKuBt3+xs+IDwKw{6;zyYJlVbA9JfJKd6~CMhp7XATcY6v(mw6dDCkqR;#> -zPcv`xdx?3HUwmIgWM+Y&yRUpqWPFiTm6eriWGt3=CBwtW!+)3LcX0xJP2J_otj6Eh -z#rtiTy+IQytejE$0Kw`uU2s^_t3$gjPM+1G0f13n36YjsQ9>+@8+cOOHaonZdXQ%}tG -z_Y+x+42tvZ;2;A-oo2!MY&6s+MPNVUsYEp3j2zjFK)M%HMAiZ)9jvtYgnt==9kZFM -zOsqI7m4Hnj2ajtr$I%ek%E4yyat -z@3T%p>DH>@vQ?(3q>j#;lYda060{ra=HNZchiYrBDmSHmMKGkSr#&ezly)$o*X|f6 -zN~u*a{qzIv^DkqY*Noeju(=1;Z!q$6Ev@1}KFK=6X6@cZ?4Xbdnx|`6Y0=m|%X-?} -zVou)4Hq`trgIzjbx%p(KJ!EqtQy+E>@qhoC5MS{3WhR5z -zDJEIyj*=^T1XLP+UHkM;7S2Q#uZ -z<62Jhuhwn#Ekb` -z3hb78R^@O`kpnuqx_=^p?y{xr&~ddw`ZC)y*&EL}$gAv7v)6vFxCXtn_$MjYPGiHlK_Hlyas6_hoRv#hSX!3jSKH9Hmu#?^Rwvc;g -zIBVO%LE1t@AM5fzo|b7XB{_U}bei+uQbJ1u#p)<|{9Z=Eet!$&O^Avk@zKhZ4Im*-hu|b2d`a`fzE}bcyf2I9S^<%|WcZ9Fk94C#F*| -zAFy3$sMe2TXwxqcyMs-_5&gh0G`C>rk4HoLbuiQh|GP$3bf-hC<&w2SzHCx3qnLjO -zNKTZor;->Q!hdBEj$O!#@%E`&YbxFw4km-Tu|75yP7a@qaHycGk4L7Pr4@+`>bx=^GzKGGMb?41`*#lQ^v+~S(ZcxxjD5Gu<2*+*FXJu#N`Fb85!wK*yQ{7hOMHR2hb~yD -zI~Zai1SAAQSO^FQ?j(ns?#(-*ia&Esq61^9B=yagU&_)o>z@|A^Dph-r>uSUYuqm_ -zYOGcZ48h{T$Ff0Bl1OG=4xM2_IZUU?C|$NN4cH6RNNcv?wX6a4s?_qkXAEH7X0hz|Fp{AAj4i>qp0fW2sV&LbIU1p-Oj@zNfwD^9H4) -z|MB1d^L{9zX)wtWlR&uu`L+rfr -z8IJ`kP_ShQxN10~l&mVdDVB~V(SKNQBp)8=#HcjXie454&Oj8PUjzHn_BFBImNl8b -zf3)OwPh5ALQFQ4xNah>J+g(7qkgzdi{UM=)ry+1kcl@Rz@8xPf_NaQq-ZTeTao>)J -zUta1hf9!U=dsex4sE(b1X&ad2k#hA8^+GlbOI#mNH*~fW~1AknIdVLfy -zJc=7^acHH9;ibJLa2&T!vY0?7##R88v*78W8mY|%8bjkBQcBMgrENVL6wMZtbb>X? -zW+fk9XLN!{-m2=QJi2C#Y2<<~{6d7%!Nxt-rBrZOnS#3Jvb%)VZ0+t9bPakZNl*Fs -z5=I#3Jp)XDCXR;I!e3|a*?%CG0vUV*E(Yj_V(=~w;xY&ApBCW}^l9cjgRkK)c*8T` -zSdJr-eeau>FiKfnkP|dWc1qPY8B>#6_iQ{jEu)2-;dwvv;=k!gPvx$7V+=5p(k~u7 -z4A-gf*wXz`->W6@SL|i+JAfWV+IX4&!cL4 -z^qU_b?aFWSmR}YZD)xc)v+UiYWE4mtyLGrGw^7rE -zwS(g1q~jxrRfGw8R)12;&0YM)vaxFEh_X74sINao-}VOjg-AcJHDEHf$9fM -zyy8#1;-B<%eeIYrNo3t@+w*Bl+`BI|pvkZzg)q@1i7Uq!3&!1O;k@S}^8iL}@=|o*jHlsOWd^@#)o!+$owNL% -z9Y}6Hj>-vF=zm{g8h_Q<@f?ytXJrbM8iVQ)NK5rf;bJHRikYG;YU>?R$4~Mu28^q% -z?M~T7Tx9{@I`RM{V@UnSlH&3Wc=V -zBpLzD;?nQ4m-Uso>NM1X#!Hv@8>lT;AlV{AcPYhO$f4NxFLyMlhT440zxUL6RGZp?@K8{@?yHPBOQ?F%j8RV@IkdDc -z3h8*&5PyU>;Mr(x%@B`4ra=c$nF=E^(tIloNEjZdQbF93XQUq51}|bUg*?_zZM~I* -z8FKxx*Cn1lA^Z@Y-f5n@aZ$^R@zLCPJS!D$L6T6l)p$ua#(*gD35-&DqNL9d>b29R -z1j-z!l;{RHQ=8|HEa`N>y+-m!`~3-ZkJFZOB!B)+rJor@fzEoZCcFh(8pacF0Ko%p -z#n_-BWjylp%ToF@CcD`dtt)lwjodhIW^N>+Qr?Oo74PrY)C3AuWljxlX$pdD=$NUi -zJ+%HpDGSh`YSvC8BOtEW>(X5Yl)f#fib6TlbKvj -zN5s+?`8%#o-ca~gf-TIp5>Lict^8P(qgGnEh76zp&YU&XTY1}V|EiD`V}Zw?Xba%4 -zdLUR-VoQHyHoV&6czB&ZyKO0dko8&;;(s7{Bz^UBLO0bX`92E5koQ%7EM3HC_0Rms -zy%L~oWIThfTKP^-1`ENUTe1zG;KBS@?+Khugz=cAI?7|rph!R)92LhzFuPtdfZGSv$bX+t -zp^{|)88@03bnHvBQkV)O$qh%g$HH{11V*d%jFEoFK(0(M*53|b&yKX>g0ie_M6T6% -zxZCChRvCElGPvxi9C0lKmU=(AS*2z0cGn`|T_fo^6d3$BS6;UVqR*p#AUfBWF+!ahy1@Z6r4sQ&71RIBplc+j|^$ -zJnNC2Wxr&Y`gVJr^Y|*16y?XS3L3?o>B7Z$J3Xo##LnOYU@VUyu2`X*P=Dzzf2q>2 -zvUo5Fd^idGn*CToXmNBg+J$GkxFme=J1Hkxtay7`4Q#lv^OjseLp#13P>6A~vR`pY -ztM>|pRfY9u9iE_7L765Lzi|P#v-j01!_eE4&@e%U*Y|)QVMgAJobgZ}@e_LMh`npK -z=XV$%*)}I+@gBW#k>{7)x_`*BUNrfhVK}&Xk;gC}$(KzygDe#0_C&UqXF^fU8@{ZG -zF0kO?&G+0Y8k}%F+sWix@5{csKe@>Cb7O`2crrUy)Jn_{!mp$+8o)R&CR}Yal`vJy -zFEakY -zdxjCfd}UskE)~DHA~21XYQtMdxIEKH>2A_6FSgn6F8i75wVURB!g%9{w*jO0XeA+o -zyV1D_7X9S*YB>?wOn(^B4o;iz!)y~C$_A@nB2)=I6CS}0#+hyk49EGhtO{U}@yCdr -z(rmuvGm)-Wf@6(){~%*r*o3;YZya7a?WC(I=)q%Ze{vL?6dP$T-B8W6;?cp4nEs(z -zChr$UXJ{PqGqJim&0{@aURUbeeX?ipCz|P!Hc_*hG4h!#Z+|x}4N>g)WjBoHaylc+ -z+Wkuy|MRQ=HGYo;&ngt1WvNyWw&}8e-iFIEP40IJ_`hUQ^_{uQ)-86!Q}EVAABZvn -z?Dv}epr*RuISvXQja+GU&hOPeYHaQF>E?yOdsPThN%x_)@eAtTl`PkIP`_cvB2aA7>tzJ3WQ8L`Z*t-*7Dj3r!LN{>Nh(2x#kJPhp}5KtrT{ZG+zq5q>Eq&t>#cHVvfkmt -z_d=S|*?&xH)a{;oMUT2@+9P%Sn>7kfUf(pp8Qhc4Zk@(NXuoYiZu;S|YbVaNK5)!Y -z>bI?P;hrbl^Mor@V&A#eni!*MDTP(^{u>$bvZw)YC2QsK)|qJljKB4~Gc2Mh$iu(G -z9dhj&($MbC+DAu6ZOO_z=4TqV{aV(c0PT9_u78&;k$7#G%H03Nw4}~-JXy`U`S5Yo -zXhTLzps7hKzJ>LkY4B7)FUkH;kDsQPgk_wjV7GG3{8Zo2U)#1O4&^qK@uKLO80OKr -z>nqfa_5RpG-__O>*`aoA*NiBzB_YE1v4^Xx -zZ24LV#rRm;!C#5r{B4Qt5+rj$GZkfqp%o65pu_nQ9D2$piGfMC-#5>rf3dm9(t2+t -zpK@79?ffyzor_p1tdK7N&)FwvA1!yA8Gn6fNjQ?z?vg|#)Y`{uZ_Lj0FKW?;VL_SAr&rW^jn0A+(;J8E1C3h?yZEdBtTGXRKgVa>i3Cv_IL3>emcD!Lo -z^f(;!0i?2v(a9+l1|hPSmsgqjf+d0>uhDQ*K5J=C!%on(!MqXXLECwpZEt10l7H&k -za8a;R!jhOugS0waai)I|D)cD$h>k9y4v$jNXv`ht+%(!uQnj~IqO$0m5Ue-?bQ;1b -z*m6NFYY*GywST2u-C$nngQCx@t4f9tAp7)`FdtDHLO`0t?5YJh -znc~La!dSdo#|LQPbvm>t&qVHI#CX&D>!8t -z(u=ix4t2(go8)FugEhlP*?$=x^FglGc#%I=sGsD1QAaZ*Up9|qF|-=!-2s%7)Bt5F -z^Tx5@sb}iE{YnNe8q4@=D|grPtpnQ^pko&3(y+{;bI}q();Vp!ZZGh5dx-eBvn#c0 -zKr~*N2~eqz*7QMfk`1v5ylI$~D7kX8%1LZJQH#ba`nd6}K$?Y2YJV6yYfKGDZbZvd -z(s!3U)fmtjoG=$1^5e0!F+gh^m2uisS39dA*`S{?m|n@IEc=j`oILq!Ybf~=vJPC& -z=m@VRQ$_K9r;Ve+7D8$M9{A;*KKPB(_*aQ*fK^4t90p7)ih7#Yq(^dJsgM>$envs{ -zB{@aG}^e2qVUu7B0ryvGjR=~Lfi*^$Sl -zD~7|_wv8lL+VYIr0{$jWSFg3z@~*DGjb>vo>NWCSqxP90!van}8{046yl#{xh-&nG -zv|Ee02An3C5hZcBw2N!AitV8#*X9zUL?KllSzwhlQ5|F6DRa6Zq)a1HWX3U_)n8RC -zo>78Z`>A#l=6`(HTzU#-NF`ogNn6dzMdeT(C)bu@+FdCxM2N~ew?UWO+aB7g?QnQ1 -z`(juw>kW+CRbSsXQz(}?c+@>q8?5QJd?2hyWN+J+y_eKuW`Z#Flnu`-*m|~QUnVak -z|Gtuc^5NmWy?ydnIM8mL!e74hb)?Wd!RSau%HO!Q1b?;DOT5%B0(k=w*r{sVZ2$;v -zo6QTTRuk`qqM_GF(YfS&G-}HiV3OYWSQIF>K9P^l6qZq#s8lOgG55K)SRoGzzZwhb -zHf;0V_+!1Tmii{_bL@|$k$=qW&?=7<*S0rFo$r+82+OJ#U0LEw>LVs`)JvAMro5NBJ6<<>XpXX7!TM$u -zPn06pz;T0tN9VF~mFjNk1y3;_(4SJLgO!uU!cdNmwAzP02V|$A1IVpA=er*0Iz#Lp -zi!rFOrr%%8ZA)qtH|Wyc2-$-BY`y;DOBmtG-+zS+-zU%IF$jE2LjL&auV+yyVPiZK -z%2&C~C%>9Q?{a%mo>110e~k;DXVc6;H(eVcNkt5*;FwKVoh)mu(q3BnnIZy>*fHpb -z)4~d85I?3mb+X9m$}PGo%wl7sBN+YcY&tKpW@mVMp0q(W9oY`HvL2O@xX#zPzn$C0 -zcz?GodqUO^K6fn};%u$J0lFq4=* -z8*h8jjhx;V8(MAXYZX#$a*k~fer@{g2ZiRn4sf@Z)&9j2|I7!u_iK665kXr)nzO>a -zWn2^pjV#yxs0ykpftg&vW~SQy>T>O-0d|<2)b-cK`A2V48Ik_-U%f~NDfZ0q?F^01 -zQlW>imC$pUo5+`Exe_22_ZWeemAu#=s#v888o$EVx82YjYRi|Mxe^(FE=^UaHE}v; -zg{tAgjx99IjKTZsqGQq!IN&X`tKn-JRT`)7YA;ruI4e19FSK!i5w5w`w(U0#H`#JM -z{L6Exw-NR_$Rdj+PDt|02$+^^;}=n*ly`uOH_d!T?q}DB%gkcKkn8|DgW4Oq|g=Aq|-c)t_QfR;InOv-WDfny`3&<;=c7d -zamYd1MT?eD(&UPk3W4YlS*jq!8vXo%{P&eqfgqj!VOJ)*aq@vQ@Peao0rgZ5+fzzc -zB(Pt0B4(N1_Wc!qufV??O5PiOVcW$y5J8n;rX9>wQ7})NDhMw;qzm_Bya&QE504KS -z985Yb=(FY^=ZJGydc;q?>b>@Xs~}3fxD0WZk!SE!mS_ksgG$qp1L$|nvnF?P@-l;$ -z=H24}?F!k*S+m5wPj>cqzxcO*`^&$7@!*sD(oYl8t#Z>-u$ -zi>o0}n}J_{;n*!(^^UKbXGcv~J=Fd{I!FYcUMgm+=BtPq=agr91X_rwAg!lw%S7My -za!lklo-U=BI%m_zv>LIF8mJ^jVwiy%hDXthY4tF74fkm3`^j(61esOZ*Fz*Y;=qcQ -zvhIfyz~F@Q}%9 -z?D2|rv*ov09s_Zgm=S>{E@V^?8Lzf^;62M9Gk%&P@v=DK6&jy6j<0h8qpee*Ua44V -zzl9-xZIJ2t3#w1jhg=I@Yg0Fw5Cfq?6bJ>EMf_EbL-l~N(KfUE?|p0wU1u7s7xK9t -zYEl=Kvmx2Ir?*SP6-F)sj0NIbynWIAQGb4tL2Xd{lJ%m5Sp_^-+w^;Jr44b>4E~z_ -z?rfXxq&QF2esfY=I5~u8k3+_n|Mo$xUZMYg^5D<4nUf|g_h=jO+mmC-VfOpMiN!5P -zOkbc9NMO~O6?E272*PhC1lDTR1oUUmY1-tBSTYc-QpZK#cLF81IDJP(;BOZRLc38VJ) -zl)@3c?b0?L?q+%B4joC#Ak?z+Ikyr$a`k-*bKDaAvLrW#qXhcG3nnjzrmShiZNI22JmL -z0;8{tnX(a7s2a;ggYzJvv>`E^Q5whviK}LHnxt!6nF5Jnsd3 -zGr?g;C6iol)M@frcM{%zL24tU0Z3NH*i`JeWgyOLFBI-GFyE`UzQ@52bqH?0qkg~n -z!XI*TDv5#z6HlIxs&>eX;n2*Rx3ujO)+!{tjIg<1gjwwCnI%(H>)k0SAZJS7mDnYY&P%o`yY -z1F71+>sDYrYhpnM=UYKwqqpFZ&QeJ3^gLR80-2}i2nFZS==G0e*pn}Xh1|)x-gS_- -zPP9)2S56!vA6*Fe%+$a1?%RW% -z*G~`k-|oM8`ud41IdL&RbGjZN@FX9wh>t6AdY2ptr>6Qi4Y~{OUK*O2m~1T;EaA6b -zGCDaoUo$9%woeLTvZa-Thz9)zW&>4rt{V*xy(Q0arwl27?LCtKstUy5rmXYFAu4J; -zP(EsG2IOM!Q{`2obq0sjfydgq8OX7)j#dBkvJESJZ -z@(b}6t64OfUr-pVGE4U06ktPSlv@3Ql*LBR>;Y=2aNU=vF0+Mi2NUau#oLDSFUIMc -zF%}Nl7Bww@dl~MuGxpjP&^~hG#5~E5uMuYgV`xQ^w2m2iW~EYCJ)w1eF{$X}i%6zv5i;lR_8VOAdx` -zR2<2Iqx~iX$Ub1I2w=O*cL=YfZx{-H01G-N+$6<+OSl{uiC)D;49EH5h6o6^nh^W% -z^8Vwb2ynB&X;H7R2qH@fk?d_BCsE%>Cjs8rN4VKo@>Ez7X=Xq#3(AY;oDMqWo{)`ZGePowX{x -zJD`@O7aBo$^k7Es3$v-o0*X1~Yb1|)N`-kgAYpY#WE7Qu!usqoCY$5x1ZJsybR6Bw -zIvN11cy -zif~%C16ovbZ64f<6C873T~9&P^CUu_UPuMU$z0FDGvBl&ez4JKG#G?fDpLmh7*aoJ -z!OUsiMof>_{^n#BYx&k>-d@;GOkirAFGlA6an{Q!0NdG01ZZT-!Ejo^(!>If=^l^O -zjF0%_>9g&(FAol7h5h>JV=l2}G5vUdKV4{fo;Q2D2fL4VU+$-$!I}F{4`ea^e4mx8 -zuIwzKEBqOwFwkQfeB$o%mGCjBopXQ{x9k*TG&cI(sban&Gw1b`J73P;F#%J^fmT#c0a~1YR1mhN -z%@pw%EIgY?!>cvX*}E!1u$ -z2xAK+9!R-=xs1uc0rx3Fy(|lVANgw;)WI4v*rMUngt&BLzno@D)?`oU->;Zlkpj5It())7^0#%LYGhCYaE+=rP=X>@jIXH#>e= -zyTDMxFT!S))?^Jus2H5|Ih^Ic|HX_{O!4ozk+SlyI1T#pcZz25(xY`@UwdyA*6k0 -zfsyU$t2YNf@t!euf?HS485)mfo?h^!!14j+-YT!x@Er -zDm#^anU}gmMFl+V9%Zge&sWgEjJ%1u4|tqLYhQ`DAIPY<>8Tpwb5Zj2qCLMi)N3cY -zUR~B-DmkT%{3*|WyQIX}`00IH)JvP!wC80lxf!uB-Kf}ZUO7l)D;~q5;+^tnWjuA_ -zp^#@ig@d&PC(QnckLc&e)Tc4w#A=FFB(G21);HbdJ*}AerqkooB-R~sPPFsI^zbyb -z&rNrzPbV1eI{&l4FN*%9bN8I*(%4y`ss*NqEMsCl+0w={xEqZVN}XoisQ-j!1G%4r9*VSB%vjp>I*xJ4g{ -zV6}&S_AH~{EIU9!o6^m|w5N1pfy!F4fSENYthN}f1lt$Aj*_L#kkkPaD+kx9)qCPw -z6opB)=N;02p>^8HA7fHSqGuN^Jq(R4Yh95G%H3L4)7D;22)|HkU|`arXO}5yuQ{`7 -zqH;69<0{+XZfR_kou2BB-EgM6?DzYvknzE{Ew7qC+v+g|^PXw?5aiIP8OJc@`I9evSp9p;S*pw+>;v(yMRX!$J}ZtF1@f&*eyikn7U -z)DN68j@M42%c~E&sLs3Oc+}brS;rK2L)NH{yXcUww%Ef|QIxfl=!%{&jLUJ*qX=hm -zs|gW*1$N5`>H|`Wg(xs5mxPC@R~SCNN8P3=rMlK@WGT1XG0!&ck(RfRZWaani-vf| -z)5aQAAybj)^QiBrWFL}o_-nx%n@`%{XGSN}=bhrH*|FZsmEfGBXL`1Q;rV$nd^LRc -zCQ1J-N$(};eRc{-|LwTwZs)B|O1}WTT%})s$@)gGw}To@!+=pc7}Lpu;KkD)51;Hj -z-#IvZ^wYu9{W0wEi|xIA-a}X4tt36D{VAl&xF)!4E?xA@>Pb^e4&Z(B%o?he&@uY! -zBVC^ILn09c8FPlH)wJ_%!6N%Q-iiuGI*rW-np@@NKn71*$tAk+jh6&vCnaqy>h~yr -zbwl3k+wROT8F2LlvSy$C%4UrDkPJ=hMfSm!1^6byd^A7~AU7)rjO2Y+ciT90SZPOl -zO`KcpVcxtmfy@1o>iw~3uKa+6w2)a#a(#|rBz1W=NR9_0?xMSu3Tk_jTUAhA0F$>z -z?5;3%{<~ShI_G*)$-t%Ll)9`%!Ygcl)@XL`O(Wn`OZG?9qe~ZQFU)TZhm05JvPD% -zZ4&rwnIz(DysjLjFzi{lSp^BLY^Up!!ZrSN6ZCvR(FvYT7hS%o`)8W!}D -zz(V!HK7zf4b%bqEE5nTDo1otl#``=Q_4Irx@g$&}zYevod1AQeshwWbj3HpRWY?W@ -zkkpJ)K}6;btNa@&sk%3mr+<7B9MJme+fS*rtFOllv<3EM*=oeqdM*qkI~WdBPG|Ka -zvpi?1~s?k4r -zt)(RK<6pk|>Wy4|ocEg@ZC;F&XNjPBI%hyqsY3BQXwwOt41}+2K1)+xGrFr<47f?U -zrwxz>zY>z$(b96kKplz8P=YYeIl`Nd?^KI9EEFEN^<``PxH-q8?V|-L6o>qqI4NLNaEy6pK&}D{H1(OpS4t3C3Pp%wX`_W -z;SCz$dAR@ZG;7eho1vP`@l>TmO`K9nzGhEK*Ez>+ik@5}>*PkRvswNND{V{LoL?Mb -zJtd(=m(vW19`#Eq9k{+UCdMYFLNCnqL+(WJV$QnGNofcmubiDe^GT^h}60&FDoqpcW4 -z|NJ4KmVr8d+UWC(zK>|dd)ZQVn`566epy)#BrN-~k!oubcW}T=zOY0RLrBYyLqAri -zg*o^gv$e7|CGK>8z#F#mxxBF~>I3)5;sjrtcb)A6P^3 -zYgT7^8p(D1@ -zAq!ylomC25tF+4gP|*st3{fXk2pvJ~&M=qNJsUqnRjK0k1t`_>s3%;V?^8sda&sJk -zwNN-|(;z!LU<@b6E0J -z4ju)_?F$UwJcDF|Oyw36{%;2mZdcTifUW*EkH{~oLbHzz`Z2UvHEFy{>Z&VHY1WAC)A_#ei9 -zC!;xoHC)7sQ|ZRpANblQIS}$X@1(nHgj>%+f$O>xW2Zkt1M -z72?WVMQH+Q#53gYGplq(TRKm1g5Tz4@;O8XY@L{T7)?)|yk3G4>ham9vsy44$C+}Z61^O6~o>QjA=X?KHFCq*@jM4jIdTU6YCFa!t6 -z=;x)oOGoe69jHPrMhJ$p(lxEaP?qMI5Fa~m1wYn0wu9XQ?iFYOVim(NG1{3h#kc_^ -z@(_VxS!oJfy}M(;m+fRWFl%*mNRJ|=l`tC8pm0&sQ989W2Hd-^5CYY5Fk&xSGziWa -zIO5G108OUZnATHjlS;AVmgY=y}%U7yyuKw)`?3J>|Ld#oxJQ?NzlKcRiRNxQb<+T=Tk`MN!tJ$ -z$IZu#gDv@ukc@Wtl&?Lwgz-(|sM%`tD;(5T?lkMbo0qV80E4EWY=*bh25i&gqt -z?Yk5WFMBG{xm$G1tt93hP^CFGGI(viX^Cv`WYlh_)>GHWv8Eb-9GoUZx;R`;@MlFl -zFj1_s6x>i)CbT5xo4SqQU8Is^>V@z8gHZ4&tN6G=(xPgRmx;pB@>m8x?1&iTw0iu$ -zTEV^3uT)TzJXFC_&&T4k;!bfX#kAGlQi!V;>Vr^y#N?DS&h$}%&NN$U1Al4cLv4No -z*=Zd6F{jIxwStX*U=W9L=w7p@mDTO5Y(SFzrkU-`8;!vv^P-SEcS2o1tRzHbD-ndf -zs|gXkEvzJHMZW8xPoHxMR(g&P(1<)YHT*@x&MUngz(lVPH=OJ7%Tm$yo6(W1q|l?; -zN=9Xft)6ZV{#G93W*PstQBxiuWzlhNF@e}%rwC-GMamR^Po)hXWp+stj0c?%@oH!Q -zzkU3!SG?~aoR`j4fpbtGp4+@Zw&Pqga?C>RRu!%ee{;$-2d%S4g|W&*E^7RmF#w|) -z8_!NZdE7wx8d<>de!$am|X7QJ)3 -zWnab&?b&sIr3=RO4EiX(JY0(DbkAszZ5_F~HVEd9qh1U)Zgo7x9HkvTxxjwAw6)}F -z0#ZLU_~3DLr)3qZB>C$JkgodDM_?`qYZwPrY!@h;TPMz4(!!L%yOlki?hklo^@jwY -zK~CIXQvoGCm_(FRS;g$-9s4FERUG+t$FtDh#;i+!#~t(1*BQ{kIin<-{p2%^?vUD* -zjr$g|yA#C3s`pWqJGUgapl^9^6oo8%LE6aF_^Ao&Gw5f|8pXBSiV^!miv#B)Gr-s- -zgs4P)XT!qW3uClF&)tz#A>TUGl{4gAbc9ou8{x-hk5;>Xuzj%e`0&NkZS2$!;OC7EW53zf`m*gv -zJ;k^oSxOQ8M2jheP02g~Y`!_?WO$+X6!Rq9%f3tP=#vfZk%GGVJs -zu*$v}*l(IA+$}-ns8i@_OF0pXH>*avw4zLZlg)J(Uk;8Wbog3v5?|e=UULp|cf8@0 -z?6B#d#63&5=(5gO>Z{+gTyze-;904?I&@mfs3Px3M}rxqe@xOpv6%*8ojQBa;9UH& -zbV3pQu-yuft*oL;(=uW5R36ea6Zt;TX1y;x)@&3cIl>ac7ihBq`^B1QG;qiZV_Rf@ -zyAf(x?61Z3}T1i)mT7kXPPK%pu*h{&v;p6i#O(WGR0Y`mWh^sEwl -zn;8YDaieK2=(O$AI?&d2<8~H}@eCJ6)m!5^_QS+fUSu9Xr(T7~oO`Owc-PgyOYI_A -z9WLRkCxogrEGRNUlYKPQ%@G0&ddOOTzn+am+r#N-h`>wfC}<*l-YoB`yvt0V6VDg? -z7e75d4&zOmO=FZ3rp8qv_>#W1EMJBUNUlw{>{Mz-(0|oa6@#q#fO3l* -z$R}CHoB@)geU{zJ{GBp&X*<4ud-QNra-GN4Hq6vo3j1jp -z#Gbv~f2u84SH|-p88#P6s!^(a3?2YiI`c3{fHfHvB@N;ZjWdfofeL*x7kB4Mm_ww%thw%z)7aWqxLVBkf$|J$bD| -zgHlz!yIEyu;JlTDIIu`6Jh|8(aTaQi{uwJUn~UT2d_96HXx)y=(G{F(ZVM6B@WGLe -zS|kYwwTBWB#kAWf7}j1UI=MN4rJdw<uzxvR;~{JM!8 -zUh`?>TyW+SF8@cFc&Ck+X_AGDv8rm?lNh|&-N=|I?O%`ltYtiip>6m5GRhqx@DK6QzLlPR*~QGQv-! -z>lPTi+ZyPml6^ELn=0*rdfx$kon@E?qfah{E5c2M;Kgu0P(i;TU69@gv~El)dmdwi -zLoKECxN0WQy2gaLRPc`le*&B1s}Y -zUD+&wbg?{^593_8q3bRL=Sc^ZwGt~%9p+|cr3-&g!@SS_$#JgGGeY^j;QaTd;uAdo -z@=?X$_|!eHYSAIJPfz7n$G~_rPgE`9S1P0$f$C5PsZ+^Af2nAM$tPp~RPks+q}sL| -z;Z;kD^h%At;uZo`$ok|)$}m?}R6O{=Epx&$pL4O^=ol%<5S+#(S>`=U9z_3<)Sb^_ -z6&sFaidqQ~d+oNg5lW7@Rw@kBdJRueE1Mt30kzXtM-W`dSlkB=7=zrz0$SHO?9me4 -ze1?__(G3^lOPB=V{UWvI+nYV;Fke@XY7DSw%-u8~0 -zBWYT}%)@Pc?oML983czkE6O)TO>+^oO3urG8p*qgnT+0>SId{qsXz3(zVCEcGsIxT$Rf9S8S<=&P@yF)!^(j*S~>Pq3r -z`%QlQ&fm6_We(ro^lWAg42LgohwXoh9__w=xx<2B)YICZ@su@8rV|G~^NvLq<{oUC -z$wA&U!}E(q^eD{tnJnD~&vdu##LMD+!rakwI2S?3)xoUhw`Fh>GBVNt^n4I+G$me&m11JtGVegtte6j -z>?Px%cXjmq-=B=b9GZ)+7yt!3KL*xUH`B2=%6y*>hNEW3JHqN16#W1v!5nT>NFCIv -zAy#)r5JCOVapd0pMoB4YqgMnjciqpxv67Di<6?Wm=*t=yyGuyH)rl -zPh9t8E;#8)pVE_?3w$V&YotMRogZ{6o(oCY!?SjOfQS5X!>TD|*s-7Ll^15sVFoBG -ze<2w{YiKu6Fld*|253j;#I&*#mB?FxWyhp>(hL>?Q&peh!;?(6t6<07VW@)$y+2H} -z%<;Y-;=ykeMiiA%=_c6HF8^4LP-PKoSa8MaVy;!DWz$V11UpT$yEv+<2@8(dqG8?X -zG3A8YV|Z0NVcNNa+7(IuNMYuWfBEX)f7AK1Dig+c{V^QgVG{VU+u_wek@r*Jp+_Db -zpXU9;o-61pdB!o6uT>Vu@4#)en|X)JSNgzsB)51c^{h%93kp8&kCdKP8UaX=4Bj!2 -zWaLUINJxMFRfT#WMJ^cJW%{HzDE2#9)~{VXDTXh8kfGC@YgpoMp4jumzO>53f1!pG -z^ro?RGUiGH*X+OC-_gXIy(hJgPWmugGWQx+PpIy6^@L;ZJbxa;gAye73rb@5ZUn2Qe0qUybxMW?+(r%bh2pTy98Eh?XZ#8!6%_YjGz(kmywu) -zlLBoe1H#Qyt`UN_;b=g6`!Wuvl{w`;ITuovm`cTqR~2~H9Ku@P(Pc%yD~>MY43;hQ -z4OW|1)NOk{F)}a9oYriZVrX)W`G$VYYO|W>wXA5GwG|~QTJg279gM+cfBvyg6f4Po -zvs;dEcA@0kzLs;&$riPNl=?Am7Tvsd{nQqpRy%{nx8Kshv{pAD)`H#E<5o=>S=OeJ -zDo+^{^3=SpeACcdre0ZQPZO6cADuS&Wy?z(vxC!e?`3sRz4P7n!D(hEYKrJfsbC2= -zGmrIX+esv}d2(duWF9Mpe+=PtZ-CI||0qLrPG4F`@k{p*c+fm5Yij_^t3z^gdF9eP -zH=zxb&pO$M#70Cm*r$m;eTjN2H30jZr!>}!P|v082L&9y;OSHjDs44+O#sxJw3;$B -zM7I&c8(BLn@lDHD)-0HKd^+mA)B2fc_roh_zB6YDs_oSlKo!w+e*|1#o|P=fZq@jr -zWNlhpvOZl{_ROpRWud0Ku6$5w7M79a@(_(WSL#>Qk8B)=RtU)^xo1k>s1v+C6gcxj -zYE?RL=_*#{W~a6(*kz~ZsA)Z`R;eUEkV*qA)zeqEv&xp1-VdnmGR+;+#Abx1YcgwV -zB&ef_l2d#J%0lqoe_F!eY+U+SX+3x$BwL{Ydi8+!J)-EEZ_p{Fq5X(dy7*+)xZWeJ -zD<5s0S5DzD3EwU8mV}xj)B6q?(R-9TW -zH?E&fV_Y{&t1+aeH3rye)z^}3*8E2Ls@G5Lv#*}Io2A4rf4+Q6MRftOnNnK=Dn8P4 -z-o5+s^2*!O_u_r&L+DgJGfAb6xow&`jXs;CI`rsUf72){a|+RaF`5&pw;2Dgo@Sj+ -zA)h-)l0Q0y|A$j*8u>AcowQv!MF62|_$%Y>5`L)_6U+kV4YEU(Ig-BLtAlbg8@A;e -zK=zBax{HA{f6~_JywF;FsTXo@=z5Mf9Qoli>%A^46cLp7Pi5pl^TKu&REXOD6;u)GIzG0whIr|y#K`l-|{mR17UK><>f0ZVjAvW#8tEDD(t)_$i+upcSz%YF4ziN9Yy -z*!n7@9!UE}jNv4tN1cETtL&*)fqbLaa4cYoFEWFasU#3BfbxP;Y8gM@)c&f!Uw$cj -zqOB7de`H2SBbj23waaeFBKphz>FKB}i{6)VE9v)#ebw9lvfGqaJ@_)0bym6cGknH; -z>NnGzTXN-AH~TX0mR}q<+h2^fn*DdRFD7RyIlPCwU0Jp>`@j5C*~@=2Z+H0ai~fHh -z@8ACmc?bW6yjtG-|1j_0xBm6d%zEu~)O?@if6^r0AC%7-eW|ZP6af3FZ^GZ?wdMTy -zuqmDH{UJ2Q4j=xx)vsO2=?5)$&t`Q`y=wNi-ofF{a*CXpKZHE^I-5cAP-AufHg8Gx -zRwnyHk9DVx;EB2CDMFeJ-XtPc7p&VaEG`OkVt~+^z}^2zNzFf6Z4Rj*jF<++K%})b -ze=z|mq1NUF>J`1rav<+O533|K>W$@|&LLP< -zueeOwQDHqlkr63NLzd<^`d7UK)uZ_c2Uyd2aL(PSDA=mOAm0#xR`9P)#jWu4cke@w!i;Hzm|0wV6gQDJ-yiHGr471X?ldCVe -zpneHzsF6d -zRM@sVfU$acoaeO#OcHC|3X=?7`S6;b6Pci%isShJKS;A -zvPqWY;#o(jp=N}gF640jr)v8vf6_dL|7y-64+?$vMSzBJHe3RrT9ocra^(VqJzB2L -zMZjeujUa#`5#*w5DtA953!bvG=PQ``@HfXuB!9Qcvtx|mUlhaU7jXMjyKw<7sfQzj -zqA)yWw&@qm5p!pZ)1cH)gPGltp=qA402}wSR|g1x;JWC+0)&X|e3U3Oe@J&Ac*G3? -zXEZ}q;237Xu5Jb_Tky^^9sFr+g4`W&EOt>N&swqA0Z(pnRO)+$`>~7_JFo>HT4HXf -zc&To?J`PD2{L9|1(Y7Tt7Tw4Im6WK2!OQhf{w|VZCEJnq2e<9zu+)kTCm-+Cd9PO}1@#(BdmNZ>XOxLHRj0Be<8fI~qd4{IxGeo+^dR -zMqq#nh3=%hSC;X75d$4ILks+Qs=`5R21p-vRZ1Ch{gBS^yyfY;7lf1^Dlk@hYZL6vB2 -zsVmH7BY9|MO4U=jn^ewfYM5KE4n#1_SWm&kbS%vr6c|%*FFVe19EmL_pewXV3G6KN -zTCT6ProV?7lyDCb)$0(^Ew3xg*MbNA;~`^Wp}Cq3nqJ9d#jtBO!1@t`$yx*b_7c~d -zm5gQWZ@IhK{PumPf7$zLrZvDTecS8&+gA@CJeWBi4myW1&zC6nm)*QP{_?#nhrYC( -z(3i+IQA^6B44vTs|?ZPUu>RnL~^9Yfq(HfSZE)1p8! -ztT>{Ek$OV9Tm>npWF-&!_v{|@5o+N~w4Mhespr{{%vy#+f6Rv_t!DEup_etae@sHM -zel4vfv{0ZkhiME7V4_*J^kJFWS*N -zpc=4#ec3Ha+7LCGgOf(r?$+!zG76)Y!bK+aYTy+K@rXW(n`aEBJEoY{7y$JIP)S#k -zMOCP7M!?SSe=tMSZ$iTHlei?eyLDH4@$|;B#d%+%%{x$aqFP~LP?gy&NL$t-%bX{x -zetQC&)0CA6#o>7&f;4MNo`kY)OP^4+#xi}CU|^zEvOLa_<%5hGXT>|M0Qvo_)9fC# -znx8%N#Dm)JF5`IOD@-29B5P(fc~UhaU3D!eFNP+m64Iq-c;UwhOG*c~(vTz=L`VCV -z3+oaqfAhcW%SbD~FLQ3B%72B)n9LFDdG!Fp&pO8O7bZHKi#X1IK}D~A(pSrPvfyV8 -zc(8^BuQe>CR(aAL%is(DZLZ4ec{vuv`fcwWqfcEI4)&)kLTBg)PVz4D*#?E|r#C|K -zc|46((ODg=qIcdcMx};C2EspAFq7$_&fEXvGW8k`$(o4w6@X@kQtapR>UQ==#I}H -zOX)gU@EO5N=)^EtPM9GC}8(r&%0+in##slp`-MiCB&& -ze}uE$X(Qy8i%80v+s#asH|o99ug1AblD8~5RF7rtc7BWll6*MSItn4D(T*%!^lgN} -zf+F%U)o{lm^x`6m{M@R2lA8wd_cW|b_bFv?(c*d7sArUd7cae)rb9M#M5&M^rErdE -zu>>`DPv-9PKGv?0h+k<&Q7U}j$X&8ef7`b<+;3CRSqGyJf3!(kkwt;*T+cJ?WlQz+ -z32ReYn7XV(S{)+n_4`tvR29yHhgx0S%IM>#h1&=VleM;wWbVHRKaxfNds&c{Pl_Qb -zUVc0^k{bAcudAt`e<6UbZ_!OG=|k*a(7>NI2XJP4a0**PAuR}+Oc>=;tXWmKf9(!Y -z0Olw7BEi~Hpl)AQqVg!On5B?>7Uf%|Mll=kDZQ44vX}26le2~=OLP%{+9`m%oUDtp -zx7bmYW;g!@q({gVZoeGUGDMZ$WI_z3Sx@s^Cr?gDr;U(IpN6DGiq|7wOxQ8h!^gqS?^E*LS=PxAknZ@jR%yC4U0&dQNb$}&k8`dD7=RZ5kW{GB#(#m3=E|2 -zRyi>zArxdQZXJ8kaJO>Shuh|E8fh+__*i*On0O$SbuG?SBz5#&Q<5XsFlymhF5NP) -zQ+?MwYsSDFZ|EmCFJJzTe^=Wa?D6cE&Ahd%b?_3Z7RSxLPBE*w9RHv5m4u-f}DrvIPIoCQI>gR(8Xw`SubTZPSjIvdUvksmn -zBjVsORI24^ubL-$`7XqikVV=!3b!=Gbbxba5JLd$*VEpB4~Yl)HUsChG5Z`}Pf5R&yn?k&2=bm^up)WI|I;M?a3u? -zAPeY)SebJ~=%%g*DSJsbZqfu~V2Oi?9>{K1xUT%Hyan+3qrShuENCCO7ePqVgCi66 -z7jVNku}VT~7fLUx_ONLvj1>zvda&i|40(MnyQZ1u5*n{Rf9^3%`J8gl=v}VkZAL~B -z^?-${`P-=3IhJAGqP+b3I3gQr*+ic=R9ABA@56lSv^i+KmvU_JWM!+_ZM@id^0M~T -zKXK{bj|X`tTp{1#Z|~u4OwFEh>N;>(hHCJcMp{HJbw)+%bxJi_nVolJE!pWygJ^v9 -zO=HySs(=X}VGOE)ad`=a01+_zDqnj5j -zNwtIPk$a-uMTXCd^7;3(rY)V-a@$u^!G+3Iq_KT2fA>%GcG$1YgH}f#7_62f8T`dg -z6JvL{u1U^jVW3!v={PCit-3`qJdNuo=`C&s#Wl71q{urR-5KFA>R7>&v>91oQWjda -z6`V7g&V&M`cbGA%J>udKY3UIQp0d?EIaDH$xqE+fB(H6Yro(b5d*36z(CA3EJlm2j -zS=iW-e;x0rNnMWO#e$K`NRrYkAP^Kgn!N!9`fBs0>1CgvSKd&Z3%{iX2x{2;UB|-BB&D840;HBVA6sL -z&J&NY{5SnEJda7b)XP$T2~S)o*XL-Z@w#vs~THr;yud@!4ixXrAw+F=$cttP{<;0o0QFNw-}NK -z1#F8@DyFOpb%l`Nh@6E%8VePj$Dqy(PPaOr5uK41;mh0N^N{;5S -ze}KP@V;lm@LcAfBg5XV6PX)IwVlm3(jmYHIBQRF044cuWi9%u3u7m~Ok?c(p|KICX -zM(_}{1l(25RdIYi_w}qT7Rd`HxsjCPVK!m;;Su8yPl -zC|5B}f+VmGF8DWJNzmy22p|T+ZIiEQe>wG#ZaE~Q>Fgr0#5{E>cLUm+o@#WP=WZ25 -zWv*G}XtSH*3L3M`ny1jt&3?3>!dpJgMk)sgnQWdYE(h6T>- -z|KI=lzxSkpmY+9{QTaIV`fv~P{)hYbYxQ`Q1xNTpMD)aeON~nJ>Cfkle?gbMe_z|W -zEMJE<>Yq2p@_%+&el45j`d!S`WqGVv$&t(^vy>*X(Nl^uGbq%;%cR=b;`vOuB{S{$ -zZrdKx%NQ8%e(lp=&sQ?j#}_hbh4xOE?S8EhGeF>_Qm}HXBW=xc{4VA=4zW|Vo)v?4 -z-^q%UyU#ghIqPmwJ8u;f`{`C0e;r^=0cGl=pNpf~m7nF}+BN(=C~6D(8zj>YmA+Sr -zZ+-9n=M8BHS?lx0&~19}$M?A}#o$%u!)G<6!kw>BNp9+AkE(X-=aI}r!39b2*ki+B -z)w&Gk7&i0sS=VhpXWvOv{<1ti`}2dt+RVEw>wnRteEH@(SA}w)qK*Ife-?|v+R6pa -zYZ<`gY#w7Lb9hW=2E#u)~TYZ(R -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 -zZdx(hENA0p^j&UE8w -zuo2VM>chkoSn8Q|DFRTlr20`eiL6>r2vs3i?0;5cH^{tP1?(MBqLbY=eCIP=ntj+p -zOsks+rB$WD+<~q}?87jq0oIA`z)QVHp(CQY36E8+RWo77L67s;;g2Ip6#4e$yap}r -zu$9rlrojWkvN0@Vb4opg;c0W&XcbwB#7ed^%*YTMQ-46@Ssw70w)>QyXJd*))KI; -z!`(=5OZ}L~b>IhmpX*(lwQqK@er-J-z~wviJgC6|pXi&HalZW&O>zQ{8XhYNE8J^s -z0w}jx9fx^`1)|c3vBN*XI!M;b@Np=Kk$>utb?rDGd2QLL4j`R&XV7({F+)9(PS-tmpMCmhf01vYRrq_%gJ<_*`XnBQ+KD{tq|rq!bBrT510eVN%^ -zrQdOjRvZfHK;?}b9DgInSp>gjP%BCS^}eni_RTUfN2Ig`g<6k_0o{hp7|l3dmVef! -z>=e2krcpFdj*gmCE0u1T)aoJWpLH%EuVmJ^-nGGE!4mGz4<+cSPOQ8^Nb6&719)4~ -z!ql46UJUz&_k+Fa? -zUc-?-i~{wxf@pg)_CXPxh{@#;%e+*n{Y*Ei1Wsw110W3oEqpLrZ2EF$Hzl~BDXu7? -z_%4-;qo{OES#j=&_TfeyG&$DYZc9dD;#o`g3Jk@Uh5-{R5Xaq?3If6CMF>mwf^g7y-AJ -zmI4z!e@%yEHxsPQSa5#Kz|(h$h`hG?m~$j-rEdfzggn*hC}gF&ue=U=-Dm&}qj^iH -zl{j-kO!(JJ#C3aIjg283^A+=j -z^qkSE4S%EiMD=E3A-q=_!`2l8-n^vBWe8)BK9U&FhodAv6GgepcRRai1a|VX6MT|j -ziyTm_v86svCuX5FOQ|2jW7oo{i5h*+vVFn)^BqT -z%CwKc*d&lF=0$7&aa0AB%Z?@imKGediEz>Bq?0S4Q%(S6#) -zT5`7+R$+crdl#&%S2;aP_eyi%OPhHCmrex}LIJjykp&YXe?BqkxH`H9nwyKKJt`?D -zw&u8xyek(Fb20txr_$)g -z1KFK&b+D2UK@KC87ecm$qkA@_~%`!)bxh&B;=Wf7aERNEVK-*=T{l6v(2N@3-EeI}Wn! -z7k;qd0RVk-)agV=hEb464?Q?LLwttmZgAMM5R&@Iu6Lg|`%iMLJ0E4M@1|~oq@pHy4f<{Og|y#GyadTjU39(Zse?inY4lb;HAh*aYAupAtDH107-H!RldRWoBE7+YRU -zh^(`yXz9USSRv}VaRsT@MX&Pkj{(|ge=|CLh^FD|wwugAyB9xWwYh%@9J)!^?=|}+ -z9KzfnL_-0rbhtx<9-h8q3`j#VL@?GnRRbFHy$^DnI}G00f_w~7?R`b<^dwN~Nr{xl -zvbCpFLfi75Z+q{X@CG7%Ks{*A0{zhz$s~RC$=$b35DN8^us;Nik+kNO&Ic1(677TFb2cBJz -zWadFd?SNI1yDoUq<*dyA6VPySWA_MxdL`8x2wavhmYh5N1@&_iM;DOXPj_EO>+BWzjM -z$2sV}1uutu`EvLzK1fjx$7jd?pS5>wj^jAeMq!I2?)MAt -z(&%EF^hzU(T6=B1miK@ZX~8B5E&*E7xx~Z((;&v2o}QhaAppPeMr_3Se;w!R{;>Te -zZ$3|ER#o>5WXXFNK}_XS)!o(Ab;-)g%REuzD!ETe^wCHw7pZPX^RF)kr&*tz?~|cw -z8(+wS*aNTe=QI0#AiWL07^+-&d5Y_Go+TM@aCM)76N=;mkc;Ln;Y7DM@r+@EX?kV} -zKAD!Q&J>obo)qTu;7wa^f26wmn=$?H!X?!2fX})jf4-DKfZ(t35DEA3y_M81_$)&~ -zaz5c8;+6r=3I?#_W<|JG?g4LGo+$w7U@*sS(y{jt#UiL~km77}l{P){q4sPH>XDyR -zsUKu;sTVl;5*qSXei5*cI#8yF)Zs~u6AVR*_>pkl_^#(3=BcJ{vk@}lSGpCjeW-Tl-7>0et%p3i -zPePL~=M{+p?ijowe{+S<%1yXKww+SR=S}2d`wb_j)AGXnDxJSf6n15W>4A6Mo92L* -zFn7S2s=}*GY7ww21#Koo@NFxNT|T7KV_=WuvTKa{y$^KjOQ&8!Jm|>~l@K<0^cjxKW{t4MEa?dfJ2J -zi>n798E$$ue}9L?so!CtmR5J!iy@D(q)xgYTVy_^E8nKXck)@Oah=?2(GU_FB&w>-D+va-qMM|H -zzeklWe=RAo^_(YVL4#@+Njrsy8H6ZIP21d4NK7EPmK=vrd8{{ -zmAtMs9_YVi{cyq8j6#UL(Q3tiAvJNTfHSmy8fTZec)9&y^~h`~PtOBa^IG6`&vwmm -zr?P>UI1UpXf9Lr_JVMFxM5ZHE2Kf?iUiiKjY=1B0L5x8+zR!~#@KZHUe_LaM0w3!&S96VdDL=2l1LKF) -zk>)5E*}5cCLvDUOVir|ing-`6E;d@slT($s+#hlmsSf65+hPAvT@cw6bR}1zfSH`) -zCi2}?!vlHe(jfA87v2Ri#w6`(QnuR{M4b;pP$2}Tz7UU|SG)Nr(%e#E3YaIwm1rp> -zu|#a-e-p|pTG%%tL4SqU9ky-r$_z~|=hiWBa8_!yL56DG$P>TD+;jOFdNrraX)8~5 -z2w}Baub?#Bd^fLbB|JdQuKB%2RaCh~XO#Io=-TY$zUQrOi5CKnlQpE{y03Rj-%}4? -z%vCN)J1BJXSz+BhImy@D$g3+$?E6c3>SOp?f3BKQ(yxLtgQZORW3RiICyoQ919c%Z -zlE05KmHMIy8BZ|jBRhcb&H0+XjzQcaxW4F0Na~44Li41L*xzUgZgUD -zVY!;?>KRr|02Sl!Wdh-Zc!8v!Z$6{9T=;#{!}Wv}PbQ(OIh)}cf4-E<@QWSzu-oC* -ze;#x=LlwR|(X5;UO_7JDz~ipwkvG>MBsrX_e_acK3niva=4f9F(S5cE9u~Ct36k0! -zqJEMdZ?QqVObt}zTN2X^688=H2*ZZC -znWy`l-SZ5hVLb!dnaEQ7-F#{|_Hfioy -zH(mI!_AiAb7M_JX#<`dD$w|;h4z0c4>lpv1j2fOSSYQsN@r9hC@3>^RuN6Xt(au{? -z(T?BbdcJRMpln6*0r&e=Yc;6vSB{&*;&6RBjzh~zMn#Ki-wyf{;mv-(W&?MFPe42Kfm%+QL`iVAMB9T|C -zLr)w{kY`JoH(fS~r>aA(^OR5R8?MxygC5Unz+50P#=e|VYEUWQ@- -z1PieE@Ozjzgbo(YAsx0rD(Sf*IXIVa2icgi%DA#Cvp285^amf3yDA+(Et2qe8!2TH -zV*zX;OvP!Hfd@RFL -z$rnDB?U(plSr@PS3AU=0J-5?pNEs~Suoyfq^yuzdt|3%!=TVqD;U-~LGqI^bLKf2y -z(IdC$*i0xZpa~6DVg#a=>NjFJ21>O=RTFpB&>(PJs{uGRRKyS5f0YWB1u-l}$g^eO -zmXUwy4&jR+I!fo_DtR&;*(s<>5=!1qILpFBb}!ltg)}dT3phO~XMUF36&0;O+4L4e -zu8un1@#rbV-0VH%DZjZMfZ(}0lrd{7G=iPiLi)JjRKnsdJEr`4B*DDKE5cL(nU`ZW -zN{n%vf?_1B<)N`;f3KrjX|?7HPth}WW04)>ycZVYJJWHS4MHt2mr$r;EgPPxnsxdX -zL->-BwS|IrvolCypGf1$9?b1RSM%V)&W!>DxHv3c%l?I%b2^=#=MQ%-E0P?9sTD>e -zLPzDr)e8CLhj^XT3AVd -zm)vNO){w&UQJ-r)B!k?1H9#g&+RWYVv%=O_!Gx`^W*Bz`HgR7)o9L+s{o=D;<%p*4 -z>@_$f1{WO8j<$0>VyX%3Hx0&O7|O0jW>oKfD+0cY3x!u=o~a-QI&s>@PJy^KQAsnC8PR*g?37QdDn6>WtqKlEp0yWCDW5^IOb -z`N({iTon@^f46{V3BJE{7!GzO5^=u*CddpPh&Dn}cJQZqm$f|cM`WIk95F*AHgIu% -z@wngdV|CKWX%cBazPpx_2bS*;?UvRwttu6{9+4!$kCyT@miT(^TI)g9vP$UHAON!h -z^gBf^&GfQ;R<}i%%U>QJ7C3flJT^whGR%Z)jcZsDpOrpO?>D_R%f%}og2cjqMY -zc`*7}4oQu@mshyG?Ftz<>&*&m!my1B=mNDAD_JJ1soSG6HvCXrk9t+2x*q66iYHKp -zBQ@Ioe}$>`7Gm%Tvl-U-#GT@edR}y}-&v--_4)Lsq1& -zCUa9Ua(;`qtsrXAARyL}UKhS_l;Gl?teKeeReNtUN|gh==5WV{{%Syi?ABKcs_i%t -zz0ZVrv}`3f9p~=JlgjDgL-9av(GqMkCwR2CW<=a;&*jcMYAWa9*2@fM!67*0S`GMe -z=EE9NIi_|Kz73a67ZVwOEa)#!)}+H11*cu#qq&b7;Hg6;^dCuoWoOjV>&N}64oB}G -zr=rceck(>L-l0ul+l;Ft1VL~S$4bH>FyVe#)KgijpNDAg}NY#)WCYg-`%i?SwvO=VcQ&PzDwRzXm-YX}(_ -zyAJO}m{XhMTM<7j29D0>K~Z`+Bwwn$KRJQ8l4G&DgTIrZtZlWCK5*LZV9iyzKDr43 -z+ENm^3qqqH8<;MykI$G@q?`A6TvH4lX0)3u3&PDywbbi -zYa+v}(9O?_V%1e~)zDycwPS$H=+U;OW7R*a`&3=7Mv7C?%s(KnCTYBWqOR|7M-5#; -zf&~mqVu;dR%hEn8P#BDQaT=aCJVr0BjMaHUlxQq}Xp*8-Ho}?ui!|#E15^aJMl!Xg -zp3T*u6Q3Z_l}rwf*YcVzifl2=#s)ub3?;MXo9+OIeLT@cAuL>r{IS_ko{>ZwmD$~! -zr<#%Ii>_EWb>|c1u6Wo&9)xg~)(K}duZcYt^F$$OH6i>B1n?8ywUlE1CXt|%{gj@> -z=W`c-px6zOv?pB4b%P+&{@?M3u~RGIX0I)5+(vFnuE|X{9g|r)NcOJf?&^%cHVCdq3VU0+3^#6?8S41=t`fBgF*)yIwyK>U -zK+ZmlH(Jn48g$#UgGsl!8OTFUP)|)LjUs7(Na_M7iUfQoV64{-O+b?XLzJ$$Roizl -zPgH-E7?+P!NT9?Y$B2o7#}$LUezaI!BtmE4*tCIQ#TS^=5j)59fac)`8X}2B&3bSh -zN#Vg0-_morhF17YGsnk}%ek!Q7ZcDW`mkt#3rZRJ8+Kgs?C}w`h0#qc83VM><#w`v -zhd!mL-QkeF8dK6IWQDlPa~-gGN4boRk5c8$&^s3M7{gcZBZRVQA*3(R5htGYkPPDF -z1D&l`FtZtU$kdf$EQz|;udO8SrTcQg@Cs<@nu2J|90E1I -zFHWR*eX{ -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 -zQ9)~nbf1Y1vwcoQy+440>LkD=b-%-V1D-%pL -zj1Fh6?^bCu;&`HpZo|>coy+p!pz`voRlRU#yP9t==8c)cyxoVBxch#J`iZ~1ypTnY -z*&jYPsl3$>-$WLJB7PYCiOkGCAef9XVsvb>q1t{M5hgT6@A)xbN_rIMi6uECQ$ -zq!OQOPEqMv>qStVbtTWu2*r3`YY{XzvfBw#lq0{o2D`#+4fYq?N#J1?AGcY-?TK3z -z&~-qQnwe*S^(unL-;NOE(tc*Aa_^+P*Q)}>=cu)3kN_84rTojSD(RN}rRDRMe-v&P -z<~##O_7{9aHAuP)rhel6LtDY=@R+p(WW!YM^fDV{?NJRv8&s}SGrY8r9XF*=sdiUe -zDHLjf9z^px=Hq0tYC^ebXvKzlt}rL`tPE4ZQ}Ti%_DD-(J-2CmJEDh0klf4Kl)x3= -zf*Wa$-DFX)x9zU_cU~?k@z!@Lf88*Z!S;lWJ%lMbeGJbnm#_#aCq2o|F&6!Kbt{r5Vf9+?WVZaaw -z>Z5^*su}6M^sBFVDjoC|#MEb#`J$h!E;M@EDryUr*bi- -zIZec)K@Sy*(OU6A@2}6&e`c)`r+~G>!z+jLzM>j%Ia#V|xULHuhM$k(UAF_4#)RM( -z<}!)NKvQu9Z#b0r;jdvD6(wNidm!8^Ow)X;1S*E?BSfrTY}pkDb()HgOQx;ufTbF& -z>`a8I+LVY`mqG@EAUjo!GZ$*3);Jm-J-kP7)z`~GKr{=K>X{JpuqX76ThWd;1eQL~YG9<||w&E~=tKbWtXk+MZe)->t} -zOVig6(mNRC#huo056 -z->#6cJ>+A6W*ah -zU$;yDfX@7_e|pGAZ)q92bep9wx`0K{Y$WHA)-U*O(U0-ME4n3m+54B~dxWi-dw;hG -z1S6R5H&AkbNZ_!B)Sx?C6)ahf6V#*j?j))UNhd=02{^T}weHJ+qqYx7jV6ut0`mt$ -z7^+iH^DktNUrhGmye`?8uPLcb%MP-dA~N>)o^^$wf0d#V0g7+Pc*T^@B;PECEB0&3 -zdhRo}hUa?gIPG?gGJC-KVV*yXuDKGD8dYGCw9H(4Ik!8AUTi*tzd*arTV%HF!05DZdqxkI$u- -zKcRmxe{4HER+fHe7k!{BRdZDOfp1xfu7z*uK=^hmiiOa~Yf589vpO#+g3ukxTUP^6 -zCLi<}OmyI2nbSYMY+&n+4op4X2HjU@+W0hbnf1tDXhn4@MRyLUqmt5&imWGyEfXsa -z8NE}bF}MfD?WTC(t`~uynU*ao<(9}ngHAA2fB8$!srGL>qRzGrpQsV!dAdj{&c&J>fE>zV5Qdr?OpoA1i6&u{s4tMc8VFK -zcpD|-$ThPZx)tQVGA|t!!u$kh$lyg^e?Ws!dO;Gi1iirGf#9oKGO~Y*#7uI_vW$Fz -z_tG^d6+kGG3LvMZRBBb&)eOQTRkmiQ=u;KmW4V%lPUJCx#8d;NGUQR3Yvqf?l? -z_q~t@AF)%$(JY0a8Cj%Y$+8*Kaf3Dme1NWFp&_brS7$mp|-AefT$CZ$$v -zWZbRp4)pq(1G$C7LzPT$b*JcFe_LkJm3TW^g$AC7k+b6ZqEh%3OPK2>)^v(fWQ;&_ -zcnn)DjKEDpDhv9SfmK&)`jGgsR*epN`quyy+WztzAF`o9Zd3R(k#6SlBw_t2<1K}(><)G}=luX|qUJrRS;oiF;Bkmj0e|dj1rE*b67!qabmz7AkcJ-o|Twe^;^Ip;$v=x^u5!g;rVM~nfLnMSElaA?; -z-gxKGVN5Q)nqu_Fm;%b;RIZCtTHETE^QE)A -z3fucv{iE8!2*FeJ{u6j`f2k3C%yH?^xOTXWS)cBxbaX;Sy`tU7MX*C$`OQhFU -z(qt)|G(!-U7&AyfxU%wTPKLjEe+t?j$)u@Sm40)}QD0UQPUii3-b8m#icmn4y2(yv -zq`K> -z4bV>*9?1g&N>?9bDpatEXaRtS=|DOi>hl1Ujbq-+_E}g$)@#5Myb2)W4QQ{mQ%B4q -zauN7JMixb@VAbIhf9Y_GNsHq(r^y2P4)T3lgW+Fk&AnAfWpi0Ea9oT4z%=XItfTa& -zSm=Ar++!55MyJTi21HZGdf?G$H#pffpfLVg_SH?9S{aJD^Z4J#?Otit->q`g>2;4} -zYonPSEUuP4TR`k4o56p9655e0s4_;{rA%?nzm{dz9GH?qfAb-;9x>}rk`rV4;X?RR -zYLAD-uuZ2o? -z4P5&go6SER96Xk9l0?C|UR)C5d9A2NcwTkH`P+RrT}BOQck{VPPjJ;0HeFf8uJ6ya@9FVH|qhGRJ*~?OdH% -z&NH1sDtA33pI2QGTpOrDN9(=o1#gc_YVQ6PGWCJ{Py!%I!vsDWYbbdKI#PL(Dke@r7zZ?Cw)GXBTZ^9sjwY-2kZ0Vzyf;H$G8zsB}3{r -ze>`TObj7+! -zrIfD~cEeTAbD8sc0D{Hx?Ep>DNw^g=CzJ)eRwn(sQ6Vem=9L_FkClN-EcIk|qe^SI -zl7R88oir)=nvpX2MvN;ODlmCGcHMIJf8b_=TIJS0Ub85J5BH7YcSoYo-|rWs@_u4* -z*E6Qe$h|eE$&_zY^Af@EmgR7^4v$(2D4jexWt|*56%7-wK{!wlB5x$sh*cOe%em=bJq@2h5?8KW|P|ZNelChZ(!NF={3iv?n1B}(4e^%o2 -zN(t|e>DEjp4HxY3RV{s3>?gPDYH#emejI&GHAl;d#q(6{<;SR>R&o` -zB>ce$(ZbAEUaLLsbc>d(M$OE;6W{c*ouk)H3M*Ui0tkiq+iBL@LPkcb4V|A>@pf3f -z?(F0^$@+z7$wQk*qo!Cr{a4WUV583zR9cyjhH1x2)>b8oRH=wsp;kj868Jf6l1>+P3+A -zqJ(nCGe4h}XYT1*N6|ms)ThWR^jiZJbXHqEIEO@!2t|IK7J=(W?TZkVWW&~o)=I6S -z-|F_IXGoK_ju{8y=EP+f2A$D^GftnAS>y7k$wqsxo()&h3~10S5kR*3S}1VbK56Oz -z8Wb{@UsPYqOVEQN9N(URf06rmvIy+;n=&07XD!*=%J^>Q1KWuItX{gK!5nSeW*Pu* -zvSwZkuh7c7$Cuyeh;rhx#TTviytLSfY-07HaWbiwDY21zi`dAS)vP+8D`lb9Q?%X| -z-NEH`dkfhTzpH%ZnRn~OWMq}6a;Kqs)SdY9Cq<`q%-9W$$t<*Xe@74XTEBi>9WmyI -z7GH1juE?MV**F8IS*K^y?^Vi{XQDNv?;?a#3vYOA&h#ewknq!4dzg-|k0y%9z1DERX+^l_N=v*2Yaf=(70dO_{DRTgS1()IjNsQQ -zBqJdhLZt<1l~0OM`xCgxm)jauGJ2nE7U4X0Ak*2E0d*J#G-8w45SDuzDP89M?c=N!1#p-yBw~*E=k5S<#b577l(}fBpm;l@J_RHf9NIu4)CMpL+gE -z4WK&y<%cYaV-el+A?|vBpnT$S7#s>7rEwqCsIl{9p>>NP?SQDsi~Oe`w;OJj)4=Uv;bu+l*q{m=1;p%&J{Au@1 -zrsp)@e^Y?xa4wz=1^9~cI#R1!_`BQb1hEWaINO_TGB22Dslnq0LD)R^NBbx04QW9! -zdPL+!bt9rhfONNvQ&tf85YlTQjg~Qm))-NZ^QNZ4xo5QNLd%z<6xgW&{(!p!Y8>H^ -zX4-4bBm02d;ue#&xYXz@Q3PL{%}30wzMQokMn;SmO13R@zC@!2{F -z3Sddj(DeD=(og6hwTnv#jmKlPD?=ngJxrJ*jJExmr}i+CQd0r-0?_V&jg-z~#eBl8 -z1chgqc}cj69iiq@|-(E`zGAdQs{N>DVRUekx5D -zx)+Y#H@tvbr{J*MF!Tk}crfHef8?%q40|jD!K|v2IL-00jXF;@WvfO5O-;oQJ`l^W$Y!Slw@rN2mJXR~>qxf5()3?Q@1v -zjAxj$is^SdhtJ##W!2aj&M)+$i%;5eTd<0Bv$h#Ac)u_^I|ZY^TTCH>d}+7Xjdv)9 -ze3SDFeaFZBj$N&^@(s%gQoEoSe#urjzaVQU<6z7s@Q>0Pdp%>3EYeQZeakxoM06dD -zk9yr>X+8eRc$n7|_|^50f0Vrf4rDsA91=Q^DXe=Qy!_xB)9bv9rX)YYcBhhXRyJS% -zOqTIq?#ty=HgP$Q?2Wqx4m5e21 -zggAYxpi)kBk%0DmJgYoaPK)<533KIs+nND)At}5G80-nAZ3o|hf1`J4Yo)whe&mVZ|H~)-AMC!MC(@mu^;e7~ju%l)?U!9LG^Oq&5n&#@y -zeSnC1szPNO9$5mje<4kYSmFi%J$wz9=`-h5k%vl%AsL^(6fo>S-x-|W7v}W*KJ2Y} -zGR;ASD1&kfjIQqe3faHDESnyTe1mSRnYuS~<==%To4IPL&irAJg>5GF -zwAqe1Fsa;{gx&OUW|MjJ;KN-mBf%@(1DxCS`>_cP4YJkjR~Fcw3?OaU|ErI{|z;d*43Svavo2)0ogVWe`mH>fonwv+;PWe?mgHZ!B?W? -z?-FA^np-V>ZS$WsAEQCCIIKBmZg~nj95@)lds&ge1U(eNvamkW4H5v8PzB{!Im}2~hc~6ykdnQ94{ahgo>7G6jn~=S}?7HaKugBU@ -z5T>yq!Lxk&Loa%so$-QyntB0`?I-X4i@#Uc@5-<8O!lSYTzlYi#$hr2DE7epm+(jv -z7=IfV43)$|!y({Yzkh8$?q%s4C*Cw@rSKc@kXyS5lTYp5dWC)N1w-(h)tI)0I|6@E -zri^dFcpz(@3ZIrwl5H`2)~$qi)u&W%IF^Or$h*45*w8*=gb6)adyNv$r+7!^1hbwZ -z`iiX7tI^4CwH1(JPuxf;yvDKhYBhDZ&VQt8EoSMb;zLz7XZ-uMp|;kF{>JFypf7gI -zi~g|&qQ6xG(#4CfePQBC3^Q=9vXV$5=M%8yyfMsVeLQCDP;|qf365v00h2LX%SPMO -zvS=iyEHCSwWzFc=Uv3x@`qi$t{!Tr|@Vh}gV-lM~^Q56cldlcw=MCQnzs+6&U4MCX -zlV*^|X#2U+VIRqf@`U=bZtSn&Q?#7&bGMaG=beM%XB$Inm3C)@WR`c;0~N& -zMAS6JU{iRL&ZIVBSTD819FN-A>G4kBBKSBYgkzy+7ggxi$k$tz_wXVSd0+?=jU{(S -z=sgPhHekg7RE~S3gw{QhUlN=p-hZh9rPqn0aL01%LFE^RiI;?%3E>VN&ER!2$tt~8 -z+jY>kZ!XemQKt0{cJFiT;WfDtSY_t{g4>JU{Z$myWKd(7znbE;ehROo?l9iBDUGaHU9XKBKW=x9!b~dzP -zgd38Q!>n|>np0`x#;GlY*L3TM!AnychF|JX3G|Bwo(>eT8HaYtLkT2KCGlY{J@~OK -znOjyv^6RWOP?o^}U4I{Ts`Q@wo48TMU-eI@e2N1F%Yl`rE<1j&i5%{4!MtzPb2w$~ -zOhaWM+Mb4U>!mQ)>At$evNn>dmORDz$X+~7Ik##6V%;hOPD4SiuyfZIGEOeUcTs1p1>t5-JP=CmLN@>!e#UaJWpG5DCPP^rO -zR9Nj2;oESi$8^HAVx1a1&H8E*K~{~fT$lCNRL}8X#z93xFcCPUg%~UqFTgZrXnb=L -z8VB>?g~i*xX>jV?%N(_?SeCYV8E&UxFq25ESSk^f@`%w+g`o6Y>PbIWC8BCduYjJ$ -zgs0Rs#eXUKK}Y72SVivLS3i-A|M3Q3)517y%gfk&U1AJ-&SCM5 -ztPgf!MN}$fxF=OP@9fYcpjskE(>8$aZDV@{#dPcsRudXFh%zrhz#w -zEk-u3R%9_0>5oDSfS_<7G!l>l0A4TOvaeTZdPJ^5+LZo9($KyBxV>_}pB|SfWX@9y#5|E*zg`?X8Lxj>8RPC+gEp#a-U#o>1b(8o(2}W&&R+J!Z~N}UK^km(su -z;=g51QRSe@L{|VpAE7xU5!?Gxc4C3$RJB0wVGePiE<{@SD9ytZ&&r}FGVFm#E^d)j -zyU=*?1v;$B_cv+)p0!oO -z^yUkuG5@m5T^Q5m5@U}YmIiazEfM!j2WsH7?HQd;WLqijRoFZoebGR@Wq)&xzaN5s -zVz#c}6<j(pKj51x&C;r?kJDkxd^CbNdwC+cPtOZCuL@CF9} -zORDQwqbjkE_#ucEDwy+Xh86-ZS{jRq-$(RK9n*pBT~f>}uosnT9n)-jsAh`W`kU-~ -zA?svYPr@m0i)@a$jhL?I^M5RRP18|B%5(XkB~9Cyp4XN#v4tf~Y_X{TC60lWTvE_Z -z>E#Va!;4Sa5FX(vLQs%|0pMwOzk7pF8UWgJ^g^nmqIt$TMxgcewQ2L>v7DJy%Vyaq -zSG6|MG}SRHknW&+(Wwg^EKyD!94yHq#_4mBKei?K=@7@5bhFEIrhlSIH*+C`mD~_e -zF=}=$`t7`X+@cY@Y1Vq4doUpYH+!&DdRt&y>p*IHcbs)QGw+2gbD|NVUba+uc2Np= -ztXCPyFav~!Td-z0f@*>^a$&|Ib~pNv8IO+nfJ%-($Hjp=u|P3uQ~R+s9`@2($|hAh -zX45q#Z%d9pU0*XXe}7pU7HSt1^xm!vrE#Qre5pG -zGgB`bqTj*UGXEsX<{PqpGJJsUZD0h2<(>6KV -zLD6H+xFgtE`=WG(=Zb%YnVphtPF>=M+3T)*f!a#&$A6H!ZN-4cox~l(S -z!N9pFfwy7yv-SWbK&zBbm7NqhEbLGWp9KauLzP+LLVlL@I*P8QwlAs{QE_wc77FjO -z2xgv|3x9cQ_a*4_m!sjBGt6d6d6!yELA=9u3WUuvUR7W$?E1O3tF+%vYV>_!0_E*3 -zRq1Q%js|bX(j^T_%){hj?q{ll;<}+S7W@-y6&K4S4&iE93qiP0{;@rVSnvC_V#sFQ;{tu*izRX=>~uMo6If2 -zdFW=jS01)s+ouczg}RHO8OoWfK5U~!Pq_C=sV;Za%_jyGCTY6p$9%ts;Yh;=?yvEF -z`ZmkuzQ%>YMpEYY(kATK)OhX-=*(`F|2FPIFjINYl@fBY$Jiy2zAf~LYL@G_iQeqd -zPJb_LN)GGHrbFoy*UEZ5@0QT*?{x?6ZLr!{H<2BJ45*i{Fby5p4qIBW?VoeKgt=7Z -zO?FBZ{@7FzHqci~O3YSEEJw-QAV8K67+F$JJ8zaAo}G1mNIg@XFK&e_eSVs^S#pZx -zf)qk;E-5IzVt0Unn7EM)K4xd$6Zpb>y?<-W#lvDiPR61KzF#R2?~!;cyO9);%{C+! -z#_A>)^GbSyY0Kv0{IJlIl$pl&6k+d0n^a2h@myiherNK*;#9v`132HWlPfKL!Nh`Tp5?}eD_Hp+C+>&moQ2F0l4T&uJw13H+!dm4zrV1EMu -zyAFHotx`K}WO%sPs-|8k3=jPF$s{Ey`A)FrkU0s2w7~v}yq>Z`}d|6aeq5D*@EA$7U<vwUBgzMY7{z=l65hOv29kS$%R -zdu;kwpred$jifH9D&65L)r1KL8` -zZszjZpLq&yNslu`6}v}0c!Ap&n3r4yTB9r!euVhw^QQUM7d0WxP)IV<$2gjM8k6ND)!l -zqO1nWv`j-aJHGi^c0_d)H-7_(OU#++HGoiH)ZehR*;d*W^M|GevQa|)Vt-f(K~x5l -z1Gx(htyFUR)c{onZIk=9QZFgl3vo1MFinGl_sC_oxF|zK$Ke%T-pBFn3&=pvRHnP*jhbzZ<`ZCL?xtRro#BxTC2qY)ZTk*w3D -zWpEy^d0nuC-LsXqUw^l{$80(U22{`T>~eVA;!LyUfJ(PodW7pwRxdiZuhbcwC?02y -z=hYstG?B-mC5T?501DeG{+iehGU$y8q7vx2;Jjp~%(6GK1Ab96oL(|qsaa4*?IG&I -zgv#`RtJ1_=>7F5_B3Qc7Zuqsc6q`;6ncBuyN=1_xM@});hef*skHEVnJa(hs^xbA=3F${ULb%EZyaVd1?DY_# -z(q1rBb!y00(rno@Kd!0c7p%YUyBCjJyN@0{e){<3 -z{qU;T=nt9Rng(cJx%JByHB6q -z$A?w7H)x@eol*vk^YsLD6M!;vu3kQw+4wAaN>*+(D>fvI1HTs2CX2sj%1E2~>strq -zB4Urj(?G-Mgeqw8#LyU6R= -zd7ta~|BpuZb)Om$R@I<@w_PDau$B#w?WFjVc}7>l*{cQn68_1uW*uwE_kU|Alo -z5tH?p`F~M+fX%6z0f)%n7+H#Z)m0nmlacz0pn6>>PZk~TGDidqUZn~L&-hgsPLU}`oP#nl8IH1ls^!K%u{@%++B=de@5zqhq&b -z!$k@3L_Qzw`TArqXtCkV+`?8Ee0;8145vEOR|c(~s7aY;X1!alJ4iZ*isxRKkG!3L -zsP3VUNlEq|SksjVbiIc~!)Na2x2urMzl7%$_IE@|y)Elo -zh4_Do%aP(4yOBCG-%6?41b4ffjCd5f{biXNw6~lVE9uTO^rabB%zXNNxoWHm#-!{X -z+voYkvEQc~6lcP4Dghbfk5;(?id~C*{0HB}m -z1F%sB-r6Dxel7f@Y!e1P6n`E|#AcoH^)_O;7ao#gCt{GK@7i%BC-1CJgggQ5wotp9ufam81A?tSbMk<47f;+ -zm9J!l2Aem9eVCpd*ociJ`;Wsm)dzoXCs-7~7>|E5$#m(4WnE9R7_!M8vQ^7aJ;SvG -z)q%$j4ga0&C(ef9YB;u1&yemza?w!LE(Fob-kJ>sDTJqi7yxhhI6ulDhdyi{so@Z@ -z!RUe?)ceCuOh4)l5mtwnPl4TI!B%TV* -zaJ9|cTTy9NAKMD{#%1?y7TKliDa?2T#ye^GZro_-Y5KasNrSvcsBVc>hP&D|TEHR} -zqX$`UdcX)4BS9J1NdNA;@X6M&t{v73Fp`*e@m40(u7h5qq% -zyX3OT4<|%2k?6|{_N04`5Aip2UKG$ZD3@- -zRP&^c-UFLAzPPNyy3Og$Pk`;0526Uu%EW5`ocA0S>bz15g8< -z>;m=h!WChz0#<>+UZ9ghlid_W5cdYuNL;l^~NTxt`eTB!>&Ip)yz78>NReitPPrz+^S}Tc!e~TI{2>0J$hAUZo*#lB>dSxE>%j -zZ+zrt$Vj*hGy@cAI98`<)XWp64dj9*yLN&kX*iZ=idI;>6)fJCEny9{V&uV~eM}ec -zrMhp3>cD?Hb;QhP7t84AfwN;!aw~?_z_Xi4W>`0PxjXn~?TXiheho>~x9jlZ6~#Rm -zX42{%^t%hyFEsCArcb@f0#tW-PHnYo1kU;G<=0+bi=79bA*>VuC`BwQabO3h74kbT -zsv8Nr5sZ_tM=1Fo2DtwjEtK%BGw(-$T0J=JGIM`VU#hlZkG?deX-q@GxCC!H -zvn&C(+m?vF2^I~ZC~DOR3s2Pvx#}p8ggP!_M%Ok@Yf2=>SQ`-uFO1$tH8-seW;k>O -z2JuqapSn*%E`@s6%bG9aee+~|v%J*F@q5hr9(lofr2v=8I~B-u4lAb*Zo+62C!b#p -z^yhzH=)K7-^*M@RfC*-e1;(SHOxb$3yJmrB=JRmu0mX~pUepcrlJJaHsq=Jpz!!O5 -zm@W$Qi|06fIwq^G%y$S8udh&8Sih>)9lqUjVMK??2@lwS{S#ibZ&D*&(Lyu5t64CH -zPHh=N{wDKPKo`JU3hEM3^Ng^ed6jSBSW$mwwFj#@uZhh(gedd3nEzF`L?E$%e&nbI -zi0~tNRnd+97g*|Xr#mVvmR-oY%dEOWbFHRN@cjdJL$Mh5xmHJ8Orj?TMLj}ZtyXDR -zyXdutS&53VHL)LBR&S*5;1SN90|?naV|Lxkk5AdPyIkrF=uSPmQiVn>_fTq3E%ARo -zOVBE#7H+-PP@zbzp>!bDF4;`7Y9B}s4y%>8WjWN`sNG5{NFi`dP*PbBt;h=xJ5b@} -z_mhzKwLVmJ`>{YwE!i=lsz_qdQ*@G>5WA&@qF*5vLmy+J-ybJ}niU1$ADBv`n@U4! -zzzPIT&@HVwb8aTUOS6yGK3IuTydHm$ix9LRLSZGa>AZvB-CVb?M=*26RxS~^I`!ne -zKw8C>OH6y1;bl@59$3#BUL>J>FBLTDb)(Z~MQE=VX|PiQ#UOHQw-gu;rU*f&=Ad6zma!KM?~%k`)U$to^r06q -z2n9t_n~GI}Ludt(kPYij3%6yCGM5xGFFRW)Refi(u;&OjH3jMeE?8!1{l?PVcj)aH -zF*7;eUWq6gk#o?caWy%5f)i4^A%X=Y`%W#QyAEpzCBiqJS1=!ptPPM1CnC!MVpD4U -zib2~>i?q3`KIn0me;c=Zi1&Y}uG=`^Im@w4nW9`{!>N}U3|({I8`iM25B*#8`Ha_j -z+0H2l4^r=S178gSv_j|%FTmXySe=*Cd>E&l@nyxEaVii&4qJ}TPke*Zpd$f?6@7~| -zq=((d4%XHZLfP)k1PN^D7Qwt45c>%7Svg-ex{a6zYu}`Hc5ZS#yN;eq}zdn0S(rWgI+P<@$e*k?>>y` -zJB_xf+cb^~>WhyWdfR`XTdMC!QpLuyYhkT*X^s+sMS`Z`xD*KATnCCll8Ql6-o&j= -zc;nA1cB1WG(Kh6(x-&aI!%16+GKR|&IPUlyPo%rkdaKTTIp;9^f+^PWrU)PWAhN8JDK#PsfPSe*G8#4W{Nb>lv; -z!d*+AEKOCp`J&<@e*c>Zf$pIpaA-leRm+O%W|8Oh=sH$ejqtJ@)B7hU`q7NEFI2OJ -zV<#ND=@dH -zH+V}#1>JvjM`8mxL$DPhyv>BDs2>x2lbwCbiAFagY<8N8z0few>k)AFddZ;jwCHv0+HroQ -z?~7FB@Q6raz-CC;JZ(C1NCBDl%22Fw#uSin#&mz!RV_**^6dXCY$-Z)P0w%#CwMVy -z9Zoly3i0Tyq#bo`IiY@4OisUEMO`MIK;{~-3W7^nb4WKP?OuF@Bis?}I6AH0RVU)B -zbn>OWq0r&Rz9n4vNcNwuj37_v*#kcyoGz=69rq9x)T%Ze2@VJg)r*d1&UzIV(dx$r -zQrUkO6RCbhN8(o;!kTZWGWNO+y3OYLZZRDZU -z$a29`yV{mahe18>h_InNT2qSs@$8bd1m_`i*h_lfYi9w@R!3 -z1QRr#3V+csfl#B}=x1k*Ds$1Cyr6M*n)T($G&^mpfdoXL&BpF9Ysen60l!b`H&uU1 -z=r=PSZ8@g*Oyf5gcIWa$;k2yRKP@`2$505i+BR)L`P{zf*spYKgJL(#p1#R<(G7rnw=)fl}0%b!>;2Nr*eq -zTz`SMw&Oh0970#h)Anc5Qt}rHIl`@+wjccZH!{Zf`>9;VM99R!*Mj~&DhAj%_y)0Q -zp5I}~)Uo)pFk(m8Gxho|iGg&zo(edwYk5jV(2`WcRy8WkP#;aQO-#wS-7|lEtu)il -zWSDc$a&SsSWh;1D#dQ9vq^Uy`SFUKuhi26;ebMMY%Zh@KTrhlHa`072CZE(JN)~l< -zX@X9>S+I#(a++slca{1I6TuWy$2*=aO~l8V_|Xm7Ew>yEiwkeR31wjE0-8ZRTFwrt -zm3vEZZnvY)B%T|2HTPgbN)#7DVdB!bAtB&U=7`r6TM5D|L`g^~OGgG9GQvw!UvdG|E5?79 -zPr--@y~y&M${X?c!r -zc?lIPsfQ2g!8Xu@a#$rnWhbNXRbY*@OfA4{yoj1Zm -z{-Ggja`V~lx2?bIK7I8V&Vhk{DQu4X$mb2am}{jvPPtOP=?;J71Iu5yoxF|&W~4S; -z>3?$y)$alQyK4rGT-2K}0k!PFCU&9hQEd~VtgB@&%Leic{9J%6MxW`=1O54Y=G`&} -z1LV%L>CG35o|_A8d;USqp+X{mqg#W7mJP&CIbA+CSN3Jn#d+nmQX?>4*I!slvtO#* -z>fU|nt|3FuB13=9R%vdFDJ60x{FMp{sba;sv5{W-N~yZj@;5!Pngc+WpbI6v$uoV; -zwjnF}3x5~j$YeE8Iy*mYkD=y))iY-=hGRg@y(fc|iDob864{M{ljMym&ArJ_%Yih` -zAbS42_a?jexbeX!pM7v&YBxwuuLpHEale`del`vKjl6#xde%@{1j5kyGDt$_%0cJi -z)6biq$(yJ^bml`z9Lwa@%4q+9<532=_vluwQ5y!(D0I>dd!Ip~s&B&E<`1(lxmR)Qv${3P*S%~DUW?o2(BYHO^o7ohrjaw7h(RkxV%=>Hm -zZJR$uTQ@hdEyvLyaJsIMwio7IVyf($=;ajy#m9 -zJ`lTi;nm+@LrxlzNG+|y=a!|Z+RpeP@g;7DJjzyHR$>|G19ZIO4cAGh>S$I(eWatv -zqSAl5qrXeSyzG%59#;HdmlXw;x>b;iv6nl5xL&C{|gCENqa-vZVw=4j$^ma_kOc>-w8-$akAAxg$4S39jM7`Y?OAT@M(g^FNo!>1=;vhPK86R~t -zN)Yr4#z%jZ1sX=s8ZLTC5E;1RHV%LKWZ>fn&jf{ZYs4cxX*T|vPehf$EGpJ&OPffw -z#z*$%D!2d6nv8@GWPR^SdcygPqWz*ZNE -z%vD@=S;MwovQ^7cUsjXESY+fjUsFdV-Ol#nYqfEJv+w}~K -zNWsiIr5#!J-?n>Q4eHA2o(RyQ}cgrJjAgDWmDXw -zzde>k=&TKYMeIX{irxMhYW(4YJqtx1i)LE3X;&()01}z -zF`QgggcxiRCI56-^x=PM_!-R^FUn@;xchlb4n9X^B&jo3E61ue3*__&vOY;L@{24c -z#yD4luVg*O3~RM@`8}wr((ixhRh~&rt3Zy-sVK -z>M}iT2P;Avyo<~+AsuGfyMm3oEsI6K2Vv40*pci;HJfsipU8h64133G@&_SkZ_2Ms -zqDkY~lv>WbKbdvx);}%mUdw4$pPC8joyjb@Bx|YS3Ug&bZ$l>CI^zt%sZSNRk*kg+ -zTN?1ZbrLk_wwZ~!tJO(3zV`r+Jy>~5w(zYCb7U(wb+Ox%1$yC3;3H&OHM-nWwc0+o -zTgQGhb7h1jO8$R#d-yAxiADVNh&k_r;H-M7g7fOAs`r5JKy`=3kvW{iOtz$i*&D7a -zm1LrQgI{=9|1klc0qGO^<%xtBHmT?4)^j_9mfrPcqNy*H1qqR1Y_Z};t+ -zyJWk$gqxcUL)b?Mi%T~mA`;>-3Mk-+vxo=*GD3n`SloXGH6SV~YSgGGi$MWV5K*Ip -zBRHs0qDD4R(Lsrdhzg2;3ivyxs=NABcgLCU`@Q$a`+Oct-Re`Pwo|97PF0;c6~Yg$ -zsD(Z*fJD%Xwzq*=Dqha6#^YsJg+mcsZvh8^8K<9DGYQJV?`lpx4>!YcY7g7@IonxY -zW_xY?#HoKwlCH+5{Zi01&Ky1(>x?iw@?F%VR=FfQrswY=hb%%0H8DH(|jqfLxqOFL6 -zE1`4+T+R_&q6K31D5&7vmj)50l}(y$(f3q#kO+S=G42x-O@)O)5f?>!6j`m@eFBWS -zz-c`&x3-XljMd#)j}618@v@W3t*a?!o;tFQp4jo@Pbv9ZXflxR~9R?WG6iPu? -z2<>_F%XKIlsGI%=Y7s -zF5ExXRpH$s#}|u~~M0)#?gpi;BUchYTCWJp2;B -z=`o-Gio$2rgt9U=_DsN6l+vmz&VxqBr`q|30DN2Tvp~z(ABDn~x;$+f9Fb1qUf` -z@qv{(Y<=N$joTB}%Wm*dVI3VotCKH#`yHUw)zi@it+i`xL(FubHp8Y(t6^KmEW{+B(fDxRn>?s8} -zxdJl=S~2x#Qz1Eo<~z+URxy8^6gWkEVl3bu-oc;@JC#eZ{(G0Wq);?>@7vm^^R>h)LiP5m(yxX*tv%6@7!ty)&@OxWM! -zCh!yTaqQ&?vn*^9idNf7n_NvarJCw>(yzO>4?0 -zjAz%Lz*{8@lH`BUuOeI!Pe(04S;iD}ku6?SqPjs!4ctC^IIOYFDVrU(Ss>d)YqkqCdMb*q`1~k) -z1Ju-*LMEDx_8qX%XOH3!Q3Cx~{YUZlQV|6eo3P8ls9%bz-umFceAN0Q}R$ieGnJZc44_iLAZ(H0GV$c -z(~9xOZt!5S255q7BD_q*ncWxTzor#CzAv0w!=)Tkg+;5ug&?p3UY0J$P#8L{8Uw;P -zjtP(uc4Ta@X)uFMDigA1I)$JZ*V_R&oAc+Oo(0@Nt2gHpEG`qH4yX0Xx-Z)fHr1WIf-nk*qarAi1er>*6J{f+ -zozQ9|s|B?6pWLu2n%#)fYSb(iTZAMHQ3L{m0k5rP(lcFE|;$ -ztrw2)!`hnj<&uwrDdVfA44yg}_g{aeOhY|E5Xj1=VgsSUOZ>$_)~D7?2R~P)4Ao3G -zcVM*|Jmms7J2FY42Lrg+a6Dt0qk<0WEv{h8Dgn_;2~r-4P+vwQO*X#V-Xtq3z}pn~lFU^8 -zf*j6*>?VhJ4z1x?VW`%F?O)I!}fL5$5B3IWEwc3N##x -zs#tk#gz>9pCS@n#8j63a0T!W0TWXc; -zm2eZrU*oesYO2n!8DBZkVjX^kdoZeW#3;nvf$%Gd+iV)o(1DPu|StWgsvh`y_!%d-+r#rL(!eOb0& -zl!-mh=oP?qPwW8RGBFOoNn1$2j6C+uf)xH)Wj+OHeKAy4KvV)WeQagTeKShUK3q;M -zX>zKR<86OhoU_S?ttg$sp|h%4M~hisgb^6s%JCF~6~w$5%z!o195iOBRajCvBLK9o -zl_Rfgg&;l;udz)rq?iESj69e#EgPm;bC|n#tm4zzJtOtCbL04}gNz+5~s0#-WT6^|1r)nb2Ub!GdNxDV&cWuI;IwMwa8 -zHx#=fD-yqbWoBZjOLL-dbyHT&YV(Z>7R5Y=W;lG~oV9GV`IBet)HmBjSQiQW-leZq4Kanur=U`^kJ -z6*$hYk8zWx1Ha?52e6djzxZ%`jb+pVBO#D!WI{jSA5-mTD$+Q}-i6`c;(3L1{yl8E -zxCO`oBPy!dk*^s(TI{u&;iI`qIP`x?Q#AqV!OdN;A~7GD47WeZP?9n~#4SkwjI!~N -z1~ZERGW870K8D60MrYgM)`FoU`x2^L6L3qWCq80sZj+Z5fYgL*9lRAg`iz -z`ZQb&_<}R}IfF0P^zd^R>nR)aDe9;hIIKb(RN{Dqp}r*aT{0chy9%agVBhj#lR%~` -z$5@u1EB*K~XO6ELRSL{ej)#Av71Q{>ePm|omF5OK^N%whzD}CS4Q*&MQC}}GliSK- -zKV*-@m&_m+mCY)h3XR7;nAL)`nXu->)3IUvUPctZ`H__g$wdgvrMAX5(e_T_s-hST -ze@Vz74&mGTrd32_y*>rkU02{0c1}T`S^6aY=fblJeA!+|c#6}zerF_4xh;1$bYjp2X#5L_Ktpt9}mCb@Z3a&?zR8JYqZql%4 -zGz#$>@3e4homoXO3tSe{B?*h;?eA6;s__yq%TfLT`n -zUd12N7!dR0b@MRu;R~x!W6KK^1wLh8{E=?!1BYfS3hKzF39o;t^d!Emb20${VaE2G -zZy*qSZXL!KV*sJwggSa=Jme|+#xDoKg1oG}#xmlIaz8H{x4O!_;svCN^QKl@Y1Yxw -zXlh5lEDp*ufwKTQ0eaEYOUkR*tF*WaYEq89PGtE`>*q_g{G1H!tj|(*Q(_F0n0e8- -z6*1-=4&7ML;39t*L(B(ZdF+euW?ngaEfKFO@z@tJ)hp&Tl`c(e^UJCjFB{uJG&3__ -z;<7$i<3z~^Z9fj-kKq!4X~tQAfE+kpS$tPIdUiQl&b8l}lc3T=?z}eKYLoDaGkIP? -z%aUh|ewiC{K@O|1V&e{W>4*y4lQ-J}-*~NLZ!hyt`?!BL%?5A{H};L%MrKy%#Rc6( -z6=kBC`Br;^`?+9%ujh$2JEg6VA?68sK0~;a43`o?l31|S(M%Ia{+U&0!8lO`Zgl3% -znZ3r>R8IkxU}K+8ndOVlI-^hjF;ul9;e-eoBgYv+t_1aKD-1?wKGIh8EGQf`dT?P+ -zc4Uh3RS$n(+!@PK%$rpJp#>w6Y(HHiWy -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 -zRN_KxL=sur{p(k=k -zseZ_E$`5~hd+;MKkpmb?$~a_ifL)s*WpBrgN^$Qi_Bd|4j>T1T?auX-*BTROeQmKm -zwU2$=HPCMia!wAj2RHz)xdh8@PVN@7(s|zU{%jaqiy- -zIM_RrdrS1WL-dnf^z)pV+*{&74URi>sI&P38t#7%`Eng;=*8Y?#QS0z4!Od;&}F&V -zRXERYOS0qK(#tP}`XpyF40lrMEvL-)wtKzt_CS58OTdk2rYeFw7Y}o0Ftn2^y{sbr -zg05cB`-?ot1Mo$KZA2K^)sb6P8!7zr6uqFM#S<6MQT_p^ggVZ>9w7-_hqE1dcj`lfdpRfZDNdeze~8@;hx?5So!zk3Ep6BI -za?7+pT(f+mr1HIxf~d^b-QLitjzf3u6;+(n+Ldkz|i9V{triNV!7T}pHj4L2&&`R2|AV5IfwSs?8 -zTCp~X1bCw0t`YtkuNlQEldC`<47E3TZ0L*$(o1|0;vz$NIleirHwN4%}v|Q;}>Jzs3rg}Li#7R5uS}xW+&Xdk9 -z(c71hz0asc4j_^#wk=4w!hwiA`nrFhn~RWUwm4QmbtXFoyqW?=Br;I0iQCg7tZr5& -zn<@`oos)}ykXH*{(AB8}!s7}cO^|9;{3}^j>N=e3Ro0fyVyUws?1eDa@G8}Ny}Y3R -z^g2XiaQ)rRUJ<+#|G0}6G&0l+>dp2ZJGB5^RO|))ywJPQ3ySp5b+0*YR9Am#xtd5b -zJBtIzb#y&4oKooQY)ti1v_n~zt&}m@Z%pzVWqxCV-G^W{#9M(j~_sT9Y+XjX8ef?|x&Z-Zo1-rC0z*>mJ! -zi27_Ihr<*D-SRo627XSOUZ}Ofi7;Rl7hzwb}XF4bn3Q>0LVMT|4RD_R@prl4y&Z -z8U@q(NNW~x{Mi(B@790+)jgW-KHKgaHWY~2(Rm~_*(q^;?quy3-3|ZOV)usn8t2|Y -zwsSDd>Ezs9sn`l-fC5`-kM+0ObcwV$f6{qcGub&&^b`Gt -zpLTdbAd;E-V!!he!Dx>@bkf-uN4qDHPdnr88NGZ!Q*zdI>e>420{y2F{nrw`#w~JA -zJ6r$T0552uuh(hO#A3%Jcc$T*@3#OG50K6=nj`w>)`@?}mk}z{S#jBfKg~5yksBrnLD(j^#Tdd^?2iC_Mvc%(jwh -z_FD*d=32hwT(Zo|4v-1{HS1PK1gDlqLaw-cvBytj-X}uRo!~loU-sXEKfV_vpC%Ie*2Mykxme(_Gkh@cnsCI%8j|7V}6Rp6d -zHtk4|OIuQZD}_B0?7%KD4hT#7vy4Z?lK8Y7iCtKrz90?Leo(%}xIE2yOSsepnUm&m -zZ+Jwq6Rjaly4!gLi+FK{{$Z-L)dH;Zl$^z7DW(c2h3u5~2mtbOzI<1TT|R%zRob;t -zC**O;sR84FAK1}2U -zmhaEPH(K~E7rs%#cd@8-SnAoGlgI$^kQk7XO~C_L+|gP3Y5E4r^vSrUb>Q^2F6T*9 -zVtu)PHCcZ-4Y!;Kf}9{5C7RN(G3TV2cfjmMiJGC1&K#DGbx92I-Tp%Pk~&1ZjOlT9 -z67Y6*f{s$XoMtCTQ{KsD0Q(wMvN@!11fBx-7dtpA)y#|L0;xepkRXXD4OTS4ml;{E -z%!f~js+?T#PavP6VT(MddL+g36_|GM*c3N^hYf1u^KArOvkfe`n+B5NCyU~?9_>?u -z9GCi7D?q_kGB(iV>)rrgZw2+2gI>1ary>#T`9Gu?LD94432whx_-cjk7U7#Ke5-_S -zrSLW6JMW;2T0W?@8FXq`q9PyC_gZsHEpBB-=5;Ws2lEDPTArf0hM#ovoWjk2 -ztrn(To>nc -z-=NR82EW9)Fy4(NS7u&`>Mgds#KU)HOX2T1W?5^1wy#sNxml9AHpFda&DD%N*PYj` -zv>UKde`}g#Do-`+a@h)RvAQrp9e_>| -ziNn{*_Eritqob%@cj4=0wRSeP_6I?!wf7Ki$oAldPi1bnE5m8zrKe_`s;NhR*r)!u -zu)v{H;$9b*TF|r)l4f?1TJ%eul9PgOl?3oK47v12c%EY^t1N)mp_h+x2lN -zi^FO9FY=wxpVIWx{dT6ery``EA2E;T5JfD_I9s!<*jy&8*eC-o5#}pOB+2AsN~h6L -zJEftTQLH&Nez+l$2UH2}Pe(X^)b*seW<64}a?vqF@>ms@6wi2MzLYzeV{g3<*NhRG -zaiMGN;gATq@CS*|72**;_RZCPJ)Ev5YkGRRjeme>@|$J7Tq9cww@0O_oykhKj#b%2 -zze1{7fmlgjDOz@-=9HE5)9ER@E4WiS5uCf8Vj)gY=BJCM}t|-0JonktN -z*qaBh2Pi)*maHHwk-nD3$zH{>xV_Tj5<+-$AxdXtE}T_Syu?3Z3JhvE6SvFdg|RLAna<;ktaiJxx7HZEdi;WB?}U& -z@w{d{C%VJw9W7rE;p-%P-Gr};&;fjvlDaI3e4G%rh~A)sLtcP?nj#Su*&Wf$HRCNo^>;PtY)Nb*?xdxNSjA6)kD{nV*$s{o -zpCN|F9j*qw%Qd9j1i303$Nn+E|$zD~+2L4V%w_6z92UU+)1zt%Nl7;*Gf*fi< -znma+7?Gd)+)X5}&^+~F^R4pWe>_l=stW+|C^%W_@Q9n|Rk83vJ_7ln+iRg=M%J3Av -zmip`*YK(1D&?^6a3F+UG&7M8f@LQ|A9(pkyi_|S_)(M8ohIC1$g;3|poblE&XE8qs -z+f(sZn(?J(?32Pj6IQtnNo74PN=i39OUfKrnlCE)N=fy9AwtJN&G=4A?`~<}x?dX9 -z>ZP#N@;1)~I#3;>tUZhfn6TPi=iuEfSvE%- -zwdv0MpLRiio}nXFmhrg;jBR|a8HY9Fqy{81_G(6}W_+(1O2GI*Gk(^LBbxD}W*pFf -zt&Gn!<5$i2NrUDyzR-+cG{Yyx+-QJMCnCVf0q0=#x@)j{opMGBJ@RM@NyUHNF(wX( -z+MJOrvP^Sj`KBw&H%UrZ;1yzgY$qML5W{`3fRRCeMzNn$^>=Bx<22qsqygfpEXjBm -zaO}Hsf$CCCHWry>28{NiLiv)7tfkV|;B2W!^YfXV=@Jj!&UUokmuCHT#F|=Oz{nL> -zwp5{Z-X|bg#!4jXL3y7Gfcw)ufS*{H_WXTRNE4?~-KsmWJH^hh!h%&+e%HjqW_&Zp(b4$w~dUQoJ#nd{t3g!-jedx_j% -zDDO#m;()&{)!f11p8qn|%49PZ_t>#Aek&H;KK0o1WGb-$UmVeYO?TR#1fU2ibnRoO -zM)4nvI6NcnDRd3YO(b`CKP+S7e^vo?PUIQy}~79IyiXq<_Z0zJhx!GO36YxSj%u&8*%r{RNN>>HS1S{{s<%e@FbM68`{#e_oEA@;;XG69M}c -z;|j5!xHXAttJ054Lf#fY`7w}~KW<5XGUg|F-<5=1%#Fa065gc=YWk)O{cM*BI=Z39 -zAxkaObk<@!$x6F_!kK$i!!hJUjuW2jfLoR%a!Ag!(>Z%9Jox?Q({)jyiS>DuvkPj -zCwZh9a-1qkg3OIKlBAvTw3v5)?^a{_X?}EpIZSdtm{7lCzWkl3p{+x*e0L7d@@@D_ -zo^S8?Jl~EhvwSySo#%VLA438{BH5!L&D#*oi}EhVnz -z$|r2#`E$&ilg%WyBHjv4HGe#a* -z_@MPTJuy!*f!t#F!zvkbMkOSZa{HM{Ihx0QHnm8bvkJ(`RxfYuDQ##?$dFB?1+9GE -z673Nb{W21C+JZbG&JB8h63x9+MJn4x3+_mGm_}b6MF}37vbP_%>g{$+HqScmjF}C+ -zKgtIy1n!s5?EtebhJ(HYPx%ii0EaA!*^K}=7J^mc;WE$dj7kYnahFbc6z3F;v}sU6 -zyPJ&+ZH4lVZ#VkbgtV?vS#?ul<`ny3jA-jIdbE$Z;A~y|M2ysb?}~)PgDNZ0UXkaN -zgvSxmnwW0*J<1I5er%*V%P);CYuM;wrdaMZRlL^ru>RU_4(qSEhxJ)Oo8zZvSlP}N -zJosor;{ElM8Z!mfO$nO|=}_Fy@4*9RoT-Gn4_k3S#5|INlP6bAK0;=W!{kiv1$KgV -zR92viXPB`Z#=6CS@YdFH=m@RUb)r(&lTrB*(LGm?F|j8Z6NwpJ3w4zk50(YVq^)Mz -zBt1vfe~d{6eb075iX9N>X0m}<9x6n}r9oqfDDIO9r+Nv9@K9msXDu-cX|>#KA=n%5 -zsf3j8mvSdMjdiY2Ox~MIVsO^`Ld>&LjuLK%aB!(|ML#ls4jaVZwS%-;2(`m=PY~bE -zpkzNTmonH+>eAg9q(SZ&ynH+5wZ+T%2;WKX48LgYUMOhD*T}a^c9u%^NsIHXvRs*< -zr~O0oB^f5QowRDZ8Hai|CA*AuBYspXG}Q -z->Jgav!4}ry{PxYBJ_iP;)RS5ZR5eYQXAK|BkXg3VaQ5xvlwMw6Ta7l?~Q~sLCrz;u(a~EZW=RFk3YKB?M -z;hD&P8sI;bdD1eZZqCWZaGbzXGo73K!(9-LW4+WxSa)T}R{5Vt4%%0REbKLc+!v4? -zOEIrWPsbR>CmjPLdGRT&XV$4jE1SUX(rR&oc -z`}E7uyJ_C{C<|noSXtW(xb-1pUC4M=6nsQ~!kLhVwx34z9mP8nA?M+42WB#{cn;JgGy -z8HCR7iI%BNNE@Wkh+Q-7zR^LGIzSQa09L#6glS(bk{5^Xip*|KNO%%kZx>i|#T+nC -z(0HdH(k?>n9U@MhOT^>)xvf!;uJ0j#2B%Ag4f$v)5)mFA^q@-aNrjB}MbSPC(e0s0 -zbRR_E>=s2{M>jk|PO6r;2H6t1(~)7_O8eg;?U%?{`f8?CoGL@VMD=emMw+ -zW4;a5naXh?Z=6n=)TKEW@&UcTCFVSqiL&9jnG(~B(e|-S?=3?JdO_t|*UF}3-)}v| -zaaoT19)|UL3Qy$^@_zItYogtM#6;HpVu5l}Q1ystzMn#5GVd6&S@>AUI4auXD_7G_ -za`lx-bfn%dvQop+!))SAx>C1rf0jq6GINje|1=n#-0v~)7V5(i{|W+Eb#aBQY- -zkP=pB=-10VBNn!D-I|ajnz1yaoUpU%V>3M@@v*L^;Sjqv*JeA%wA2ibfi9FGNf(K* -zktM3yAuR3BoSq@^IA?z`?03p^t_`B?O*oYVZxBbYT}3|K$>V|D1oU?V+CxD53Evrl -zo>gSTKRqmsA4@51b&}$LnPDeMA9IoPF&gosEarh9G -zMB)u38Hf>SRM;3DHZB$!T^6=k_|||Vy`GyXRqE2P@yD<+Hf&rXDz#7ylz%4qUPX!~ -z8uL#g(!C)3h1LGg}Ytw`V&;k%WPa=w5r5WYLZ(r_wD$?H`p -z>UFnc&au`Wsq}p01;H?Na1nMv{6Ffo2MW)e!o4J|oNw&Wy -z;`9(UU-8um)EDrIG*cVOZii<@MlXxZ8%Z0#Ai_VEg{iwT^v><2u^&WH0kjtBB&Cfa -zr4xcSCBpZA2jTm7!hW!LUcmT-3{zha|5u`Qe+koPqlXG*lAk5`ol*L=fXp^Og^BnW -z#%R_}@reCS)w?!+TEzB8iNC#gt@MCMVy!}M1uPKOHU>uQ-CyZR^q~0=d98K%bFHkF -zbERc6K!j2yj4PSZ0si*9brHyXQ(KGSZ62y;+Dt!xuBW#b9-$u%^rI$9Qu|Si+hOA? -z#W(<~B3M_!dIy$2u+&nF?_ljD9@hR|_>NmNQBbW_);HVfQjWViMe3KoC{pO^6o~~F -zr{X)+O;jl?q!KOa-%$%O8|gDCs#DMT%@n<->nUsi{!T-ynvNY&j_)Y>n{wG^FvFeO -zQ^?bQMXJ$JH44Oj@!&M&Rn*A68DKD>E$38DZ|N5Rl%{TvS$A1Y{``8UiQSX&9XsbjcPov8ZW5EdevB`8f#VK -z8Ty9tH$f@+a``dkiyd#bvb$bmbMRHz31rl8yv}+%do$L~$g0*0^NJi3P7DlH5u*(5H)9<+n{4q$d+8m_ajqw29dGTz;P-6XPtz`DRk$L< -znGQhc)3g@}{`{=H^SuD4-M=XVBojl=S*mk8J!~SL(Ul60Ax}$qSDb_I6x?5|_bDdG -zRn9j^E*EcdWKlbjA*c1y25*b&4PEhnnT&f%$b(qy;__0pt>7!j$%O0S^ -zFx>sZjPfY?WtDeQ@tr4|ES5>Z&xSga7(P^r$X_aPNAx>Q_XQ2_$8vvWuV%Du8~ry7 -z)`~LC5Qbp?NwzeEeP1)|MLBF84Qm#spAQl&Ap7@@iwN&ib>&?FulEZ)EE@xVbm9P) -zUAOax>X#IW1H&mzGc}JB_QPrRFklTC<>JAAmtoZW)5`(w%!;(&5|HRFu3vXzvo;tQobMF;6q* -z%IOVFcZ%qcUbDPIc)MnQ+$sjpM1fQ6W>@m{l62<*9YAVr1ZNP3pQ7m<)1^JoVd)YN -z-9-xbNV-0T<<&=6#Hg2RGfs}YTn?Q?iTxD8Tdhgg^`^P5Oiq(8-L2D%XUXU5n(-QC -zyVIkDWrmPO*s2-tX~quC*e1w1xKOMGh3}%ymTyF7(wv`$$;Y;TEU9XZv}zhPFu9j3 -z^8Eo@_zne(w1ANkFwz4?SnQ4o+ms1@Wl%)zEzVf_iaT;e!q-pu`jEF?M$jqrDq@uK -z%78H;AQ>#XB3VBxjI8(HT>GA8i!2m=)H}cC^@rF}yCa6nkA{ -zQC$~Vc%I8tePql-e*%yjT~}1jWL@)Bp~*W&NKtp5Dm}XRXL?uRvxL(G%wIE{`X-Yd -zy9xo5W^Cu4kj?7=bDe6gBh37sNqAI#vV65h)N?XBD4pzox_A?b=|gf%E#FW~Un4gb -zK!tqg(MQr*vzeK^SOurf@u^yBE!V0-zVDj)`8(xBAcN|+onG!Yg2 -zCUUl@y0loiiaB2;wU3eRpwS>=YE@RJs)ufv(Z&soppD?M@%necIFI*qHu+vhlUonI -zJJg*xmq|c>MXze32aU0MkmJq{5A7e*59N@nXRnG)R*mX;4kUC<3QEP^616$iOe85= -z;twe6OR8iA3m{6a_Zo?J9~%AAnDi1Mzj9$&OX=ktX{5UP^)pm6MKi(~y{tlhD%zpH -zoXD1_Jmfqi-xit_(}THoao{sah|j}Z#W_Ta6ELZN0mC(LPG7(CD#;;IO^FT+KPlJw -zU?RC=gZPI;N4i+l?ebnu9vc~xd5ql>fdwK=KBqBuUdPT_piMWiF$n%S6s4?0Y>tA6 -z>!MPWt}b?!q6EybeVU^%L0heta$R08k1&&?_yFEOI!{*$C)Qw -z6Wk}{p8JKbLHL#n-}A!v5BWH@ -zzMa|NA4i-z7aSr)(;*?FSmgUpQL~YxT*F0plYP!k!Y>oyyTwSf;B;XVpI|;N>b)v| -zM0oFEA&&oxf=38LWK9(O_n@SF2jkNwOV^m5Wo!)@+d{T9#fSP$j9d3cO}8r>jm#oH -zbf)FoCVa=wvQ99LhbB0DoZ0Q(fhiL1w0nFU}M86lXF#>i-z%CK6g97$P0sBtCE)%eC1#F^#9T2cm0sDqD -z&`7!!`)QIba{i6hZ?otOcazH|!zjvY0_7etY>cBiD%WL61Jf_EHs3_ioTt<7){ZQz -zCx?wm0!t@#C=<~0h(7VuuyK`t2>7#n!}Mg-{Kpk}xqVs@vpj56kZpx3k;)?^(;5NY -zK%mzO=otihy?~x6nxpY7r@U0yBHF_JY!M+p1X$adn!C7Twt3uO@! -zfE&dfx{L^w1-}#9+wq7g(x|$Ur+?qxR_{26TsWdC8-F6@{ZJ8;l+g4DC0l8y67J1V -zji`KU@bwg@RPeH_*N{zrkA!zpaX~eTRoi^&`Ks}I)wobKN>t+l)%b%-4%F`_tH^r6 -z1edla8;5rW+B`G9g`64VcG|_k-#AL!(g{x&8@uYoL-_%t{UWXN{U*SBs-wVjKBnEx -z*#(zbN0freo^!sMc+hzuc#iXBE2R&q$Om+jaFzRkQ>e>Wua~)h7+l}f*(1n#dT70i -z*3|>|aIyYFvA)bJhd>u8$V%p8uPi_AtiRt`|Gt;=h40S4@m})wLHcqht)6r~a<|C+ -z$lkL9^|9`g$3=zu+yNdXyV=lhFzjU9j}sF!#2 -zes8u!pVv!Y**T|=<0O9s+ySjkadI7IVmzMAw -zHDeRmhk08wnlStuc{!4rD7{Z?@b>N|HS60M -z7V?{{{a4qzLRB{`;Ej$ncjRK}_%ClcE-^z(D{KW9jGL_nx? -zK+bS~LC$9FL?NfMqp!6pF`}Mi+?!<7B^mc5c^v(*N|=e5{p~c_{u0V)niG=aQhZ3) -z@Sfl4ek&C<+hap@OH_YZ^_BotO+M;cn{XaNH3*UNjGi_Z1F=tITgjoAyp5+CuO%6q -zldL#{Tyav^K~{=uLsc9OnI-uvSwVf8-^afbSewo|biWWm~B(h&V)|U<<2m`EPt$#Oj -z+l$@v3q@5bi=0&f&R!lPTmP4lo&A#;c-G2;?Q2p&E3rLZiM>n{n=U7|+zJ*=Tdq2- -zgsqF&{c>i|m?8Gom&*Mdy5s$-6Y?W}Ih;96Iz=cZ?YVI?h#$qAwpXBhK-kme^SC;C -zXze0(`|_@>|sgdJ#i6k=CB! -z-1_=P><$IPWUKn9I19MOwGZ|Uy&#<~_OGrLMR{Jgd|!xL-S4@sjHlAdb~C(7pPC_= -zg65VC#Qrpv^cJz#ejC}pEukoXrDFf~cDfz!%d^0DBuI_E$d>e7$wsB=f7bFhsLuV& -zXXPnzq1X-_D#+9V%&>17jTo9oWy*r2qkaZJDDAW=wz-FjPjtfc$nLEk37Ph#tl -zu2&oh#Ch|7PlSk#6Gb(DDuwS^;d_o`yDls(1=xj3!xS<*k@I9#WtkKa^85t@yZ^*H7$>VLt2=~4lnSN}Vnauu8D@>rw^ -z3J%&!#^Tl(PU$O!VqY~Od__>2hMTR?biZW*#Gz6lLLJIrl;O^Q)bzKAtn>Gvaf6U` -z7AHuXJ{9)XLHsqx+vo{MC47P9)`fW|=2T(nWccsLI;R7U@JNGnG!V01R-ifrZ*-$>T{bz&@D@NsM(*O^4a+! -z!OMkD6a26*;k_1reNpvR4}DSfZh{StjuMnobB2bc(C3+{v(x|^ueKEDzeq2Qlofg9&&n-|0%3uNrNHLhfAybYYD+rc@w -z0G#!A#C;I$<90WO;73uGDhmrfX*Xw%cKpuxzuPJGcg20G;#;9W%3mY6@m>TZy`ZRy -zdRrzW-MBP=etV{`b!l9I6qJl5;K`V?EUx%Af|Id(8KV1NQDRE;enelpJpMqYvU@oo -z)PkebKh6*~Dd#D%hY{i6lr>nQ6)WRw82||JjuKU(>#+!HS3|*lN(%sD&t>{r;4>5m -zY*iL2SXZDIAOewM&tnox))5E -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 -z>N_y?x!^S11= -zzb_X_c?1FuA$0SK-0wRmdsaZi+Laij9EG667_?$#?vEXm%^Z3Rphpn8a8>Tn4$A6P -zxzKn?$2zpx=6>HvtZn0yxyXO>`OlIkS+O37V3&OT6kL}z=e}`@vhZz8PCa}I;gC56 -zYnUXSFgg4WYoZq36qj=_(A>Q8xaS=FmkAkxSojHraX+o!VNuJNIrfrR|LF9`9MgdlT#0^j8?JLmg -zS3|CcSAnyAB{&V}JC43)^fj|kbT&T)&LVUUptImv_;WLyfQJsqj<#8b%K7d4mz{3r@7f9dRkYg(bUsOWx9s -z+WclHe%+hkY(S?KoJ|FX-@=werw*MBh|`MBg151<=rp5q0G+yjck*z%c1_1nGx$_B -z`W5E27IQk>!g5;pUf#NnAOa%Gyo=m|P7^xyfS_zdXTjDy974g_jZW=0%m|$(bPl4k -za67UfIxXAte40P>wMp*StE^h@16wuj$P23ncjj&G=vxinzJuG5nRXy=?SzOcc41Z@ -z!si}z7JUQ-_D8>e!vepJX{`R3Q=I>_ew^3RQCs~9a`Z>I{OKXFd_1@6keK<4I^~CH3}X;FqT{e#^Z4HHFH;+I%R>TyUCi24~JZa8{tR3t@*5b^v{i -zh}VkFeEi&a3pjgj$;Z+6j$}3|Y{0zc%+G(hP+2m6KOakQ7X02hO@+#F2=Ku=loj^w{I?60#)bLN2@im)Y-is2cZ1ijJdm7SpX__D5V-~* -zm;(PpkEzWD&tc0&wUJj3UL -z#o+8lyhe<1pbo3O9f1eYXzjRZxn9Pv)z>^((-)9i7AItcS?H -zI_5k9P9r*X7_eY9IGdjXrxl&!;3%tK0ACY2t?0~Y1ZNRCjp!V2%=i0RA!B9r1}IE_ -zdfGpdbCM%UWJ5A3vGu#V6Ex+qEsSB-H$yoanxNRt?}D#!BltGFo}U!i{Z_sj+5KjI -zlDgo12xxs30_r~iXU=ADTF_baIyn12$p561ul8-of6+#8R=)woX-4M&I-B3b`ZPi1 -z=d^&+_$pGM1)PR$7_c4dvjYOQ?}Dy>qWYSWV?T95p8AII)P`@MeKh}@ycWM;$iZ)+ -zH0!^`oWIHUtF=GmAMd0r_%`3K?fMSLwE25vef6f!mc$eCr!+eov9>d=)qiAJ)E{9# -z>yPB$(plMk1exLoWT(T(Z0HL!ZnlIqno{ZZ}*}xl}fem)w)IkZaxUqv0+Hf=Y4xh+Z!V6E}u;u>% -z2B@aaxXC%U!<(Iz?Q=T-G0>@-*TI*TocdvM+j|7DW{kM{&JK#Y`Yv#47j{t9%?mpu -ztK08}&xU)!sjmar9(0c151$Kv7J#$pfe!C>)*1j?s|7@*aUMAP(5b(r11_w=X#hlR -zJ%%2~&waOov;OuDny(4cQtI#TfP(nGWVIDrd47F|&pT^-9sryr^(^G8Wc5o7*;C)) -z|0D11|6D%P|L^ztPKKH3-DK9b9o?GDox$8Q(_seNcJIEs?e1^;d9?d~+5K$WZTkmY -z|G*UlK@bEnf*=TjAP9oc&>#qcAP5tL20;)6*Xwo8Q0;d2bA7Js`u=ov^qJ#4j^jMf -z9{MS#gM;Ip8^ZX+=y)4OlgD{+@ -zHn+a~!a!kJk33!?Nd!G~5@9%X)5*G_JULK!Hk9L}weO)+|N_CNmW5APp>H#p;re$1NiR=}{myssJxVAi;|m){&H -zoUkZ=mTl##Nczi#*1QAdMTi_>-^t(uO+q`B+EA!`TCH$}r1mnj)2U5{ -z$}P3Ru%BA>3bZq1ZTrh-qPG3)U6?dNbG2u#SZPh~FP~kjm=BiY$co4xEXQ)t$3|P~ -zQ2D%C5eRdZ0a&mPk)A{BI;jXBk`bg)my`|0w3 -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 -zTIDc1CHRC*BwU0iFNfqJ@ELSgV-4?hEz&*T -zgPh@bTgKO%Z4ut_HP~wt+41xee@k9?ou`*|Ld}I1;hRu{L!RPgy58?8CTKEGuIa1h -zCf8hS5wQswTS3!7B{#&0nZ_r6_Z-CO=eIFR(Y^FFcgYVa)9avWOs)3BnVhE&?fcfX+FP!C+$2 -zbqEL%DZ+G^IwC}*e+bhN>WC1LI)c3Z1RG13F0wo#O}HFnlM28eeMBfA5kdepeG1CSu>!2whRh -zgwp;KOVt3q(d8C5y4y93##UN(hGE1W -z*6^tEEV}a{f4bBB2yi}rL>2h@#mUOOzB0a44RV6pr -zDbBG2Zw?c_F#~x+6BJP?n#MxZs9mLH^Gn4YR__=$P;L`FAIWh8?_q@Ll^-{dab0LF -z@*W+CeF2d?I*^rKYTd8TL+sO6>nnZfCTDjm?>wCte~1n|280PSlh)%*9v@hs`cDqL -z)+$_4R1hK@CkOJoqbT+@jDw5qWnUVwfRje6p|NK=fO{i3v -z-Nw#Le-E6~CJgC;LhJnw2&CB!eHPFbzBO=Ro3PwuEjQW4IZ5j+C=yci+#0Bg0!_FS -zOVr`gQfC`)zGVh-wFuzDh!dio56f+gfkPX -zblTcuK2L+sS$hF>^cd#!7!ow(oV6F*gl!oO+W9}j&M4U?&va`qw<+-z=$Ytpz)z%? -z%XT@CJx8a&f!c>??E$G>4DBOX;(^-7e~96rtZGS5Re2h`2Wy|Si6{(j31#`u{?*t1 -zfAVkKd)$#7s^zw9e2?q)Vaj6sd%WsV7u^N -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 -zCSpix1F#Awol`8z34`!3n`Z;EMW{f -za&IWj`X%?j(fU_a&zXAPFGb`y))q$;2m``%qMi>?)bs0nG{7p4!Ll)= -zoTuygEgrdHe1i=m_)C6gZyN_D;+4^sPDMDxEj6L$p-q{^_E*$-3 -z?{aY*8E!Fy^HzQ4mm+XWZeO>lNoMNr{8Hp@$?ZRbnynd%p^U8QJTh9|=Z1Nwe#ZO4 -zey1LXtm?(LfK&k@AFyQ*>ZMUf9GKS -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 -zn3yrNSWV6us;bdgi$)DDgp_c=FR%oodk( -zCVcSAJi#{Xe>Dt!RrS*v+lu0S3FyLpShN12g{t#XOFuPmXlRj|zstE7K}FVMfaL^S -zj4>Ee=a9{tKr&94FGAM+3OM?i=$KIYa#jg>_FCzWPAZ6%c7xL -zVLlB%4-qADg!2p#In#obWfh!Vs{xODsL;CC06_rz?4jJ*Tl=JZfx4&~V9B4tIhiNzhDG7++QO?mkqtA1?k3lJ}C$L7J -zaAi1&e^t|Xfr|phN5qdJnPraPKF0i%9dV3n2_@4rZv2=%!bzQ-*?g27&yd&4WQ@pP -zKuuDgfBs|ce9oE -zxD!e;d3h*b;K8;LhAYVCzshiP+&f)mEUBSUce^GYid9l}j&y)P|!{iUM^?XFe54-Vu -z5reOiW?qXC@Jtw{sM=SLGv94i5uGxuNOevgrcvF~hY8hS8FuIQB0U9}vSz?O6$qJz -z@k?Vs4p5wvfXJj_s$!Z3DK>4GMoC#9d8WwF$NYh9n=x$cAB1@Z;|+kqCB-;cf2`G< -z_(j>tU;M=WZNeXTpL^yoc{6CHY(~5%<+Ki){0Ct{LNU)C#xH9RQ~HQE6TPMMyh&&( -zYfdc~Hti3JYau)xi-z&i7-L=xxRxMe*aq0=u~&%Ld?XEa`Vm1u1m-|;!%s0RphQHF -zSIH30r7X%xEMs!{Fr`2gJpH~of5wk^Y&W)b{6|W1Y%A(901irqae!@HE5EBc`J`+DiY%pQb22XNDVfjN8v982 -zoYaRwVO&PhzD&BrNSEyL)=M9We}L3SL1A7Y3tS;x -zu6!h)rEb0Ykw{Cu!NopwQOvod%Xf4MuWU`D4J)a4ujEKd(Y2~o(FkSXyJ}B+GxQBX -zSt!)S&y_#=cU!h?RqLIPgkv=;TivSkRaN)9Ke+YukY3(3t*UBY+xqAuB?3{2u5IN^ -z55To_;>WyDv$NIof3fiIL^0W&azrhjkbF20LnTYYi&yXudQUjMuI!oI9i4u8z28K<|&yD647jhdU$CW@`I+O%qLZkw(+ -z^0c+M*kEcCs%<$CSOElGKzb!$UES74b**oUd@P*L(Ae0sR*lv%yG>|)bK2wuDJ9s| -z)_XY#f)ZHRe}*x6CMPBe70#!vI3iet3?3(vmgzK)0eny8DhDY|KQl`=k8M+hi!PpN -zK!`{XIl@l3#{n5Y$r{`G3XdC7Xbp5R1B++LMo*injjpFNlfexHr8p(SMoLI(t(1(D -z+PGx3aqSpC0Iit*M_!^l-O8`!w_5%vGN)R3bjj$>f3#|_VoV%REDF(sf8<*t;#e1A -zKwAbqZtZyK68K%SfIrknF2JUkCzjAS8MveLsk0Tf3lnKrlaa>MCA -zet&gAe|uJD+tL>Qqp)mg!_auQu-~O<_O;O^L6?-T?cyJW+edxK$IjYH(YCcsqr9Rl -z8o=|dw=c6&-yT-_4UpIk*qF>y@>3Th3_-w7_=sq*O;tqU3iMv_#6NMl*wtqGlSu4p -z7{aI(ovy*TjbBebcZ>Je*}PS=JtTH=LH -z%5qoV6O;6|tM73$-~7o-4_o>^e<@1cK|JO=GSFS06gji+@hf?OPm1DM7-IJT1L3{L -z?3x3g{OA`?W|jZ&G0^BIUHbIH_XJ-l^{A&=kKg0FFy7<0qh&Q`KPmD*W@+NPPkMi9 -zA^piuzIRKj-2SA$)7UQh=f(k%G3}TKW7}ECy-&)_LKGok&_C%Q15RAq6wyu1IHPKh2T_hgo>K4DQwOZ!vwqNN?X -z6@X8omX{em<@-43rBTLw+TT9|0i}TczM1VR%3Q`Wji1W*;>i-Dv!s3n^^>U2S*1QV -zyPX3t?b9;f+;)tPWv*j1~9cD|dg9lIwY;cmyCf_@%1t#kKIT7l0qAtjyFe5Wwro2$ -z%JKg>PanI(97D%=#|<6#X8(s*5ooXL7jwp`N5HD4iUB -z_OCiyH}ZG@5$zt%9-YQ&&$GhZmEjluDlC^_OA(GMf3hh_+B{c>vokLLwJdZMt#qe= -zG%!hT0zj%>>E}0q5jvM#4GV2{AQ@3SZ -zJ(+K!OE{jbZ!5OmrZ@p_r>~CcW`v`0T%33|&@X1Wx1tT!hMoIeu`m3qG -zegE}xWusnq{crN6&?6YnoxfqtS}_8P$8sPKVBf=ZV)+Q3*KX76p3>d8dc?E8iLh$~ -zj!jkp!Igl0)d+Th@xRJEZkf?7(-Z!yEVY{Hf8gp7eX)ff(D(ezR_|}wC;p3Y%-s<@2*0G4=Sj={E{`cjsHKtIh~^Q&6?6L@j^H~} -ze{Zqc02S%SGCZ&>lxMS?pwdUZtuG7G?wQfSup;;<%})T#rVdSM+zcr+y(9E@UC`8l -zSw6XgQ|OMqf0&sZa4a)T=-}YpW&cE|P0WPWO1NisXf%C`a(bIy#lJ571ARcR;@=+q -zN$J_uA%6mEeg|Wl-=UUT=Ay!=4M@-Lf9PB4?&>)Gcb&`Hq1Bn@p#D58I>)>Yoa|Tu -z+iWBw^Ey=FrPYt5P_<97`8~nrcZF3LR`*n~x+C>>U1TM^V$kU9tAN0&4!)8#{dcZ$ -z3p(W1xuE0b-*rAa+e(-hu-pY5oOI9hx;q>J|vYKf3f7p`GgyPlPfq2%f@|%DoktTpoQ>JYIS$Wm%Uc>pFoq#(;@n&*L4V!-Vc@~;8SK; -z*CC&J{EUY!-i}$aY@KCeN6+H}fANiMr?6D$=F-Essl)b}2zaG(W<}`&Ds!7V7JeqY -zn>)DITl863ay!bk`+*GMBSO$k(i{9_6hzdsD*7*HSn(~K8-#mH2RGf7pOqziNCvk8 -zMjx}dC5>A(nm0%9A_W}qm<5KR#_tSJBMW8 -z1Uuk-$GOjRk>iLldKB;;!*oj@?a&C*Sv1=p=eBSTI`h$vJ{XQQ6+itAtDB#7=@W-K -zc!(W2EF+8_=@3PJsEXW&I|_)jpqKNFcdY{3oUE|!3B -z7H!EU*p`bNU?!vY0MC86I3B_!a)t9>toWQ);>UHmKJU4JtnlYJ#7b)26FcR;dSWN{ -zIjcYK9sE8R$&(e|e;*(fc|PYs`S?!mz}A00NuQqBsVyk%dk)>FkxK&p#n}a=qGxH? -zqu;UghG_}+Fxz0DKQ>zP^If)X8g|&*1wVP5w=t>CZ)MQzxHFlyTks -zTz>n$^Va9Wf47AiH6usL*LnMMZP3>#w25t|hB -zoxBP@sd9#1y!7uGn;qHLY4}2y-zPn${m5g?7w~X@+d1|NUF=&%D`vrC9JQuUr|}D& -zGla1Es^huPIq3_n18J@CplskYmgG9t -zIsFS=;F#Q<$5L@h|j3;xlQ|)g$)j9tQUHX&^U;*8Or#lyZp^KmH -zR0=i1e^&YO;|2JC5%OnG%lzgu$e%ycxfq3?mE*CLp&HM3I=>M1^9a>fWhriHeE}>;6XmpP5 -zPM+#Szu;-)-A*pC`MaGbztDy5cB)E&8bu++e@p(sUH+7j^5z;o=IK+DN&l3Qno_fQ -z|G;qG`0v%PC#c{3@N*KBqKli4-VAQ -zk;nd_3oIQee?1PJeVp3Z(vi`B=(0;katlmXzSwTM8IWbgNO^3vV&vt2h{!UO>RAqi -ze~1K;TQ18_v!tkZaK`%8r6 -zkB^-5r7jvDi6c~X7VBR4CC_Wl%UZ+de@8mL6s~iq#(Z8@GY17aSycAY$Yoy&OE?e-e -z`K8D{L9C{yfP?T65h6txp0WQ34-p~~M2@f+Mqw!?0z{0+5T-GJgYXd%B1IU+e*!kb -zLxhL~ks~bQSRN4|Vnl{88Cf3TBO=C8?5V5lsaR%Y>PuZFBm3?eHKyAmuYaj?+#ZR| -zNxS!X-`!`+JsV}qQyWL+z7&oPjEXR9WKd`752xJBlM1!C1}uidU?? -zqX1|?m%prEiExkhXw?k;Z2CGkjhge7E`P8IT8%gc-??Am1Z>kN`AYOnqtyPE&7+`8nUHc0EKT@E6_n=ukQ_TlIldB3I0(yjAPA)} -zZySXZp+2X2idxQsJOMZ-ca3s=B|;EIYR@SC#tdNEJBr^g1bllLc%L&>>RM)r?0+4# -z?kka!=5K)z5e@-KA|D#{x}xgN{=2!i=_@W#hh?7zj*Qy!m5A(TcZS)Wgog+b2_i>W -z4sno)01+cHgy}E`nXn(=$PnIxGUn@5>H)?aJ2L9vS0Zx+@wtuy5h8kQ6n`^j6yNtO -zhw!Kzmc*!IU+Me_sX5N!izY@zzkd?x#3-&BneW?mmaRx#?%5`;j5>!QPBNU!42SR$ -zk;}5A%PiZK8Fd9io{=TxzAq`wlI(Y7N%6a*Zhj?_w~^I<2Z$1B!gv??3Y4c+|9o_L -z|En&&JvWL+mWGG2m<&FOau0ww^n3+f^*sG!)?<1k1DfzP4;03ap7^zhj(;CbjftB0 -zV?Mo;}(SgcYrjhc{k^z^Sqf*Mt4`I@Iw^G0*; -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 -zRqZFtLOGdc4#5G00N*@906kO -z4{`~xQWBa%ccAOdcRo(FEy*V5&P<@EJdoWiY`gkRIUDmc~?~7wO|$I -zXMuMst7Oc+5^f{tU5P>f{VKS6r>R35s7CUcfm%U0hO>J6Vb@CG_wH~Pnf-GxZk@7TJJ6fL^5>&Lp -zQD1eI#>IxJ7pKDs*sG}ba*UZuUPN_luBuC)NCsCGCfYy)Z6(X8ZGQw4qzFmOysZku -z{2H7I@8HfPcT~kbk>akZ942QAi~iLxUsj~J0pH>~`4G46qQPw?InTGV>eeTcerFXv -zLAvva%CoDAshqnBRxcs8r;6?z8>;Z!%2JeB;`Euo -zfaIJqlJ1{!cYhVN&1~s~V^*kl|T{FJUtVOCE_%poLa5<-w{ -zfPNN1ha_&}NKvx#-~xgLa1oei&PaT+*7WH={g^>y*MHHh1{1G}%{21Hr&4m^NIaT2 -zLgTvmQ~XMB@yNudEWCK6EGH++k3pTKYW%JxMDF%oG@E%PZ#LVik$CvF6x3L$@lDo| -z)cAEHvlPj7BOg$8mXe$4HRPOjCH!AYu&zJ@i)V`3x=!;~+{rpe$`tNRBPafq4o)L+ -z{6b^Ba)0f)W1u(_36qT@Ur{(ujGXmXx`RZ+A46v}65?D65W+z0C_#gW$PuJNFnNd& -zL^jKDf*0`l2`MCrA!s~79>-3M6!PU+@uKIydujVy2`^kes%LNy)mV3c9JlNqx$3Wy -z=HN(~q}z=#N9_(-Oc@wC#n4mSB;N( -zk~nR$Wb)O0m34i;Z^$X1;hso4ir*7yN68i8rz3TrNr5NifMen)YNa%JZN_J5CB`I%%TrR3T@3XiGkKf_dmCr54gtU>KO -zF^b6pCr05b+TDHm;{pfF22YKmk -zqnIi}K~*Y5aGpa%grxWxf|qo(C+zF1+>dOrE2D5?(lt?{aAcHBnY=v8_nBn5On

*~z}jU|;@CW;3t;q|s>A)TGgOKVy;F(JjTZB?Bv)>>kY&DZsvq;NC_EZ5u5r65C0NL#Kx>>>4doX!lZt -zeIErQfW?c%-qHTgCExbZS#<3}KKS>Hrd#vvqlNrz`2t?D*f!%`+ir6frTY)?(k%zc -zLIBYE2nI^e98ZTa)7zLC6hFid^yqjZJM^F75(_90l@e`B9fB%u>bIY_nfA~_=!*qDo+x+x7`)xdQoC|7oV0#>wgDOwZ)x -zvV9s)$r+jq2DzPh#(&y8Zh_Ou>7VzuOkr5~c6)_+`r9v0Q(Kn5-S9USU+^~FX3u+D -zl*iUdAAeavlOg@7D5FzY;d*0uf -zZ#OFFLIduG1%KA -z{JWICi)L#fxRM0ted?L`eYEmz-V4^-=$o5pY9ImVZV^m((0xD*Ni>iwh;RW81XD3? -z!g&MQW;FW)*m=mc?nlV=7?uFXW3CM#vk!_uGq346)PGd}gxA#iGo;_{pfJp;zW8@C7fVBzt9i8jw4ho} -z$HhQ#+kX$i?){ywM#K+u##PmHR9{v7;O{heDXq7TU|(2`x<5tTwQH;StBtkQqQKcpa;-9bEg~?yw1#l))nl_@Cce+@4rWlipAYa7Jebm-hPy0f0uS4|# -z?Rp$&fhb^v&Q=d!D7~b&SL26FXN#q|U*HW>_NfS@1?O!ro8qNWZG~YKiez{1kZ>?r3TWd8|*>$4y*pxB+I(F(9 -zya1U@=B<;*xW1IEq^BG9F>uq1gr1o^VQA)<0~9-xM>KN(=kSR1oH2nfrI=w1UG|DI -zOO&%p_)dNtemUoj;VaqB8*}nYDStSZEF0%?10fhN&F2Oj^T(X~Qc4@gV4uA5D?jWn%%(Di~W5j7{*WxjWFQv$0G>K>`Q6^Eee%ToQ%l~C#9(>8X6kvg+ -zWAGJR3i$&oc>dT5)ILP9isZ5}=`SVciZOC|4qH^x_Of$nN!ux*6*m2Ad4F}R>yXPy -z0Yz-p7`j1Pht{(b!nQFJzmha7$MB=eS9sN1&kG9I^J>q5%D9!Q>|4jo`$~#_3$K~A -zL}~mAUzcp@l}#Ncik6LuGssCN@=yT&Z~N;2;r -zBTAZWR8#LZv?a5A#c!cxLVsNeRb>T?MD~qg$^==OruKQbm)5V8HZLi|UJ7OlbzdoU -z`zh!=L|?X0sdekeI{!=Z*~ZeH?K(mbaDS~IE6POGx6~KP -zZPX97jQ(x^FT8u(F_zD~yL0T$|6=}4V=*Pw#<8>y17;V&W+wyg4TKcnb&SPi&|~qe -zmZTJd`ppCba)c-ei_{Zz1j)9O;MoZsOlh`L&_UTGJhBi5}>|lxVREhN5 -zdIT&8A1o_s_68HFT5)f|QGeco33feGQfeAm|C??Tr%EY-D#j -z$SI4R5ZFivlYd0V4x*4F+$>QUkw&+p24AB(K>el~I%E=*LDH(U+fgw`4ZL0QwNkee -z!JRdXeY~VE>XO&_Vo7`oQ=q<^=7K) -zt;rD`{+htoOw&NMNFO0M_YwSn1-eiJx`dti8lBi!6My=eg&S+ILP_g)$E$0I(gtg; -zf6Xi>D2F#l2tzWSM7PLpef{FZ(?a5F%&K>a9L<*3mMVVw1!oG0yyt6VqUk~n6YZC3 -zSbpS84a;+fC}@k+Jo=jHD9i%knrs#!B{QAn!)MYrxt_~4LY_=+D1H8YI&TB*H|U>h -zHGK7hYkxJeTw_zsly6x03gtInrv|h&krZjF5nhsKEh<&~C_n$3@eLXy&TWKl)nw;~ -zu9HjA+ch)4VcJ*?&fFLix6zOYYH!rw=ls@E8f6Pme&RmwTNCV9nt5NinrnpItgO1y -z7fTZt^E53yjXSdmWj3jn8oB67)-3ym1)9g93-Dju#uXD0V{%Dz%`c;1a$KVJ|iIxSmuwzZ#@r|ez%ykK^=xmf%)Sud?Q2_ -zjKjMhe<}1Azu}9wj=S`Y5MPL@u}1EeK^;Mi!!+*lHyw1QaY8$h9WVWy2a5=^r?LOT~)KeP@WMOwO@Sc#T+1wYW3-I1@sOyTPYd**hGy???C -zbGdd6X>Yv3=RWOt^A(mNEw%72-j2psF`uHf~|^FJTnjC8T} -z9k;y74EBzAzPs;Ld<*C9=zX<8o!-%rcIlm5e*k*Tu8s#^Wj=RDEHUHeUOdh+sPFw8 -z-#yPRNdBDpW)j*_ -zhXsZJ=L+&gl+7St>fo?-Re>n#Ru-)3$O0=0MCM-!uUGLZFQ-Hf7}3}YHg#lX8%4R+ -z6v*EweAAMx`UO9?uE-YH^D{nnc;RT=;YV{k3T<EfHkc)9=L9XbCQPAQc -zXc~~Xfzr8dl4RdkkS`|oQ_$=ycuBM;$X@y|@*W|WlW3*W1v#SiI3=+@LJlV(eVh<@ -zRIrUYJ&YdPRUl*LO9e8)7b&0v_vHdn@HRoZLXDeVOHvF$%^pH3N`KH_qr|~)(X@8z -zW6jzEv4a`GXb{~+Ip|`Xq|_FQ^-(Ky2yH3IV$K@{m`;yM3wX&&Ita@ovGh$0hFb-6 -zO=L$lz!Rrf+kW!Jet;y`LGs0M7z6k=1)V_jHU{Dyf)7Xlj%GrTAeg8*IvAY=a^^Zl -zd7}?e#se6D_mfILoh#s6ez@S`1~ -z!w*up02jtvI`J9$Gn=HdlbD-!bjlGmj!tqhva1vA2)jGwi@|-JvP943PE7P3=tN`o -zU?rj{T;!3HV@VNg%r?Z`y;UY>6!{m81 -z9H6;CumFCW7uZSwZUke1W+|dgsGA;Da4zMu9j9{)>NHw4Hci>8WC@*;$<5Q0LO$!D%cZj| -zd;UNDnN+y4U87v2lIv{B%*S2vI(Q9e)=+li8h_MrHL3@s0FMoR01m|J)}o4Q+w!~C -za#xn*8q`}=_>J*qTkg%h1Rz+G!(3juFzwl%nW3s-)A@2?_=Q{YhoM=sKs2 -zs(+X@proVoQ7S4OP|D@rlT>m%h#+*HQ>f?}xCA5tTS$pDDUj`)QpgiuI-dJaYqUIt -zEB4FW70qR(rZdw-&=PWWo}MPQZT)O#+zX7}-D!5xQCxK5!>Q36h4&WZJt*Q82bB -zWpwX^(f$}C?Flua=O)ajl}s=+6JlCQoSZ^P(NLC0S`iC};t32;NIvM|D9wh#jek#- -zSb~Vm+qvVnF+iW9j3iq2KE(#^!!Uz<;O~Wf-@h -zj|hSvk_NG^b&%E*EP%(3_5n2Y=u5x{!~w$wNPuA@$^{(cL4!KZ8Gtv&HE;xl23#1u -z%P@KY?Q-NH2uT-GM-dJpwZ;NN+fg(mH(**p@B#@Syd8rK>vHN=!VHiE^sC?}5aiMh -zm^NF{q%a*v7K05ng)Rn|R(~Unn@Cqwgb+zW6qPYKNOC!l572H?;r42I9&WymcERQU -zE>&X}mU1H(VA=&~7sifkRbGb>(wKLv&UO(ryU`3lY&Wcw*=P_cE_cCQVx#Ix7Zx~# -zx&gihbSET(AI)|It#K4U(1zHU2Q`P}gA_nS8o>ml1acUVBk4mdq<;ipXao+!6c7Ls -zfPt3*nD?Rs_8}IM7g7XB112vT8wdaq*wgJt`ygnAAONHQLjn@|vtj;I6~lb_7XENr%_n^q(DKT=t{vBV>^ -z?qf6wV1J|%UXm+s<^ANTDcB7Uo=lzjyOzwxW9pnIhL&_b(|?UFm^#xf%lyvd0)ei9 -z7J_af3jqlrx~MZ!xpR4!~VK~xo==_k%yous&bQZGZ!j^oz2@o9Ql0bKWBiy)68HgFdiVLuJY+(PgH$rc(EQA9ZCEF}*BzBK9dchELdyHF0mq$4 -zMSAC|F1$@wbvdS%TdZWwu!7(NG%E=yzy)|LU2wWU`ADZ(P4?_Sn83_+U2qbDvw(dK -z(gA6}Z0myeAcQcG2CQql2-&$=7xJI`ox{}bn186Jft>d4A|$sG4BH4M7s2D|B8o9r -z7n$hwcA43oCEQ);`ep|ThLqfe#_*6;G3)7bLqIXF2d*#flZD9rF7tZ`@dsU)5KIxw -zj|grc^|%YxP|?1WSwkB+v`@P%>A{?>u;1E+u5#K>eJL}T4C>`bpwo1<^k7y^S1b=g -zseclH4+sMmz>iqdM1lhd013cQORxdH+OBkb64$)Mn_zlRJWgHRbw*EStV5Ezu7X@% -zy6vU5uVvQv#Envy7YNpigfO6|#LRe!5CjrH3(5>De3(0{?1ng;qwW--96LpV%Y7M%_;J-ra$lxTbN<4z&V -zH_tAd(pzxPDx_N!0+We1+bM6g6PEYEcf*Z^e8?UvQU-BfgF({=cM*=X_mG~bPp9~R|!MogFxzesRgCTJf}6{8PGirgrai-8zPnj3}LqU%bbnCovs -zFiP+~q;$?`;VYu4R!vf^x__PMnXJwcT{;RHr>mLh1MGT28t~7=q^q;kyZQ*}d(;&E -z`-RzpX-loEAF2f@=e14k|Me1DZO?8ty^bG`v}THGRm((QTHQ_5&*+{l>h;~} -zngB4*?7ro7rh9@mt?e$dL~VDvz -zOG`)tt|`D&L;!xksq2pZAVdMrG(rf_O($3Z4-lVD4!LG@#|*6q0&ea`nrb7H9ciy( -zHB5B~P4W13d@XvbJOA-&yt|key4gMbI-MoRg!2|kj(5kGoq_h)SF37^(f!TcS$_0( -zcWp7#CMb!4!hg(?=uV>{>tuUz2GYb^y6cOXvjw%d+nvdcci}8xXz7l7h!F1xgL+vp -zt`Ab(mlw0}gYLN8e+YL0TdF%96tmBxUsoYn>=E@rDAnCstf8AC4PTS#5%SoG%=?IZ -z);)$Bd6(N8)H{$RI;qFbV!1}!gZ8RP1V3P}CHR0CV1Gue3$Rb>Auw6imG*+SnEx`P -z2ft{Z(nA!3+8zgrnP+kj+Jh(eKnL}}PDC(I?tvnks7ODG4C{IvEtaQrWG_9H;D%)3 -z5)cNA(+Cd0tm}dI(ZX}7FF6clP0-3+n{qWW4)}A;Kd1#X# -zb`tEHdy4rX1Vi8UT-%SCw)Dh|`3*1^J=Sw?KYtcHMCOu52%$!*kM|ggl&|byP#@@r -zJDNbxgZ-E*&=WTcM3z1V(G=jG9ie2K`s03R(rcUhv*e`LD9)gL4RHaA+lDyvzfiqzS9VrTzDxSP -zGgf`%-eix}w*dUkE`;AfyS*OgWg3 -z($I~4FR??w49}MLqN}u(l*F)#U|ZFTFE}$0H={bCt^*Ab*=O -z@8yBbly}7AX`>2nN%=q63-x3HcHL5@{rr#RlRI{aLRY1DWj^sco9xv>Ubd -z5^~wkJPJ8`;cwz#lzpRj?O^_B#&)B3+xiaIDU&@)2wf#O5Y)#AZoqo2HxvAAY57y1 -zB3i-I>zI@cUZqMO?XOHxxrMPHE8WKXZZDpUcgIQo@AAF=^dWD}GuMFnzfBQ5I7M!aoLVwI!`U*dc -z+~7IZ_Yp7HH(!d!(HU -zt@l`;d1WkejB6j0wgFn#<$peV%UJMoAG*WOoBL|!S`_nxy@{QDQW4)>CKb(kQ%FoK -zA}?x-uxe!yH9sNqW(%P>prPcQztWzTSjpk5f?QV -zIo@ngYnDD5Iz6zzvTP*-%|O=hZt-dR^fgCJ|ut9-TllZZC0EegIVxYknRL?SvnWONka>2{GQcqpmhARY5=L6XfyOm5ggQWQw+Bxosu>6}HFj5zfl`0Qxb -z>)H9i8LvP34;I0X3pKL|1_Qx8gJ9RcPUiqUNr9ONBEk=t=YJBsfMy;dfEZvfzK&1e -z2&P%DqgfyPT(S2pT%yb=-uD*M&n+e&=N9vMEPrlL??;rySbX3u<~A17DJFaJuz&TO -z7c=S)<8%78%ihrONAJz+hw=4HiupwKp<+>VpD$)&>J-6rfuOlqEEDZ#ip5;rnPPme -zNk{_b%M_u#Qh&U07&D$N&SHtv#aLOsnC_Az6m(rK#sczijqMqhISaDzF#e3M_`)z2 -zyk87W?QrZ}Pm3oFXW^&Nh;yJx)|Sj2PS?RDZJ(O54baACmuwu)0<%l7n%AX{sz^s% -z(+tPWzoCSGh-4@cbG3$&&BK{yPKhYE=a$eV6G0SZSARO@Hg%-Yu@&iEMxNepEO8BI -zNeVE-d_rJeiI6SJx!&=)%lZAo@hQrZ5>QuNZ*|i=1$fkbh@$mRQLIiOjl{S|q*|(l%c1jOyPqqHn`9U~`(=C}#ZqrfeK7f9SfmEtfQFOf0L9g@s|>keff$*Rl>+~gf -zqnYpWjpuI3qjDC$TO#DjUO8Rx{KF60K7U4aLQ_ilO=xCgm|EIe&b+!(a;~BvTqr%5L_%pgQHq>GZo{Q6Qle(Fnc=D1YA -z&m40ru=sdO$-D~YYN7ost6j953AJ=MNeHC~@pMU+=zdtTq=K35qkrKZ -zqAe&5)1_z-Ct5KGO;54s-Y?;IdT2F-BY@!<^^@&c3IC3ToM^1zC$-XJ6)e1hoHVZ} -z6|z|N#7^J${u!ijt}YE#FpsqqtEVFwL5S3$x@!nAf=tF1DwQTBADuTVaAAA46n$Vk -z$2Wm|CkPPM*I+`Q0}hnSZK&|Ec92RM`;bePPdReBshO(RQWuZUswUpcajv -zC!{VBERZ5}-zAwZmtq#Q?%bS$)?~ZOuDsj_xmzQm9;TuOw>9R_eOi*z?(#V4pE7#p4IH3#QLx1Nd(a}H} -zu-=C=Naw!~e;XFm5Qkrsf4yJ%KZP13ijeR -z4;|VbIA%T%nSQxq@;Z{7 -zBc1sMRXrH*=c!_@i~Vv0)0KWQy5%F!?IEg&ElRMSMU}1+d{wlEQ9P1~tzzqt9 -zZ}y{0@T{$>wgcyRR5Q}tFI>e^%@l9Ai>3iA2u51^@r9eJa9V!a?`{<{K1D%K`w4Wz -zxF1&TAujQ(AAdfa+1N50|FeD%t5^^j;*{ZMJxcGXI(*+w!V8~LavmCq`_fQ{(01v6g1sNUck^yNn8nva2%wd^AI82La^UM>;ppLK0*7C5Pi_! -zKa%Or_h-zwpWp;+2x`Oq>5A|INuHyGFpxUhU(Q?sl7c{jAb;qO6GC2shY}0!6aBN8 -zE!bbiB0&lob`dPQ`^yCX9?}IH2uW{$nLKcs3~0{46cs6t5ro)<{-O|TB3&9V?}IPV -z{&>~XAKyt4>{M5#+ulD*&>x`0CKxbNV>2(1N+9oDq@xN8-UFz|!T!|y?N^M#y}x$A -z%270Q2hfQLh<^c=i39LfYyjSh5zMs%a6TY}fiz&AGytFa60}-^UpoLM9WZH{Hek~z -z7K7R}8HNDelmR%CAQPaSO0WW6APQ)81P>4goYMy2Nsg|wL46KpBQpn_AH~u$VRjZW -z0+!iG^wKm+bZHcSRxuzlibV`4aSp*Sm*ATX>(Ip@S$`qf=D{-{1$d0GlQ*60+=3m? -z`~mS%LU=x^YeYLNK(Pyv5{Ln26TASzrU87ZFUq}XG%hb!4A?xH#a2L@Wg_hkXp?IP -z>>SN(Hh2W20NYwZa4k={h*ElxGQ563!)Rt$hfV<^fMGp)VLejH8Yrcy8YMLkSX9ko -z&1l@j0Drn^AorP7^m}_m>8~jnva=!5{f1|Ei2vdNimcN1Xqo+%U&13O2 -zZSNaf#xl)5iqY(S15XYcy3oP!Kz+Z3wFZ}@rv@_7c!uCRGf*x@&yp1K49pV4+X<-#3I_HL#LpQh -zHsmEqw}pQY20UQ|4-hPk6l*<3QVP1jg@HMu<~T`yz;uET1su+SqG-EFmVH+!sE-VM -zS#-rH=-x>YrUY^T`W8au9?HE>FsI0TI5jX^45TUOb`O+^p;pRa&E47FB>_8byK{9P4oogF(+Xsrwb&ez}Rf&IjfN;Y=IbDL2WC7gXfjL6LMmZ8| -z3DHKxZbth8K_Eso6pR6aFEB8hIZh6wYnOG1xI{?ppa|1WDm>6M5HGV)5D>0M@G6o3 -zy6bQQ@BvXk6C;>o5PwH;4w@+K^cIV8b;9V -zA~%1`)H*`w*+A?U`mP=7$KhGeoIxAL39&hYXtd24gnQDx<7fou%H;AbU7uUuMxM`9 -z+q?2%(mD=5&)zB@!n|C5Y0hUt-5TJSaQgesGZWm&|o| -z5I&|x$wvsrgJ>BaRmkom$#w`qKfwwljuK3b@D|I1A-b+2+)T+M%}{!v)LuiTy9j@W5so12zE04!5TY%JNg>7<8$|m-3`0r`{OX5q -z^TcJ{6sLcM+mWq<&-{vowhpG&BGBP&Ww-pquWio0 -z1`FA;m+HIy@LpVD{51~!2L{t|=iuOWV&c%?1;1v#gOoY~qyUSL-~_@z0?>aRB3J -z+60rI;xwlRqs}|KDK^1L-I>9gf6W}HDJDiSbmVpZ8aGL21`D}jhlXzAi*q_%=M}p! -zm{0j~aqx{_v(UxCOs+kLHUocbVG5=R%zPd-fD}B7T2UruzeI=wx(KE75?B<_TtJ8Ywl;7*fmc8pFsBEz-?#}Z1SA1d>tO80scv|-@eF@O$0rTZ{O7BN -zNki~0{18m`PS9zGuvcx`A(XcLvu@Nj%l;EdXAfEapUkMI1Wv$YAOs;Lfxs++e&O!K1j38+dVVgZf5ZVb({!?kP4Pi>{njvhOI#4%+<#{Na=UqogK*>TjP`?&* -z5c5(5RSF40_93`Rnpl5mQ0srkU!4t^`8(#?IE04wOSOf{RlmdZB!`CZ=}8U^S^YcO -z&YRT$)futlEh$F -zcLZ60Fe!iIgOmh}eiYzGLf0`8;{l{OiUuP5M%#!60%Az$JWhYQ0D@`2dV=6Sfy_Z< -zP9u#OncYXBOp@|9X2kf9qb%5V0Kov=f8glY?EF6L*cxed265%)Q -zGw>=1o6%Fqe|iXhQ35Xk3v@b2PDpyfZ*(D~)*xY;ix!Bn)2KZXxglB3zz@abLgfwa -z$Ayd^7lz!T<}-hvMKT~v`rm{h>CT}Y0Y8v9KLoc*C<8(L1#}^F4j@4IjR~<%AOIx8 -zL-0amMau=UBP%4rx((AU;PfA -zLf#xw_l~5!Ndwn;lj7vrGZAM;T5F0)y-%IVRoTOz2hAW%zK%Ed2a{~*xq-(UsFQNnp>zmiX?_dJc;AckYn#KOA2iP -z=z$>MPNAYg_?=_zgyZHid`z*fF!K;~`MY>dvb@alF0(Bw!#Rt{jLQk}&~8Ek(Cwk3Er5A9>XPt~sHY4pyoa~ag7@+Q2g_KV^)Mj@$pcB_Bg6sy -zAxM9Rxbyo970ceka&-Q(pfBCdXEkzyfyuW_~LsnY}?P5?R$@f&XL6w -z5I#>SWULYGaNs@u7!jS};53EH4!y_H=h1(-LgRZ%@5M49Ta=$I{NZlLpgsw+x+Zct -z*i?4vJr=)=1~OkM!|%t+@D{pEkY}+=g>7ftvna)L9rkUU$!nmOGkmS=B30%(Ws$L1 -zVcTgsg)HW~NDxcV_|)Dld;A`ACde8qd1{lo_4j;= -zzBl>Iu8B7>&4XFZ=Klf1vv%l$KQMRg(6*b>i9@MP2~vPmQgG7Hwreuk3bkSlGWe$r -zwf%v)rcpY-ZYVyV8Y;+y{MBkcapr&4KhQPj^r3h>J`{7=rDu{H1avdF!a^Gsn?-QU -zrUJA`YnV9{vo_e&%<~8Sb4vteo7IXaf+p+GtAAh`D~zr}fds0Ti|Y08512&QHWc-8 -z+J*{p`AZ)4UNy`7Q_TH8*qxk1MTK+oP^JhuhUO_!-wvJkee)Qi>E$*=W)#H2Y-hVl>To(!%3BcH1~@d!=+7-bM7+vB0%z4>c|<@B8Y -zIQB;toAVzS!way^e7f~NFbjWHpu5uYCp_)0<*SqXYTsJR~OWeQU#?n07M7geOsEIlGF?`~EadZ8W}xwI}UH -zZX!$@Rnqv@!9TH}=`9%z@Y~(_B9K8!>RrQ=hS%_j -zZh8yL!%fL7MgADh#R5FJ_4r%qKS?eMNC5(KAAhT(An$6y`sq|a9{--EZMDfCzONxU -zk88QK{{PbD*mdqi>^irqz42COl{fy@hW{(+u4B#iD8Y6W3%4WaKrnz{;u^sK*Z>z| -zJ&;03qCt`nf-y+u8wh^_mYakikOYjk2u{EcL;-Cam5)>9!?$7iF6^~n)p&8;`?#dg -z591S6>4(|hmy#4<&Y8nRnLO)s52ZZ+3}5nI+<^7eZL|0a^8Q&^JKn&ln>}pv`;uig -z<#HH?QL%FfX#&&E8;0}7HeSTMOcC>jZGWF7=MBSemBVP*i#>ltH!N!xaLcv@uo<5Z -zdKL`xyw5@lxRnN2NiO78^rm6^-e*?RFieyi>7l&bL(vEu)|K3bZ{@JS`z*1N=R1Xb -z1}o2Jvkp7+KJ!?Ii8;BlrXI?y{AiE1L!-zUdViW)V;e??J`)jBoZ7g>pbh@S)_{q% -z!$ehj9U-z|*u{VMB^`;(vT>LwMK=$V1bKc-kMGwc{mDNXCwHkFOCvAA)yUV1H=G`p -zukxK9mV94I9mT5aeyq9J_~-Z1JC^=tVN` -zj8H+^%UIt&%Y;m8v2wa5#uGbY!`A;<^2MAkzLtAp -zSoF_QteJnW?tT>-Ph!}$KTFmGukE2sZPSP_tQ+3?XDPmRI3kW@BAy~5xNi8fKTD2v -ze7S55*6%i~A3pIfQgYpJI_8LtsN>APOjDara&Mg{xwlc;sM05g&-n|pp2te$7l&t2 -z>RUgo_I---c&_n0p=&&k0?8PG@`N)?qUWe$=&+#7*mD2HXd -zSLY1h-}}tRbeDkXrT1bQ@co$U`ao~YbqCnfn{FgU0a}ufI=?j?iK_>3!p4;XNa##-5D1l*1Q$Px-`9c2TxGgqDBj -ze@gq}EIFI8dA6Ju)I*e7GP_T~r=l#ck51H9?zFa<%E+&(5Rg_O;?s88TiVP4or5haWIpb{JAZFGM|N7i{+iM>)*QcRQ@tnB0YOt>%fp@T4S -z@>BBYSWB)|*Q9Iqb?NH8-X}5D5$S)k{xd_#HOyXo9kYr8@@`N)_M4bSRN0A1KCPGK -zG@`D{eM&zw_$VR5m&rw+;Cw1YsXOy2;~qKv=@mI^Y~>Zq1?yJvYM=d|iQ=o6ptK4T -zlwOn5sGi0AqQwvTocm0;9zdg9l#}mWeE!nsqUa(f{kw=+F2y~lz4xEL|G9tg-Fsff -ziu)^Gjy@olgu26?P8t5RaVMr+3%caYUFHHgMU}JQh24J@vDujYDGzhl0RnR{D^@-x -zwQ^w&Dd>DidSGzPeSy|$Le(ydq~?DZcWeVzgg) -zalseDc@Z-xiN(*PtiY5Xj;Nf|#}|EZdu -zcU9j6;l17$Zz9h0MemlriZI{6>>+^So0tZq5)*=4!JHwGih`J!BaF#JEW~(c*s*tKh_!_?ACIPHSOtVpv>uWdk^|NJ-RhJg~Cv4g9$Ez_vAJ)-=~IGUMC3Nr0wFUA}InWy@n;a-tYWZqVzV(PdwTdkGHgm -zP(ktN{>bsg4gdm!IlI4TY#q}dQ(X4PYmejXeII|`zA^nD5Z8&0!R!Nd!ecSB -z1e|^2r1Lp;w#vCArt}~G4^cF=KZcX{$G``IJV$>~yHUMMZBxQ+e=+@l9aAxw=gV0Q -zTtw4MQHf!v#MwYg9?&TWui}@;Cn9X7i -zLCn>E_CJ4wpYqV@u0J(+0hSgJnBBjQh!v1znMq)EVoC=x7#s^J8C!&96ou_-PAgZi -zl=hSTul_@rPhbWSG3;yfFRJK2{A&@a=&!3o55DcRQ<`i3kNFx`fOGxFek}^mN!Jbk -zm+LsV7FYJSel7CO_eU_uZNG9I4-fZ+{u90yu}XjGvFleJ6X9XL*x&ZGD8JC3&TfyC -zwZqGk9Oz3f_RsxVL@xG6sC_Jb72q1S+4cSyzfTrnuO=wIMNoPh7C`nLf^tCF-Tu1T -zLhS#q%PuL#cCclcMi7r?_~8L;qcQK@=d`<2Hc -zxt>Q3a8nyC0}^WKlk94&@u}@!e7G~ecoDN`SeD4y0rHm0IWQIhs}>Eo^0lye1|V<> -zfe%t8z=~u5;CB;b11!r1=xQlRGuvy<#&>^Fzi;ILy)n9SKiwt16=8%&QQ>WF3DM -zn5Tn4l%E)Y7bCZkv#fC7oqvkT`2!Js1yR-km4yQpk)S_{bsB7MoQlx%wq-K(eEBkj -zp7$&rIQ<(@?jhg86$mxI6cOc@4n+8eYQw!LJx}V>G^U#N-ta|OOLEW>281Tz=hw4*c$RKT8p^$>j{cC5ICT#@*)YaY@~MT -z^=Ht|v+a$mP?Bqlj2<7|qRuc-i~@cBfos1JK9WVik5V_GHJgw*@jNnLXm8w#%$8j; -zb7YsAxfGczwh!DvnM)BVfBQgu*CD6?cyoBKxs{XTA|Gl7;)2T(FyPyw%=#0lwzbvTcFW -zvTf!wGRw(JIfq3VH-Z$-2kEAS@#0i`!F -zPeekjeaby7!EE?P??`{=-GP7k--?Rc0}%xaEBrQQf>1`J*-Xp6MUQvOpyl5Rp9Qh# -zM+{OD6ZDoe+N2}X_?3Y$u0?5uV`L2Y;1~o|w~ZOJp4u>W5CT*XH~`+!h^($`LZR02 -zgEmv8R#F#Q2hqCHk3;bK?I_7HQI=FP5ha-?4%+#x2$3v269(bC;2?i|7nCI(L`fC) -zL5HY$c2dVC$&zwV(lL}&K1G(4J#~ZVI{pNnM_bQc@RBG=qIJokyi07 -zcKd0Alw5Ni%d|mfzZK@`gA`HbAU`{x5Rj0NpO!Kw%{Ur?={?J31%c&*^v0qkgT{O( -z+)K$PvKW;t9VCMgr5S(6e>ZHHzOrc0gzrR*GKk;`0^bU%S=1^_ljpgW-=PQ9{z0q0 -z6XE?>%mY|!ByBQzkPhrau>oXBT&QO8AxmZXp!MI0>?3I1;X&B@kfoGRR2&+lPpDVh -z&65Ju^{6q)H>2H^LD_E4ajcliV?c{Ur$lpbkTT6wB;^w66Ow-zJxj%^B1_<~FVu*?#SU(ugA?wnN$KYt)I5_ydDB6gy{Ts*}2E?RKk}pjO -z!KZA~;8WiVkDq@mWq_)U06)V0Z-Ne)Z7@WUEZj6$mzbEaKJ8(L@{1^>uy`=t4sIPx -z&mr4La_k(OV2tb>9R6N}w+>Da_RR?3UpyG&1~#Yh8UH#m7L^T7H0JFaeB*mjS%wyt -z4#qTw1m@Dg^blM&7$@OvsO~oW%L9Y&d@rmA2jjypfj@tMxd8UTE3p(_c|Ty2hX?2X -zAS%L`BH;31gwMdbxr7-AE|aU$@Kjo^5V_(EoE^^02FA#Y%!(gG`80$DpN?4MxtX+; -zDQSpIMbbgw1;pS|F$EFZClk2rh#{Vf@ZmEu5%M@w5qT(}+=IoSdCFPCHl_57^xP@Qv5me5tr$)cl0Io09e -z_4EoF;hUc&vQ1WruK8Jtk~cR?DA@&B*M@)6ZA%tCTP{GMiRTe6{=rZ=k~_=%6PPEcte)`ClT~zDG3Rpx&wcm -zdZTI_{wXLjv{@Eex+P1gYu%XT_=!$I*a~&-c2M$>-CUA2hZ?yhi%u=Y1a1Oh-Hrv@ -zia_=yS&00G@b%lWWH)DIswmA`_LC^zk%c}UlqqiqvhO1BAnDslUuyV~Xe6Slwt%!}p)JlyKG#Tua*}m*^i39Wu$715RKksLgilV! -zq#;v*m6MW_6x+1qtBvTKlT1rMpeuo7wj;VbfuU>?K_!wNd$OXhm`0Lyda{4e7ZQj{ -zKsFU=a1!W?W>7K$aLpvBa32Sw}u=_=cUH@(_+bGAB8=vB;Z?(&mzbPHfXY+bnA={0ovXy!}RE!.=rr*l -zIk8UV{p8t?iOPG_!tet$_&$Gu_kJ=xH=AV;_E@6L6h%mSi>=A+$3&hDQO0f3be~N3 -zU@FgTa{n!yd&-DZ;T(%dzkuj?#66Z0z%mgbPzm$_Nd6o|Y#oQF!GIu= -zRRBvaBBBDElTZ|(3{Xjsn$&o9oz%QK@%L>Fe=&oec0v=KPy+>Uuz+<4gxMhAQ; -z2}<$m6h-l`rItq#^0$9@B_*@hA^h&Tlm?1rTgv)Wk+*@`Tj)(uL~uijUictIR}qwX -zu?!p0-pvS(x(2av0ToC(x1i;KQh=oxv4;U(Kp7xhOr@B2rr`9KpM(vuAHglF)}~sb&}dy!sxL|Vs02%X~!LQ={kz;+dZ6#;%g5D)>_s$c;40l}(NMOd#P6ldcy -zgjBR3fTF!Rb!2l9ypbw&u^T8i0=S7_kJlgpd@uxHhyd)c7FDBR0Lyhmw1l4vQn5?| -z@{r8}2v;LMXwrZFB;&N^I8LLf)0+#M4EA^nH32+;N`NJb%z$!$kDzJYZnu*jzmrrm -zR8#kGZ_@qheeN%2`&9S6VJ$FiOOYBVa%EGYRIDNhE^b<1sdP6@RKnh-k1O`Ar1NcU -zN;}-PrVW+s6-`IB5Wyu)h2FdrkrG!U8XFFNEcay@PQsghXgp6QMTf>2wVuTtwXFy9~u115M^?CQ*={mikW;+ -z03Za20qmO*z!2boUnwArq<;&dE)wV~i<>6sDz+k&;WpA0ZifrNQi5=ifFeK)khcS^ -z2UG$IccOnvKp7w+VL25QT+vk5xK8ryy1!iS+F=q6wU$E&8tFaVl&&V;L%=eLj>Eu8 -zDVwG2IowpQR0f(JZy_S5v4##~4V6=srR8YaK?G-nt|)*;9!GG-6Ik9eSQtpzC$WLf -zVr>A5khGn{!T?GD5rE|smKR_<-&B{V)XA-HHA -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 -z;U|AX#m4SiON -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 -zB>4%1ZA5<)Vekme#h|XC^5FijiveBV5 -zuX){j@@vC-^=rfWE)QN3zV%&nI-_p!pLdunE}Vb2!uh~5iJrN@>^Z=~0-#M|M0y6L -zJ}R+PdR9vGOO0L1E-B|pf1kv1mwbtz^9B_&6EBF%CE8|n!>55YZzg32x{0K+!`(zm -zXg@*WK^agE%8GJIyAI*)FhPp*a5p-MC74ZyHE)aP{&d{Y9iS7R??5`fp3aeBvy??R -z`IUdqrV~zdR)(GquDlHQJBBJ!7(96yv{_~&R8>AD!!sexBJdOFOY&tftYxN@(=ry; -zTzMw*649;CO4D>x5nkaLFTq&ll14{C#$`IkmLZ^)k505ovlctZal0Bg%Y`?J#pM|o -z_`d^KRgTbEYY4KBWF#8R8%eUQ%SbR*93_9r9VD=q5=3CgK0q!JBwf2R^v2-fj5+X&3t35qskEO=L+P4x-q -zQ3UB)igC0MIzu#eoRP0-1E!Q1R%+3C`OYCL!?-x;KHX?KG!g^5YvCIEx@#Ewaoaw=GxF@*vle&10vo60)Q~UvJo*< -zH+I2gKKr$#!o_syFJIghaps26Rlo2Q_HL`hVu_(sWUQ@o;}gaa`6)!A<*58zBGDr? -zJ}H+T!R}o5W(%YBZM}C(y3pG;F^{Oi_2!+jKoSnvM@@htd&*#eY=Brz<^{t{4M{(?x1I>5bO%bPSAikizIcn69J- -zgXvq}78S?R^}-rVPcW1Q(iP!4gijL*0USor85sxPK^)1(HYaTbw^P2U&qv_4l4|*; -zK2)7SXWzsLE$OU2?k_m8?xEE5$7z -z-oe{&t@p>|+wjoc?kLqlDWm6Zcl-MyLZZQYue+#~P-|Dq>82f&kw1^n-&BM?%YGp9 -zdLDF7Fjkp+OnYC1Nh3Gv3htDG*W_v~xh{9` -z=rtU{*E6QSCrWPMK)rvOfh*%R#KQyltMDCzlp<6`w^cfQPD{hIzvzQ2yVK6JidI|^ -zNsaSXc30@&*^F3paC=)ec7;;re^-qyRf(oR@QnPS4=)J%~%2J6goOYVPodC_!1dzx1zUo}2f -z-IQ|pX8QPd^wwMH3Br0i9mD8m(8`}qYd+^4`2sIJ!5F@qp8JlzB1ZdsES8S%st0ju -zANHO;P>HC10P{uK6%D$zZzY9Br&9~F2?E1$2zUsSibha64DgJE(oC3CHHOl~R)W&; -zP{zgq^GK0oqe6d@{G*U|N{o)Aqu?>!gx8Wno3Nv-p@ZMNf~3$2oCcQRDIwrN(Ad=w -z{j132D#ByJT7n25Ov#kWl_V9dBgyT9VJS&PUOb0vAjz{4j~IYFKbOqM%4oktQWUnsn(s8$d-LDbf>KRGJD>6$AnSr4x#vAT>xy -zfDi(N5JK9Y=l%Zg{pQ+D_S$52cCzQ3xzC-Mb9jO*HEFr`1&gu{4=B95oZvil_IvhA -z>Bk6ZGcA;}(vf=Ur$q^+SweDvfbroNDUI)M;?17TuRXg*TTsX3 -zE9>srlm#4pg^PyKZVSjw3(DCI_4YWzoCPx)mEUwy7bd@Y_2%k22z_=lY{!gV+u6&+iE-isCTyQQQSRgFy8vk2^w*m`%9j{^SFer@0 -zX)^(K9cFP&Y#|bs$E6DJLPhs^7fyAsxmbtyPcGOdHh$U8tmSNCnWN_tMPODiEKdtp -z3r`H!0k;?N!mhv`ci44AB$|Ga{l!K^tRDOcq163ccUSt|D`T;B7+AP}jrafW0nh(*o7+(2 -zHn+#IUlm2~x%U$J{|KIes6K)1NWNw8UqW*a1pV)!dB9eK#(76AMs#1+p&!|}AxhZu -z@_6T;3afsEtle-5g_6E1`&)NZayOOIfACNIr}mGmBOzJUPsa%-%anZ|96UOh9s<^o -zpQ4}mTHSkXbZCX`$saH6=wwtq@>ciz^$Kr -zd~=s`@uR$bP`>qZUHpqnF>Ng>VQgS>QAa^8;bxKY8^I?mfF8P}ZTU<0C&;zIXLrcg -z&LULhenqe1m;s;kp>U|!m9957VHf>CrDA&{)BpSY<2&SGX57MD!rc6@*`s)H%Ffwjp7*<8kHL5f$)4eWO(EW-xJ}eqoe$_LbX!0JokV@4o9|lCb%ZJ -z<6x9S>D$%U2rhwJ`|I>>mHg57(XStcIV*z3J4+T89zK1lc=fa5)f+j;ldCb;o{Mpb -zoc#59YVcW$c8*wl*BdU0t~VynC~I0~3M_!jl(&Z`kn26n0M^QhtHND+9}q$HERVUYyOCc+7k0$TaU5SJ9EKH_|OHKtQU= -zb1E+dl4H<1d*$}KsixAUA33E)Ez8&6Z>i5X8^P;%CrbQ}5;-w_&=<5OOgvl@fpurSm>MvYce)ZO7kr%Q%h2_# -z40y)kBHX|{P8pC!&;bqfFe4I&L=Z88Js&*Z2e?iUJ?0!2E0rgu>CdXS|9qPbshT$J -zD_WiOtIDVH?a`JT!izfa(zzfvC(AP|kS`3hIv%DvhjXyG=ZQRq2?g -zX0_7GA*Umj7H7USm~MW~_^Ww)iS3;WI?po5)6I?+A`9UF+l^Mlx9o5;xDvb)eyVcd -zqn-AMO;?e_D^PWB&`$N0~bcTYJUFMx5Sf -zh}JWO$S%0$SD!{SyGAUR$=snA$w&kU!qN>@!53MhQok#)pN!F+`3IxFwk8}^f8 -zc?EwS#`;Y#C(5feo3V9)wO86%?7o)tm*`)8>@lFvU2Er`RKq+^(d|d6&ff#BcEvr{ -zlS`&r;;?GyKE{KzM?I2y+eETlKQQuY&_sLZ$*{NgoS~(0y6Fq(=N|7?Q{xXABg-G? -zonNKGLEi=&Uo@kYm9*`1kQbpk_Cw;r6s(LdV3egpe?rY~gZN&~06J^x${ -z;wA%+aBY~1Z$h)Oc63ALC2myG>^cvYhK7vl?{U&}v1uOJN6sE9Mv*yqcUj_gwnMbUbp>g40N -zyBI25@@kZkW|RBy(+@LVZ{*vH*xws#5LYldUJB$BxUZNpi~?L$!#-3x-3oY3s!X?D -z3hmRX2D{T`8{_*J@??j-A$ixnmfx5Q{styeZZ2bCu3oqb#CQcc_$EVS5V*h+A3XU| -zycU(_xjfSwS4iUz9TRFVKhE}g@rlsMFldaw#?YM*_LS+}@NmVnOL}#Yev8z8P7L@B -zsrcmgol$7>we2S34B>?u8wih?)p@w2n@^0um0_F^qME%|(}OP-<$3M2Yid^0PY#k! -zPR`=vMq0MJLLKL?q4HM9XRw#@Xno3@HF?+XSDUPGe24{augicP`#SWirQNVv#3G-(CkovuMYTLT1 -zLEQjhuSxQ%UN&rcB{^cdA``kq-yq?3)H@j5WHbV=7ONdit=*L3G;lm`UGjo_94UCr4dy-i5Uaws&8!wB%>Q0B_GGiwtUZR^U3*Y% -z*XCpt^hkUvgusNDc37dIDs(d{qWDwn^Zk>#W+z4<(R{(%hQD?DTJCmHaFs2M7$zJG -zVJVTjXuh#t82cHUju255VQ+{yF;GW9a)gNL2(_DFx3i4xhq= -zPBnf}YsV^k&e<)tDGO-tz3ovE>sm1r--<5Q%c2GB(Tbx^6E3Q?ihUSFWk$&}%^ktR -z(ScW9VwYY$58HJ5Fx{#y>Tr65t=KQCyzH&C*zfOj3zZIa8$Rh7_~rJB0s2#l;c(CZ)G -zJ91fM!Ua!$^LpHG$~(`=h}0K=O9S6k%_^*gH;IOx301{`G=Ls|x8h;cle$L}I*S?; -z(%$XgtHAFM7UD8mo{k~;w -z>_5;ocH-L>UnSE^5JZvT29H||L!#$Q@u_WnC9NIpM(pJ38S(8M^+@mG$513EUQqC@ -zZIq^C)0=SUV*U!YyU_;I1ebN}C&?pXHQBFdpYhsS?bs9ZTHO5|u -zL5^x~^{gnM;sV?^hYPzII%F(@UD9uGU*2G<{aT6BU<(nm;!k&RWlV=Y4;Y%5(kfo&HP5;~3R*P6-3nOouc! -zkZvrVn+OURCz{W%YyF@D(JtN8l{&XDj* -zw084MXaFd0WHzH&mRtaZ@?T`-hX1F{cmG2o8sNub1yS*wMhZI_vAA@dkKxRueTCG* -zp&gIKsg2gCtd{u+{|A#ZViS1{0P7qbOC@Ua!xj?gI`~ -z74nFGLHh;Q_Sef7{J|X9z)X9>81{dKwnk%iuI$x-tJb%Ngrf7sdjWEjDvtR1XIoE8 -zI^0YRuNmYaqK5Sh{ARmS0T&3e9gKUu?>-^yUfku}fy!^rrX32^4lN2`xFqYP()j*U -zvn~cxCmf*=XfxTZHKFRZr%CdzhOmA2CIj%1xEWdzd2hc38qwN<9Pswsqw|u@FeV6v -z5UBX}iHXnd^T1GCX1t2e`nQi6vQL&vGr!H=me(Ecv(94p-*Miw`A+>8gH^|K!VMV@ -z&c-DVxcn!jKTyc#{N^dEc`=ME$23N$)8V3;U~K=0PwQepO+|+6c;6MR5T{gzQ|jzp -zdC}QZ=%8p%ajd*%x|fQ_{P(yNj-9P|&~6W5WlsSEs0_V_pC&$HrEAzf=eFaQx98T| -zf9HRbXU6!Bsg9F~b8(G;D68(9I)2F -zx(D9tA(005q2H9-hvnF!GwkmS?a-mn+UI1w!9~)fSOzMSQt&d;XIZ|GEk(A(neA;; -zJr}LcG*24Od&5DGS;bQWg(DkFDEiCvy6VjE7N+&;`lkI#FSU1sWL;m_2)0CbtSRp? -zU-wW$bJ1=yaOO5e`_7VX)(SwQH@nc6jAONS)KlZG%VWp-UJ2|^QDKjC!mixe>^gvA -zf;8Dl(Tm()Q{o=W4*u7IbM#qO;c>lVV39tmXxGX?!neYK9nFMqpk+Ld?@Y0G{6%_O -z#dZ?I5rz)f`nqedCuwHrC_nPMZ%}K;bQoO_UctK^F5}glA3zZSKG9)@)H)%wn1C(1 -zQGg~vK8pr}PJ>2FSn>q+4MwvmGcR4)^LkI!RFIEp -z|Mm!kJS?#`ELBP0esdtb`^to2l(;`-g7U`z5EhIkiMwCut+DN&D}J(OqOW_S)w;ys -zN4S0PT;!jMPT=o1>$|xIGHEppyFVDIg)~9jag50Dl73aQw?Wl}+{n}h-dn}fxI2zk -zJFT+ZY>A#;+1@>QzUfMO-js>F=tN&lo#C^6!BmE7s$pXxlEN`0p7{q>SYIt -zgS|`mo=Hd6!oKP_maQ1Dg1U`wKt202Nb&a+(FBFuphWN7jGL?QS*|`00?w(ROEa+g -zoupPouV#>2`_Syld88&B?h5`&1*N&ypoEfTv8i;p=F=&?96$905Z`5Q_iegK-KY9|EF);;T0D=$<{f -zDmo&Hhk#R$g;Uj%|L6{Q_J>~M10`uTd2RM{(3%qmd$0?l&ynMBpE13N5=?sG3jX|J -zqqnV#H_o2pXUYt;H+Na(iq|SnULech2pcxk!u6~UR_bNuvK~~opEDAmHATG}HAmc4 -zj4N^*l222ykq%&hV2HkZb)@%l@R>o0F6Kxj4QkEcXBvCW*mtoX&s=&e$@B_|F|No9 -zo+7}TG>~rXBhD3>BQux)M5`J*ffj%RG_Ac{`%pR2s^rVK8O$H#XnU97x{lw|>n^#u -zUD6Jl5pwO|_NSZ|&pM`bD)VF}J33*e%P>FsIQcpb7{q)Or|EZchN?4U0A7UgL%c?e -z{AZJ%zCs>H7-&>za#|7OAPEN?4^BF7e>(Vbd%Ej6n%K-Ohm{!25FF_R&E=q^bT|j$ -zc+X=v-hh6na@B+*Vdtd&k|&f3Ads>zW9tmJLgJVv(C6`3Pu9QDR~w4-NE!g|MZh$= -zzybZ5CKY;$Tw=fP!V_wM6Gvd(Sh>-n09dkTZQK5rj+MO1<2inu25uY^`KPJ#_kR6# -ztL6d1{-^1PRp?zbUVF{rpluk61g{WI1d9;7)KtA(hvE|BD><29z>(ja<8wa6e)$*q -zymHal+HSi!Eg=3Cc&snTciCDC2yvRPX#e=HtPT5beUHY-#|H#z1KVm?c61r^E<;Is -zCp=YZ{7ch>c6)leSW`v4GWJNuYzEY5N_6cXS5eglEMXFgU@h3Mp@Zl1v{xqjur5nW -zX&hvA1DBeQ(k85^5x#fb-?OP6H&WOeB=|O`pJe0ofhBh+MIV&pnhvNE@RLg`&>v9u -zKS4W`{h0hA4vhPap#*MiLrq+&t#p6wXgFYzv{Q}fP!pyMtzXy}JpXc%ExM=Oa3wGP -zq{9oOje9{aOUa=rd7p<6sG(rC&p7!vK6T%AqOI3Z>pQ7jetpNvoq1xIH{MdRsg`(_ -zd~4WA`u@zP)_$fSpdGzFzf3o648OQJ*plZ!oh%4u2TkoQS$^Hf@Gs~)kiaN$G(y(1 -zeYmOy7k=+^uKOpuK_B}e>S$L@?TA4Yy-FXNmN5GYo50LsUQ|yk!*$hU|DwJ%wRg9)VywscpgP7mc?z8$zuvXlY}hlxjgi1OVuE^pX|PNg -z(oEAQV@qqgMm?m}$J>oH|8_TJAP4n&pg`WMpazw{GH551I5j9Zy#|R%(l!pN+qB^* -zHh$h_CL6GJ8NO8o9*Isrj)lw#PZ)g@58|wYjAEv4l0#pcPUeQYZ1zt2$mR+(5YxLz -zbqrC``qC_a?4^A&s{Lm^>N$ASRa-MQ6C -zBpJ1{@G5!o{fL9^#&y)Z&l!5AKwP!Aig!DPCUZ=8f|JpE==h+w++u#juBT%$c8bLv -zZ0S-9j2vWCH`6KtPnP**E_empzqpP{g!=j&vl?a&)nN<`HsEOYOX -z+XfD(2(-IQZ*;}KQ3gAXO@Koe!TEEBuFtXyI#V>HxuQ8msq22K^HRZwt`&ZB)aF08 -zhOjR8XV@VB*aC{Irl`#?jb6V2#HY&&NTyvaRwfnPY-;?u|D+f8Lr?X2t=K4+D&*Vg -znG0RyFspk6n$gVs=pSQ`8MVe#>(MW^^7t(0P*t1n(L5M?1YzAa5Wq;`SoK2`U%ipl -z0wW8M8QQo|2D1kWIgnl)S=CJ$l;}NJ*}#ui2F#VGH`SyppQR(++Xtb-Czqff&o|w9 -zNJP7B4s%>tPh2D%bob#PEqC8LxA&yA<--}icy7)uvQ77GzRh^y2{U`;n!phVEsM9{IX7=QB>*5Il^Q`OZY=n9je? -z;Gn1A)VK^nb9YPm*CmP}MXA{);CGV(c@P7*u_VcWZ>6W@x#E6}o)HxfPA-)zn3ezB -zzF+tCa++44SPu}IV$)q>nW>#J_)v3oqQ74 -z=(EhL?9T9eNocP6`8!S^Aug3johmN;wedIVn$3d-a0((IuXIyz?j`swcJPkxyeRQh!=RSE^a5H{clNx6sZ|}QYaK_Q+?Zo)o>zqnzGj-LH1mA=619+jvwr-tWxhfj4$4fJ7Oni%Dn4@*G?(ZwJ96^ -zeZ4xN&-D67H{8IbIOQhYE^;_7=&_5?C*UG^1_M?T^&DQ&z@1R_l8ASmsCRz+WN)jL -z3Z1Y$2L8*4L=eu{S^+vcM)KRCrtN#jsqe6)Klpf@EJERFv7u$L;c&y7cpVLrJ63bU -zXr2FL8h8rj&ABwsn`O!1N(}``mP1%p-xXFf@dg<|bCxaj~ -z*hS7T@Xop~bQV`xNL87U@tNIllg!t$3-}CgRTK4Kg)VskqI8?ME{%gbai25%hOwZA -z;rXjj;ry};LCId~+R7OTEIPhWJf8c@f%I&eiGOl6t|0WnT6F`HduCg@rQC=jV-x=Q -zrGa4&K6)O6_HNXO^u}_hch67+QW@o@GVe25i(ksp!A~XjUG=gFl0$~iIXEdA=Zov< -z_np^T!~h<))C!Mqa90yr^bYG^iaa9p>WK5AWz|e~+#8xk=;M>^lWx#7y{yxuQr68B -z{AT1U^y8U(xK|hzFWJzSv~vwR-v%z?=Krs&aU9dY0=waPb8r2O2!6;Z7B{aQve4qZ -zKYXaHp{S^+tgNUQQ}X_QimRd`pr|j#q2yfmx$c{{On%(FaO>8svYYf_ -zVxbval1$DdPzyDw!~Ydl!5l?v@G@0Ia649xiCi6w@6>0^Te1(YEp|8FeUW*5nYi5G -zdJ$=l!f3Qx0y2)*1J6ainL`ODM>imO6}G7sTju51>ld>|-smj@hC2p9Hfg?`eQ1{& -zTM$0#d7G}ks@WBlv`R~mGjXW#*gckoy^_-Wnq{->mHA))5u1`Ye<3!uc45F;ZW6P4LI&IdB>5=Q`@1zS*q9-kZ%y>R~I}kF} -zc%LLEnia^pnBLHNgkdy?jyD$nOI1G5jo1q6B?$nlpueEqUu}7K#>^n|%s7@8v_j&8 -zAVAbmlrj2fjP&@*0cwe5VbtahA-UnG-`t4gqr|P)i%^4VqN%VZtye^o;8b0}5SE}i3IGsbAK~P@{Q}e^MW-N4f+W6WqF3^g;hMu_8O#KFi>={N#>Q0Fw)~ -zBtKpASC3IFpR6w|a&&o -zLmof+_WZokR;G39nK2Vs#vHluofYq}I{7449Nk;^BlKfv6ob!ny!BNa+(#A0ULuJa -zbPc_0+ArK&B9hknwQGN;&{OBDL#NZRB4PXS8=Uj2n+b+0@@ARu5{Q$qbE`w=mJk;w -z9~HmNyQ8X5%apRHz7q#3{3a -zMIVngph!e{Wx2@3!+l3?AV1T1|!ONI4@7Yq@LvMrJ8mMZG=V -zHLJJbb7o|wXvRoJP`YmPpx&OszKaDqvr4WhOQ65F(=g&Zvrm1wdpUKvZ5im73K3~8 -zWL$_^{YdaflL2b+!d}4M)2DO|){kA|lhfk@;rqnNztl^N;;Wrq$<|Lsmg{E!-l`#PPWiuy?kYutKgm0^oFWtT(qrfsRe}Zs9()fzq@9e5W6OQLEt%j -zP2mN6&HLF?<6V-7I{n!{>*5kr{-t&y^TF|{cR%^cRPEX!HjUy&M{+&xCtVsF4%*f)NC -z0n6ZJ*kxeDy?iU`1Pb~uqBmfnZ9g{gAm?(qP*7+--$0FBjOBpYTxIfoN+%S{7?eAQ%a=7L2TUIkS*oRiNe|L!> -zeNlD4GNgC=@#U)uFzR2@k%N)&Eo=|C^Pxx=2qBsBf$@Ycgar?)LrmFp7o?3Aux;+AUP%f%B8k5VWA9n&D`m -zh~-v4C}b0%XHP}AJvJLst2^lphf6G%EuUI0@erelA*`XDsJk6I62$N?#cRMDOAiwH -zoBwjRhlXA%!WRCzkMHV`DlH@ -zhJIErupI3ng|JeQqh`gcdg%47Eq~?Qm`d}rDml^2c=>O`{h|G88j#|eH9@QW{CL^b -z{VP5@HBQOcotoq^X*R{sB%h&F=vR?*$)!AOWp+3^d~GYXPFeGDJ}!UdDNvd-s1MWq -zrki#jZq~cjo@XopEf~NSQU2~zlcfAQ1oJ10d;9BXeUk#kqv&*`&C5qPcyzglboA$3 -z0&HudFWUHY;@bC)^V;aIV>LgNx{<#^?GMoAbDd5K1gWYFqM)-Xll$BC&ANnwWw>7LvDtwmes`Y|7K?|+c(MS45NiE*LF8;-2>@sn-iGRDfx?Jv1}4l62V$F(wN -zQ&MYBsW-uf7QP!_72tKjRUQ-vP0lpE3{4jQ&X8hS(R`op12!X>Ky@Zk`ItuZ1{^GCZXo_Rq)rO82_B@ -znRA>c;0O=jFAnBZKWMRA<1Z`73ACB^OjrkJ@7e3$UOQIyBPZ>lzUkW4vXePh_w`-Y -zl*>YMRPMDntZ9@f0pfoMQ9WD@E|VX=#gsXT{~;2In;&AMhQXCAv$c*IBJ&1!IXOA+ -z6)h(5IJk+lw2W=tGFezja$7JfEpgG)4CLE+m4rT#!c9G^a&)$LpXs55csr0&74~wv -zSmzw}At#mbH%^1u!}cw=*G`mi?vf!+{8OG=>^U*1QOghbge$h+UlS`UGWREb`cg5* -zZEj{_5IJg7mnHOES2*R6H|+01G~{Wr53dx_?d*Zdeo5cY<%J -zGD3FX!xmc~{PR!9`_tZk5$QIAqcTZi5%Xvw(QWU?G>8jyXxmK@d%Mg%JI!7{^xYIm -zf1OxWykl$$u4w2l+jJl;K-DBLu2Hz9w+Oh3sCpA1q(Q8>)}5#Ng+BB882Bhjq)R+0 -zN3q@1XXKU_J;HxUJ>&*=kj^T<>s{ALn|bmYVOMA8vzZJDmb%ai(S!>$CU(BwXkng! -zo<)T*?jW(RS(X^8m)fb63f9r>?FDBw31$8toqW4!{*#?2%2f}Qblyr@jxTAqdR=4TzL6=n$dXVynSB)M7>g&~o(d>cf!og)tZ12ai9!xuvF3(Ya`l{LW@6KcsO -z$t`zMIP5tHCgkWpi56g-jZ*(qIKL&oAPjJqTmy?X#CgZUV?^G{T<7Ohva+G2yg+gV -z3BeDgxigv}|7Iu0oRAoZtB0qT%vn;^h?g-xzEnIFZGd{mz$0uqvC)n*45P&FLKn&~ -z?2y{S2S?YH`W*{vtUvlB$4m7N_Kix+5584`^R*;3crwo-2}TyN=;QuLX}n4uKtYG% -zmX~AA!j*d0&ZycWsGMN7+{upoZZD%jbbBFNy53kFP4B#>CLzQx%V*O0uo~a{Y&6{l -z)VZ(F`E={@0h_Pn-MHhtH==rGP4EGF3!F_6ZeMnr_7j^~Qi7agOrECdGj|`f#<%f- -zzJ6&y3W5Y(i+8X&aSOI%k?)Xz0Q%TG9iqO^?Qj%&8nV%Y2H}p=CS& -z?}hSWDdNHjg1vPO7g8Z3>+zIaRfBLmbq4rUuQZ4jVd||B^R2v2Ed{i6o -zDjtQlYE+8St}lWSKDy*i2TQI7o%ieKI@N?&Ij~%p_6Z-eRv|j8I+e;kL)%X9o^E_7 -zjaT_Pv!?SA9Hn=c7y-1{Hws44JFY%O`^!Q!Dcn0}qi?UD^5-7!;L%3@7)$R|vSr<$ -z5?RpxNwQ)G`7~{%-D%~UDFwLG@6!3KZ=(+#C~Nl0rNyi#@jXq(uYX@ccCOkVpX3Y6 -zbr=nIj4isF+a$?2wm%Hv`XepG6MK((-er|~E;cL8Gh~+>p8*6HX7jEchk(_DHUvx) -zn4NIXqNdl}TPGKgd|t3k$kD4W+XdiOJ1ROZ -zZlNKk;3ADM>!g4M%?Be34G?L#9ObaFnX#xHOce%bdln65=>3sO)&ok?0CZhbtNk%N -zf6X1~Uaue2WZ9}kaI)-S)f+Uuv1$X%;7=AdlfuUiP?N#rP~%Q -zPGF?dYc!zQrMh_x`u9|l%3HL#DhIffn_X$56U#W~u4F|B=iULhysqdnbKMQ{Q$svE -zT61SeAslJ_M=(ty&Sy2RP|q57!6Wp4!%sh7gsA)b$`u|zku~M -zrgjZ1nKwg-y~2oz`aHn4T^B8;H$?zY?J?4KC)F9y>D|vpbNp-ef4k%Sz`d5&jBa+c -zN~iGnm9aW7LBFB*8-t?Ici4v~?ieL>W2bxPoJ!+6=q`<+wXW*|vlodsckH);+XhKZ -zF4Gc!I#^Kx4#LvTfs4}k=vdFzgh}O@Q&BL(+cKFEJTm-7o$~c_^2m}gRtI1=)xKbs -zJwqWkDMv=*i46FL*? -zk6AJh-qj-$39c4Y9ODIWkNy;Dq6Y%k^6xIiF(oD+RaZ+wy(igfU3xzR8N|w?WIS{U>oG$_vvcfGl -zMtJ5rE7!pCM1E9m3ZGL4q4VMvf2}a;{)BFM>#N{2AdLcT_@yuw#9h)6r6z>RVThjI -zj>j|I5`TdhfPsfmLZpWA{ceNxB^Af?ihg{cBd|r1Bjr$p=FM<%BtPk7uXk)rA~pMq -zu38a=rbQESEGr+(WgbI$dm8X)dbA~|_U#?=%CyAJFb7{hz;3x_9`L$AYsbNR*+u{C -z0T89JIpALJ1?RMDD`>?Tanv(eOt_(0>&SII_XVKsa_`K7lkrZ{gix`PcolWu6_s`e)9!RnCbI?!jnzA$oaz -zdjOA$=YhtW=-WXLx&Znex{$Ja1um3(7sLfsU~=uZ?TRjl*0&{{8msP*En{=rtHqan -zv9HY}dgOdjT19#oFN~x`42Cdoe5TK6kAd8owpo66+S-_k#JBH5*^MI5^NcfUXPi}u -zhi1<*HNPDfI^@@HIfhJnb!uk?#%iBxU2{#{ctFQPyFP7!!rp$9TL -z#}pVdSK45DTdQWx7i^fcWXAXB9;IJZ`ZXve@GK$xcEMlIwBBK|27UZ#Ef1>V`=*rf -zUzNeigONt#L1%-`FZC7lMX8;pVFy-dqIq~76>FY6yhtwIN^Prmn7(~;|M(V(r^G4? -z+LX7(-sEyTe$^n-incml7%0d7rhAUhbZpD@|vNPT4mL+?evJ&s6$XW -zlv!t7?TxYu4W@dnP>PG&m=T_P7gtGw?0RJf_Z -zS2dLJ)oxvS8=Xn$0tEaVHYv*-eVx6%&RW;qm+M1|2yr#Rt}7W#vhDWWlni9;nVX&m -zbul3Yc~fBKU(Y==eWXjhksK196A`b|zsIKi)?GZjFkG4cJk58T07VeD7$M{1obC%=|R=CFDX2-bpyH=e&#GGC)gR(v8%mR0kd4tlBf}Sk#uF@R#o0z50rX& -zD$mS<*=x~Zo}>jZZ%dMT+tAg8DG2Xa4R6uk-o)yKR18Q&2-g0JjFwm#}>6f -z+X7_NPR5LOI@=( -zJ+SRI%UHCq1+2a3KtxSMe+{om71e-V6;_u}RH5U?(`Cc6SM)6GU%>H>LG31W!q@1+ -z+JgouLWjr;={$lRKOx5*-tE+|r#91pdDHfr!j)z;mJ7?6yQslgo -zenXVu!tvaiC-U=@$m$PTYa0`0SI;}a#NAE$+g7^dM -zLSBl}V%YOf&KJz>S&ymqIrTDse=DN@g%VWvpdVkSm?cl1^yfFSpP?Q(=!i_hn{VDU -zR)OsM#>PDYmkIzs2m&t>laJ#?W%zhIKm7Kky98j760o(gzeRjri3+70h*E0o@rYr~ -z*9z;`xN=$)_bE;=Tg5eC@&^~#Ms#I>`X1amy$SH#FZPY1C}MklSC9ayK~28#=IZV6 -zqdCEh1&e1*kbJ>Tovm}D60C0L;@iGR?N3FD(hWWBX+V_vPI{uQq?_Er*JTRibQJID -zx^nW>?!f~%{@%G?6k3!v`h1y9&aeY#VnA}k0h~Eqd3f-Kf3f0S9S;%IjU4N#GjxaL -zfS#4a3x071L*6<#n+r7gkB=?!WVChM(6%MFL(;CkHk!Z8$ySfEP+8Lu@7wBp&eM?a -z2&`HB8~FUlh@+RaV{YbVm!&Ji632XgN5l@98kKeoJ`C0~$1Ay%hDCpEV@%TC0WT(< -z1JbRdtPez^j@+){mpw%2%wt-_duIhDeBGM)73VxLz0@zJ*`Doet|Fh8h0VlfZ2H-@ -zDM^=xeHc4#Zl)w%5tcdj(a#zyd$nvalOuLWY9+gSv1pXYPR8Eg551Te5a#$xMKxjnOG>qkRTDOrdIg`J!@htc-fE7i94dG#-yt>{4;1;1mCf@JIG9PN(5SctFY^PlpC<=g -zHzrKjAPlENT8>7gCwfBkDdUh+`$9~iT9G)BDsH3#_^i{fxI({&v9{A@YuCz5vPJCm -z-}OxDkHnj-pPVUZ4Hyu6apz#)rhQKG%U=M0g5y$-fL -z>hh~C*38TNva9V|%6bBIUzfIh4|NQpmxUx8EoR4z&rAE(aVT -zumyb%`;rglD^GtWUa@#0XZXR&#~)!nTa8H)3s&oG9;XJfcp;IqI5+VJ9kC)IU}p~Pt2nkR)X~D*)>p~1?DVDGN|ql^v8^1Kc^lR+ -zrXsl!^X-9(MF;slR46Vo>bm4FR$x-RjGAPy+tyMLPWIhVV36)~@zF0RxW#l1e5Gwh#t8U(_R8$)FX-vYLKKY&)@huG{OK> -z|E&EC<&E&X)|jE$)4|)cwAvb*a}GlD!gh&N*jLC22hn*!yCl&B8ssQBI;u3T=FjBX -z@!Df?CzSbk{eA~WevY3fB<|eoAn?6N2y$zAGri{yn9ZIo?d_nh1`UTorKX_LUzb?( -z4d}S6(=#AAa406}^1?B->c-I64-!7p-ua5&c0>fSV9x}~_fmo%mvBq5{mUL^a^}05 -zi)R4cxF;CAWVp{=5LYxT5a0212Nk*;JJ4<=4x=ns)QX|rr0}>Lk399~khE|kY!WuS -z<=&yQI&+O`S=5V<2Ti9`j8kmnj2D-5rY4VXnl!%$7Uon5e2nA4atlY*gq)9Lyp^^`i+AOML3+z5j9z5In!&r&=v!mgm_%Q48SWTlR4Rf;I -z=5!!I_t2U#WZ$dRIQhHibMeX@;pehPf)q~+U-Y-@r4$gC-aYLq``*fB!S9{821(;+ -zf@P${;=cT`%K5-DBHEa3?5HEEF28-HL%sc -zwg&l+1h&)P)@?1uzm=-nYUf(&{Ds|EQ35g#p5=XH)RaR1t|$U3j18=QP!ssaNHX{n -z4t-uci#a;JuvV7W-2f-jxCDwx7u!&d^V>w^^t -zz54|j#fQ9pPt9}^w=@^#)UDc+HVI)0aJ$K7^zB5X0NYiqqMA(Uz7DtMW}N%#?5U`8 -zay+l2(q<(}7RrZ;t3Ap%T*W=}a8_>La_dnC|JLC@JT3nBXVS;Goi_GDga-(`s!s;j -zCL7$FL6Sk$6~huidw1QOez5>w6iVNL2jX&GZ@~fjgR~LVdT<&-E9uVj-8G+IN&1ReE||&dj(my3rD>T -z+q8>~cMR~ch{0_SwJ#+2s75edI(U#ckZBM3J6lCjr==7=`b}r~SiaB{^v}`rDDMu16K%OUb)f -z;sN6bR1u}f;jisz%a>g~guNPDF}J_$QWDlSX8CFMGd`a(RlexF{+nV`#+xHztAArH -zJBB{{BmUgMsVI|`Dk0N7y~GdbC>fI*{(8lQ=x;)S>eP8Q{xq -z87jsGcJXxz+63P>?+r8{L#LuM`xSx<+KgB)ce;Pvy+7`K$)$0q9ofV`p3_0T);`67 -z^MWx60N=u~+9ytU)`v6Wwm+yQF&7*vapP6Ffb!y*zs)SS8g_VJuY{}cpBG_N&@ZUX -z+7@VoxTUcyDHJ4j`e+ZsZG;-Le}C&l4q(8Dit1Nn`{w`}iyD88xXP2d0nW_Lt2@z8 -z&rTmkCHMWqF_RYS$CYhqlOIA14C8r&zYGi=ws5ceplcs-`zvK1~1 -zJvT29S&$OWH6nrGYqiPqZz8eL!*L;ft}m5%=$1OP+<+#+6j1*$-FyXUiGGxW23&nA -z`04SQND(dOcYBEDV|)f#V8FmDn00k(S5zF9Ix3ziZmGk3{{OLbo#AY~Vc#gKYE|u3 -zTdBPjDQd6UReNu-YIBUDYVSR2?@_f!jM^hgZGzgA*g=rj|9#&Nd2+6kFF99Eo^$`! -zeH(^#b=TV538^CNdFMlD&yf-5hEh`(vLG!~-%TyUJilb#&Fa7nObs@6hxzzS^ohA7 -zD!pS{kL-zdsYhnZS9tr3;9uQ;4ZJY@<#}pGmhrSysQlaxXu6|!eV|WXBawNI!Ux}+adV+ABWWDC!Msh0w# -zgwx3v*sDY$Pdw2Br8TBBrXT-V&uMzE%V`}@1&7~*(Yz9jo<=|&`o^6G?5hs&C^lqYz6b?3bnyfkkxIse>M>C&za-5ux{g-uT= -zw>;iRDm6pKR{>;^S?8|+Qu1QYU)+r*H1IMC-lvB&CZwf==zzIz)kxD;-In-|2qO)b -zS0YJ3lhq1$hiP>g1V2Xp(*d_XNJH6kVQS`QQ_PFmEnBn>eeZ)2Czo4im_7na{IQSb9)tMQ?2F7wE -z@}_R`FEZ|a|H!A@rJ_VP`>BsMW61X)?C*h3WE2>K!b|t})G=cWYs_nmYpfoKH{K`92Y`8J;R%340m@GOI-=WE?&1tlV)|af@GapGu%5ey7nvpN=>kIo(g48E=Ifn6X@1Zu?BWIMkS^}c)i#6d^u -zQd#8nYT<4Na(uU=gO6VSS8G*k53pL9`)ZQjr2bpYc-o{TJ)j$IXXpctPS4U|!PycHydkQ0s@2Z@NZp)3Y7Wfc!$041+uu -z^D+>@ff9s#v3&G5VUT2}o)G=6q%EB{C!Fx&y{bg1_wvk*&${^}oS6R-Fda>oM=4F4 -zPKemW8^hiVhF7+_mM|f5x?wa3xA|B3cE5B4AXM&>ZPKapZYIrRn(^2Sc^o|4neP|tX28MSGScmmG(FL|`@MKX$~1^F -zh*-ja2TLs%O1(Uu*A}_Tv3l3m=9pEB9xV%6jDil_+ap+Iz#8Y+uw$tji7( -z-OZ{dtJb`3l^_5+F+GNflk0J -zzwR<;KQ<;devKMGDk$n=kC -zZeOJ#D*LGW5U+1f0>9k`eJ_jlr4J+j7<28h75K%hpfjI{W&lxnu-TG%qLLWIu+~D= -zi>NXAg{anpx5V>sry(T!I;`q_d6bGf*NASl4#vu}XWhrsA5R7{|Q>dzkFP#7q$VM#ZVpSvTu1q)63K_hKFjGl{+v -z=SHe9a_in?ijRX^4z`R9Hy@PjYkfkBVBgfDL{MyM>8xz#z)50MEOT7)CsaZ2Y=oAV -zJrX-nBrwweuog9tx$IOoL~@aP-JQ>ErT>H4VAaXgo74KOq5M@kBJ0&4{u>OO6G=JS -z(?Dg+n{Gz$?mD}KPI4?aIy08Nfoldcv7dx%8iFZswzF+y)WIJ=N1b*#`!dXfHs%t^ -zR02`g+xy(2F6Ui;C#vg*tVb5VJDv3+xJwFk!4D5#IkE;|Y;6iKWLU;iq5N``Z8u(* -zTg;aXIoOUQwo1>(J@7tT<-T^xq@-CqAin3Ew=1>foCkI}6^6ReV>c4}zZdj*IsW8a -zH%Lx7o$kZXfRv4qUfZ{-w`QhgPp|lf&`G{1I%=KPD0k54%nuPPo!4CQK_|rLdMgea -zMIQ*|on8PGPho6p_LwaUFqGNu`PR_Q9a12G``$pREU$NWL7>9a%CD6}KV`ZCXCjbf -z$X%o7)Q_<<%1nX+gEef|;>SnVXZdTNV`@O3jmpyytWxltnmbztfsJiiowcG3j{)#W -z+g}->Rf*Dc+Mn@nUF2?**L5qewbB|tae=$C9;5+PQ@lE*0kJgrpKJLY?=N>_^COj* -zL+&)myQ7KopfegVR(FsU6wc>MN1KQGE&v5nLTjE(e4PYs!H!obCNqX%KoN(wEHBC1ui?FX2pG_RtHsiGP -zUm@MQ({^juQx*Gh$VbmLGrWlJ2drMtND@}vH~t_0LHfH-zUy=0y_!Y(eG&bfQ@XSyGKM(je^7Q@-F-T8e!qYz|h -ztBunK6(hXK(;ml%L~;y@b%!Ow)?&1;Diji> -zEywR1b?;kg8uH7601UUwuS(QRY>VCM8X>V$D6H&W&wA2;EGVg@tdxpP4Bw{NN?bVt -zCtmE{gTV14_oKg(I0)_RI<^`!tjD={a+l&9SFG@uy2Ab9sm!v}ber*I2tC#sX$-nR -z+`<}aKtlik;+Z5n#3=N1GBCS6zkl^Q~9IpLw@%n>B? -zH*38H-LNN`SRcpanQ-uAjYAhZ?X&|A96tOwi2E`FhSN#;9IgKoG{CgJ0n)a1E1IwJ -z&7mpX8~qVs^Ks-qI^a^&wZyA*n`C|Cp2FUq1rP%nRnzG)0#L)0*vI8%#ocI1t@cdE -z*g5A(z?K+keZ}SYd`Tnmd;|po^6%)5^Ra^6i4}nsy+OJpE6qpwh -z!OlKKH1*o7bQO)49iv7OwtO{s6qwB;9e&lXzXK@M5hAW -z$T63BLVVt_n?GnXwVzlsww<%h(pt3COz+cI>$(JbI>F!dX4m}3y+_+vAr-q>cL%yb -zvC41no!3MT+{msxUI-8)C8sXIpSxuD(MrNn36RK(<@BNz@aatySVpxiJu<^xp>p3M -zlvI01%c*=_s4VwsveQjSn?z<|%17NB8^vGYB+*M)=#N -zh(fY%rBU+Ue0jhl(3pNH0Fwcip|&raf#rFz^wH}NK2+m@=_r~9KWu1u9`zfeiO;V)9vv~Tk -zeCNom^emljbH2Jv6cGa^|8em{CScIwh82xO6pPBzzr)}8Jv^cMJr^1y&|#io4qcFG -zUtO^NuM1x*K7+E+bCG*X?FpZ*<_eom6OZiGhl4Huu9FB?nuRI*ox2*f*~l?B|8|h5 -zG0{+O?6#;VV$;h%bI=pmHdO{~wRWKvMTU*QAVm|-8%EZ&Z2(XEW@RvdF%{sszuvs^ -zO2GqR!`>QAS_!Qx%#8aq{@kpTEZ!}nHSzk%LE!X;Gc82bPCMST!g-p?Shg{^@%T3c((%S>yP -z_>T|Y?;fIQi>W(N4f(6F_1okGt!!A+fV{#j12O;yZ|`Xh&4<;CnbiFEAmo?!Iwh3! -z8G|mJ0w_lvWq(F_X22gdu6wwv9fyaE+3b^I!y9=)3V9dc!@^J7>KfrofB9nQT2S{P -zKLZ6-tz&eYy{@|@IhyaV86|zoQnAYYpX7?|c}{cqwZC7Nx{# -zimUIxFG)^SM-G|rpf*Jl=EWX1@%dE-wt0`$N+ELM%~(U{XhEHI|DbNqEyaS&a{}T? -zeB;vLb)mf%Y_3NAZ8Q+x#7%OU3@N!mCg7D+N{+HRQ<;hc1?%Rk9?FZ)AfK`r(_kPy -zMga|;2wx1HKrJkrdc#D(+GFq`ij#~0 -zIHprFyeD|5SL@_U02u2o67jubIM8^H&g|9Mza!_t{EJiJwGNNV$K~+Qx!W60sr`0k)G{597IG!e`Z^fQ{Eva#~=c-Sjn2sCyQ1>rkzfX9~qy#dd -z;joH^;V@stWh|SJ2{VE{DBS)DA>TdX$(hmZ_bsd~)iaqh -zM*fJ-%mA$McMo!v0oIQu@YQ!mdrULifwL!h*oVwDRryWyqX`J(et^IU%hb$>wF$II -zyL@VUvbr9K+YSWF6|hmP%yKJ~Pj5V0pS>kqf)WvlY{*Q6p9T&SF-cWvw7xifyGG>M -zm -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 -z{u$u3v4JG^q@n+%m~!G%vTIwF6taAq@3 -z|@qIaxo+Pt~K$oQ}TPjEg$C*IgvqvMnSF?g^p<4$Vdki=-22lt~kR8n(U0 -z8xbAed>U_m`iiS{&SV8*k3649qh(&!w9GpO=63cw_@FSz>{f@Rg^)VUW)@eHl~(lZ -zJ#z;{y}DA2>1LTv=*A>8t9Z?jx?Qjf;dr6h1f!c?F1ozO5emYbLz;ByDT22-gUI#7 -ztC$UE@9tjhcyAya16uU20#eKfj+pauKgBsEEq*>b)f~^&r$t0mt{oJuZE5pCHc*80 -z|6!Ekh1x_)!YZ6SPcGZmJHSD5G*`JAY1Q_Md}K5*Pf1?%a>Cvdoq;Q`j2^g`PXo%U>DJ@2_6L*|hOU@G?B3xUb(Oh+xiv&UAIz`h$hTVaM_;rY -zC2YY9<_I7jsMGE2bNr}9)n|8Iiw7=eq1j8EtisKnx-IH=0fMYIT2`J4_>kAA_g{g% -z^)ha{-KDMx$!qhL7Qq3myoInV2m^2RCqFrBkN(tE>s7D*8(@ARw^8fmMjKkGx_upS -z+^6mK8>%wAtY46vZ;;_9s2u!d+9Cp^Sd}luGJ|U0u|5l`MPqmT^+YOX$dp!#CL$!H -ztE>g=L>ZdxPh9(avQ#o=Wp$xb67}UqwCOUb?C>!&l-D?rQzJ6lr8=ifx`f_Rpfuj@ -zRo}krUOkF#47}pcPmB(~Gs;$?hC(80-qcOg19z^ISsERBd424XOVRvfH1i5tgX`GT -zgucf -zVl~Wrc!Q*E)bf>Vq~+xDaiAVYeC-lFZ(XTDR_y8LHF@6e1&KbIVfgLo@U=F&U%OW%U30`g*w#F$*(eQq&wAc{$-SK5SZ7_pe(PnP41aB -zyp+&wHW^LDeOz6528(ms9J>VHmyxL(bQt}PxN5}RaX1U^UL!r -zD~TIMl@C9YnfmKg@;;|Hbu3_TqYJaMGA)K{7FA85WWMkPQ1@M9PXlW)A`!Rh6ww1| -zWiRlUA;eENC<0P>B{Xd;rFa(EYXpI~?9qX5j=eYecply4@M``uTwmhBnBoCu?w7tn -z786OLzt2`$rT?j-xlZ{+19`hu!m6;nzlbrhw>ZqRyB?u>#0P$9e&L0zLYKK#-}lTZ -zh^E;mejebuSpkLj!UR=zJ|5BiZk7G40S|-s+2FOl&X$MwdHyD%DY*Q;U3LJ1h#8iN -zLkXYzUNinV*?G2`to?DE^4>j7pI86eaD01`GSGuBlFg*t`Doi`t_w1jjN -zyHNRV#oVV;%C1w|KRfBW5a?}=v!QtJi?D+_H!0543( -z^`0$afgOKF*VZWT?~(4u+AV$D&Na0^ewBaIO4?rkfUJftb{8!CI$!|~I@;QO+m(z> -zD`peEm;FkwkCk~IA1V>V>wUkQEva|YapmV_p8P;N5OlL+^p#Bm^wLRM8LbO+CedYT -z8&kbgDdaQe|7=olKtIvnjuL!l^i>EBE6wRTM9qVWug_-NC`w*lR-7de8S~~&>=iPZ -z9jQh{SGwqJ!hvJmIy6<<&<-jPVNxwL3fHJD!4DIfl -zvHp=81U;pmaAyl`1!WYMZ`GjI7tSGPWT0(Bkd_#bJWRX%SpSN81ty?#^d>{Lni@h92g5w0pPrqcul=WKM>^XR;G>MSc9Z?A=_>px?J^hKZI7XjbMNP8 -zB8WbPFEfg(BJ;WNLLV|h$#r4O`CXXnjMd?;L+eg&M%esPL};8^n7+gHo9TW}m@olbbP4f8YRw8whFIikxh3p|ZjFT3cs3an&gB}Eny4(f`=fg_aK12N}z -zZQ)C-A<1_?KJv40zfvr&*Qc^h-j<9TtLV8H|5Xkct;5G|tR0pS+cz5FWScFENv8HU -zw9Ndz6>D?KEyCZXp^S9G#-uM8wFfhYU8p&ifFp9cb&&ro(0acNN1YGVm0rRoz~eZt -z=?#{9QWs_7PM(K{GY=`K$E?skoxho?slXHF(EGytFe>0ubwHaAix~vLP-6OF>~uRa -z=!$h2eze~DbIF~uQ$ut#e6n&*T%~RvCyp4mafcwMO~MuwhQ{P1ngI4xiQTUtu~u%N -zbUO5^zj7j9-m6tHM2;XYJm)-h7Zh^>ae2rwg+E%WqO^U3CF*2eK5I!(r2Of?oSwA@ -zJ7w6YL+ft65xEP3+=(R@;?&X#CG;Kn(w< -zeOr2l7|TCTTHLHnx;9few^U5)Q=kDnM}E)=^TW(Fqx;?nP6o3q#)5rH7VCCS;}7#a -zv{`Cq-b)I=Gq{S3Puf=+r6W`wbY2R!5|>UbP+2GZyc~KzmsV$gFa;b`WfyV84~dPP -z;s5b8>~vrISE!-X|7O_75AD@I(195^(HWc{sQ-1Cw!&VM+{7gR`Rvx^67s@96uJo|xgDH=z^_wd^xm&RD`JM9VM;8{s9|(S>^=6;TFXLp| -zEtw>#9^zjQTvipeR+9^_@CU$vHM4SzY@TSAG^1oq+PKE160b^&_^IpSkAV;e`uun2 -zx|}jzBlD|sCy9LDaFY(dLPw<%J?nnvil517+!Zeb@oZxK*zeN5NY`Hg@TTgy=GKMX -zGCSWMHb&IFYlRBWx#N;QhPpkyfs#S}l$8y#S -zqIe!;YXIb+xxob8;^am8Odj#?T8a>9oN#M<%z3%AhL8{2(+Pi;+2r=lB;^8sGK@Q4 -zneAXMPHT4i&i{GS{8ePR7br8gRl*_)Gj9EzpA}LL(OjE(V^RVA^eq=$_w6q$f}M9x -zfz{aNC#ij?k$X$T5GKabh(=b6KvwpNyU7b&>?yU#RaOF;G`%m+{B1G2I~PST$O~#B -zk_W&b`)_O7Kc6FGdj&B=u6#Q17>ku--Y$=RCjt-a7ke&BrL`Dd5(0b478hOJV%dMk -zm{yp&8q%5CpnZ(I8!y^uPPv_@tdpDUo3pcjNP%9fuZ?BQ)p5>EJTO-pFItFXXGMDV -z24MD5xtX@3ODhQycg=lY!I7hQ$SXWA29J9%fosa5C^Ji6n7L~n9*xFfR;rb6jcFwh -z1|A%;$!#NbLBi8B%0Qk=%utrR+^*hcxQgRmLbN{i@x=#9Nm<_zoz -zkIfm9#KX+kP1kz5n)0uPIq!&ZyxMwS)LLyOJ~^%G`PCw5QMdJ0Hb~x``7W<8XSOg4 -z1W$A|<|W;))gV6P==C?kcaN>KJLw2drySk`&Bx{}h_;^?>_BmwzBO&_GjoHYkU!Qs -zrgr;`^Iuo$3atYTd!|k_a?rUNMj132{nr#v-TZCc1%;{wtv+lFN`+Q~!71;}rFZ48 -z%TkNd;UyOVR}{ts??Mk}#MqO#rkBtBhUlog5YaGcW*QIXlMCI;WJY9Hj6p)1rrNs4 -zhwd*gU6A1t7;Go9$zHy$>;GN8j8&K&f^-%2dSK#cv`S!GQ -z9gZek@d@U_p=>N@nY?}R>f>iQdV=7Rd#?Zo?DOt)H%sKJ@dC0uiJAJjuVil(WC*?N -zBFoKX{L*-)`ZJiG-&|1s8_KjLd@{F)qoy1*aUKQdrCKs8>Q`*N^Kr7F-{9+Hd}0Sg -zC4B^LB?p3n%MY&L{q;-1yT-D>9UdA~-rw8{-XFY| -zV>4jS>Q=^cp+)k0f+!PJ^6LRjSxx`fJ1+nS>h$h1#eoqM>_)5@&P_Wx6h~@E(+tdI -zsKcVgked7lKjl+@$S4t9*M8i>TW|o -zp%Jy4Rs||Kpqw5VTvi=b5znJVXDcXx8NbV0X&L%v -zn`K$j`g_IPal**im-3Zo!9pVg#&j<@jFAXqc8K_fTVZoO#)=BCV~MC_1GKT^^c9Wu2hUe)7>3) -z?C`LgIYWq*!1>*>W^7;ON@*5|Z5URf$i#Yns*m7Ga^hLSK0>egC;ZQbEji -zD{LqF_LEnyfd=9rfIt7lBFHw -zF0pdoW?V`>72C0`R&(snsuWdWc(JybF6hFMy)qW0a(|h1J*sobvl{uG`aW~$DKe&% -zd9tlTVmD;039oCVjNGngKtQ>n8JJMzYQM%qYI)>nLZ)IMWlwooxCabySYq`(&oPdc -z<|6w8^+}w)pS0=8Gz9SprUxyKk-#%^vdz&{b3hmz+t0W>6uw+okOIa&IJ(mT&SaSB -z0X#R1n@X$r>JNeTbOmJ9T3B&KvkU?yv9Pb`r@34fR-S>Re!<-5`y0jgzz~UdozCLB -z{+pp5ITw9-#v~NCZ0*fK2~ahYdr@+jwGT{uw{?ZbFadAd)XAEQ^h -z;A@oN1FNHn^EUbq9(yZ>WUh=4UM6To!*7Zsv)Yv`!1(TQ0drzHNJ%*Y;$-284+=46 -zaY?V0{xGntB=!D&m&1`_9qZO%V91TSkUuEiTvt)CzI3e8L3+-`Bj4GDUF4ph5F`aWIZP+*qArx_Dp6h>?YL*`5EZE -za!5a%8E5{}`>GEpVIOrp?KiP<%AWQhHK%CmlOODRM#-Xk -zYEo)5YB@um(wpPSMto(OYro&z@mUy5d9Qn(I!%3NT%z0E<3wdt@MJ9l-RX(sn1V8IGbqr=;%d}n;|If3U`tM4B0HL~vUwxu!6$=G -zPMyfX7beZXGj?ooO)<}+Ir}MJG|?0y{ -zFI$(#95HkF#BMV)^$j=Wv+wb(rNi1(Bf%QEB!OgoK$i-}JuTmL#N!~RJ -zMPXmetF7(mncT3ED~r&MW&vtklbVSMET^XKe_K)W5=&K<8JVFrgs&Ns-^Fq7;92~z -zRT~>~;?5>K73L90zZ{d2f_iEnlNdIInp*n`eGIHj|Gmxr`pepQ!fUiTO(&C)_8^sk -zIzh;gE?}i9c|}Jwv)bx|CJm2K?lT;Evn17xOD8|i -zuReE9q+|P-oTMjXmR)kxwd|_buP+H2q$d*-n;5pM8y?0FmF{p+L~}h@pQk)e_juiC -z`n~pL*0oXL<762%D~;P^?j05jLX&KrwI3&ZxV -zTu!;dx6k^zU~^K2g6s;Zkxx17_z)USy`R|FxcN)g%jv}P2x_9zW6}%5IzR0FQ#)?fk?@g~xi>bsU(A5Mg%#WVeWwvidFr8AH*k>GQ9UUAr7VFNWfq-5+C$DM! -zvAYgbj^3dXnvaq$c!j=vz7JysC;92hTb-mkGzXdS06+ZYoIi~bUD4@|&z_a1xr~p| -zwdkGF=a8&((MYaEs8blwyIpM0^eyg>69PQd4XdV;$(+U-2fkr&^Jg?WH -zdeAZV+?YLqLbtN}h|uwvCN^7=kaF1?d#VJc*pH4^J4V!l5xzw1l^^Fr_dT{(l)7W2~kcPbAd70>VRG$i6bMsG(=y^X?`NX1iAHdvYiBr&|ffp?f(wi!3PK -zG%&ctNS)Nm66%qFiQ2+*o~VL&Fk$5+4l^l|MJeRb8dA)Gc&|NLGjzv*LS%<=z$lx)p<1ZB9?@8*n -zMW6@?AZ|v4yu^8HnQH7(fF<4l^ALI8i#OA5QuFmi;oI3(>P>rDl?*ax11|3a5g5{7 -z85dmAb-<^XLUS^ILhf&1 -z&xzr%39CQ6Hb(`DI=hHL@Xi)wzuyQTjjd5=KJ)GEq?S+SZF<|~-D}@TP_?i6^Z-WgN`MnxD{BjN0lONH~;25Ww6d*KHT`> -z4Uax6r`t&nV;OVDxO9y~lEY@O5jZLp55}Q6Jg`1il*W`++#!?%`J^bKCmv26{rbl*uX3ACjIMy@1>~o*~@t(`Oa=j9enl%#OMU=TMv05C6p9d -zSJ2|UyRZY&&=O`mR2(^f9ts2-o-S=G{TVUDoQfEOOLEdB;8DOpP5!{ -z&TRZaBAv=|a1Clx -z-$nHjk8KR?V-DQs%dy6XzO>6#Qg865l}jfUbV(N1nBEZ$A65N{c)2Vbrgp@EILXd- -zRF>b5%^i}Q_!GBCr`c8)=6TO)cnk@OCZ5i~Ez9ns;3LQdlE*1(Iy5(MXpi``A?e5W -zQu?VS07wOwvy|h1F-zF~0?NVsP`AMq69Az_S2fv0t-#M1B%MtD(RrGyPk!RzH& -z#d?c4rY%Qc3ST99w@k0-Ofxeq;&a{dNg7KG?N-TbNVW~Z59Ja9x8WksD6s{ucVo2R -zSx#&qTkP!6&XS2Hl(N*iAO{{WPV;I$JxA`&?8n|LnpjEaX>N^@?tVSxxFvx-Gh1>yRUm#Z -z@XXmov;FjcZ}|kJ5{U{+YpYJF#oq#0v~J)=!(4Z`hE$S7A%%}}8uNj8e9`tve;`n0 -z@YN43?_%4gdt63wzIoYEADP`-jZW8BG(8NUp5jj%S5B(=Cj-Iu?NIIx8@BNE_IObt -z0x<$t^`$EU6+l?)sc@d? -z@Ju1;Gdn0J^Gg!)^zV{i8a8%UwN@-^eGmDG@snJt_ynnJ6X>HGQ!Za9+TT;m?!vsb -zz8@i-`2P3!WqQ#J@o|DJ8o<|&lFV=)VlXKiedOhgT@MF2 -zfNIZwD#t@uuv3n)KT(=;G7(j}>$?U+inoXMwOmdG+W0?BF_HotsxDmj?fqc4uje0Utca>4)rVZ+@UupxuhxADll^&D# -z+kMMh-t?fV&OFS@@1N;LJpq$@1Q{utJUH3JVG$egCV=?LEfxrpZVRUzXga3W(CqGK -zxKK~r#(ZcDP3$ad3$}|9rj<&17FA7tnawL}#A(>a4}2aG=rc8_Cq`}rw0ct+h?S;) -zB~S9sBYVc|gon(7ii3Iu(nAr@BxX;AvcWSzSy-bkY?Myq4<63u07v<=n0FP9a)$Pdq{p7 -zWEpS8LU+5jMClTnk_q7SnZmTwhQks$LP=p`aDS9O2-TQJgM;NJg_cf_n)BVtLuD&3 -zA@b83wbPLnq$bp1eV43<>C>Sb60%wGQ(DC-?RJzl)z{BttDo#-FN$<%ExA?WC4lWt7LIJ0dKs>a -ziCzI!Q5hPv+(zk3k)vmSXY0lyB{Bj2UHgyA%L4l(Ea+8x$ry_cy_0QV46?`UGyL88 -zO7r`p-zV^Rr7ct3d`OqwyJ6nRi}NV1v*0^;7`Mc}i@DAeUyg_L?6ezn7oNA#B35l@ -zi3h&rc7O>)041(V?` -z4yMhsL++0)GBG%R3B~*oMye-&nFYJ^Cn&Xi-qM{cLtspU83ndHTz2kYA0jkeqtbjZ -zsJ`Fq6|O&5eLv}8T$UV%alL>UU=kZ%zm%qjKW@+Mb#XFl+-Uz@sK5b!{W2$g&rfT4 -zcw}jzL{a+j5{q>gw+)07hd#DEN%h+R57QtPZ?I{6_C@Z0CzB%gkpL3U92QT*n$n@g -z*kCtV4zL1zVbr7zejw86`aUnA@yQv1YNW4u9J%F08gCowJ^`C?>fIr<1A4w3>?XCZl#n=a*RNBQ -zf*rqI{FKS+Dj#ZYAg|mPnx{n5oqjRVQ51?&4U$l)ckQCx_otv?wlZZjgkZI7Vzy|1 -z5%i=*V9sXPV$BZmiPzO}LaN3lHuGBCo=Hu;b{OM-C!%Q%KKw$FJ#EgS8fTF4qtv9l -z#4MPkvnxgPzA_3kDYVK;B6wv)ELVLh$T%6LoIv3QR9imU-8RmKlkk}c*$wQ=ou=i; -zT-HVcaT#2E8PzjR9*WF59$QykYCR@UFA^cmnzxCC*?QUR1Ku&bbDWTiY5!#`!8i$Q -zzT+Byv}<3>SJD76Hs5Y!5wu*=m*zE-(IeB-H9yu)}8iKEb+*{Sr$vF9GJ=RGQ(3fLPm3_@GjU7w(3Wy(x?X8E=jablSH_61Y>@($9x06<{1LbqF)yvAIyrz{@&D<42 -za1P#?eV-NOhpb;ml}uirJqPP#6k{5HY(*dFU?I~wt5IFD(`$dlP0G0_N@!EvWUIic -zs`eLzYMqQ^G9o$$BxR)gvb9u#DPegljFu8h@3B90-GYF&7Rs?1>8}*Ol`(#UJl;qY -zt}*FLayO{?b$QZp*RC1mEjo#L-G#2akZ``}dN>(POsi>ka3>_Z?8Q+pybYOuDm4q; -zJy4lS-$gef_VyqT&=<{|JgOQVc5~O=z~>phxcAf1%8$dDd$^Sia4CRl4PRb`qh_P9b#HgGd=`6uui^T__#)-$V;UqGIS67>(~LWETO7~0SX7cXuuwG^ -z3qb7ESK-V%*8Gc$Li{29relSb;| -zB4vvmT%h)J)aa+PI47? -z?6!9A!l*2^j9O~BzdowXk<8G%zOkQ1DY1v@i~9)&+>^vOu`G``w->KwnmLJG>|N~+ -z3FTiWJ}vt2D6pEvtDN=Wr&+ou(>zxf&tF$gWyvx^@t5g8`XlCYB75 -zAl$x8!nr4_X5vtPn!>zxG(eD_UeUDn+lNZ|iOA0?=ivs!;(KIMb@o}^x$^1M{>-9o -z*G+}EGGo&0JtL~m=yAKh>_~w)>789jv`qKM{Aud0cOoUp`O@8)^jrkGZs5qJraj6n -z@FaHb>?%Q|dbtf2g?wpJy57l|!IO-Lrz#vKr72W5UM~`VYDptWwf%Dzn;5Ou>B1v~ -zWquj%bx#H#OKQmMeuSE7uJ0%*TCP^EFzypEjL`XXmC3L@lupII9MrnSNx@iN%&5IR -zg!|xWiYBeu*!a{~YPrro!lRpaRjT91JXc?Q=cK5e**likI7@ERHH=;l7Y`Oh#R5`@ -zsajm;2yVOFHM!I&8pIpxYdQuzWQJf}}b^iTVVB*Kq>6KwkJ%GXYN4Jh%N!}rm;M&5+G -z1Ae_Jho|KyR#_8uJYob%hn78(dIa3hafQ^l-?#Lq;GNSyaD_BLZJ`IX}L -z)A99#-$apRqVH?J3XuZ{*a7HB5Mos>$>o!dj5>({s~461HxUr%iUfHtwgay -zM^SCoh+n9z_IOshGWR3jo#Yc{1Sf?~kOP*V`w}D=f(tqgov0O7V|Sz;StMPM1uqX! -zL|N1LBID^V2R&*z^b^8U?NNHTo%u788MYm9i -zSFpI>b{f{ol=Fn7}(L30d&he{MWNltXVSr -zyY$&`2u`wC9Af%5qaviUt@W-pbHF@*Fe?D*0(v8XTaC@F2y9QV7r*S|$wVqdQRp!0 -z3vZ2A-|RfK3G`%b_Qcp0YJ74pKCvjJL7p5XWMrFis`G@G -z7eY=c_X0D&>PFfRUY`jfIGv2=9k-S3?p-XS2L?{U%+B>5Ymdi$>)n+lh`aTFhFzlU -znxEQ!VBhQJc1Q~@ybGlz?QG7!349g?QQDUK -z9488l9v7fqYCwHgcCna5WUbG_<-H~37?$Gt8Q328vu76{8|m0oi1$PSy0b|M)n&wP -zD-|JipM^JRI|>dQj`8!Dyz63s?6?QF(@CsndugW) -zYJ5`saT0%|Hon#Mb)dBBrmddw;H5&HrVYKQB#m9O7i>hOnszn%30Z!ePSw3A=wiA% -ztfd%^nhT$2CYw8rqdpBAOb!w^i~PpA$5wtO+aJV9loVma5Tl1iow(kFHoi}55oJLnz!@1gnkB~A17Fi&K`m-SUanc#tA$%UAl9Zw{fUrG(&UZ)RTz|{q -zQNZURBxB)K(Te!B -zNcUS1$XkOEvoA+O;e6&ctoUdGlPw%KexpB9exaa?c-gjiQLwB==NuwA4*64dKLb#7 -zGKZnasMFzAr-(;}nO^0RsrY?k==6!<*t1o!9TGSipqb3f95nQ?WAU0V)+=i4O1zS8`D -z77W2=7Od#IoTDwL8@h`0uiV+EU!TSaMfd3um6!Ss=6~utI)MVR(G2soqc-uLJp*x? -z`H9+hbMNJ_L{(ldxGUi%S4NS(to!8QhrrH2D&?J!*+~hCpS@0y3Xl58t#c;CtohZ4 -zXygtoUk=cJqf?uNHv3+MFV(P1g-!RlSe(`NMnjkpShII^VKwCPIGd90H|H&$g<5faeZ4TC>Mz}q6^ -zMSUrMLN%M?#=GpiKlESr@?=(Iq}NzQTdat)N%-}ZPwAabCLI@eKVaP`1{le<8%S$k -zpS~EkRXhB$ASf6{@sDU~e*E@Ln*4~`AxVcS9mgM2x=lZReObYfhbLJyP|7gLUz<4C -z)GC=T|K@2xa`yzT38r;Ik17B-W-Q7_`!7p>@Gr16Wpm5?Aiv8Sq^#mZj92pI92u!f -z5|%tv2E_X(6-WXyx2o7g38!nCKpIgDIqqJ1lPlL7nSvY -zsC$5JWzODw_gY{v6u5Nq)rP+Z5k^@Y|MFzr84bcv~$x>{PBM+#cvM!y%5A8n8ztczf`9o1ra$BPlZ7g>5paIK -zbE>fP7X+6&e@)();T9MTEkC8gyKtAPyavk=4Ri=xSq~QRNT|kz<1Lx-W|M9*5utD$d?hp!FS9{@T -z(*XNtjrJ}{Yp!}wubqio|AZ|flEm+jD!F~1SNZkH3I^!N1&1U(+0%%x_%NZ_h6En% -z<7r%AF})AB`C0RSCb;->#q^UnZD6K=;RN#>h2oSO3yx_<8!_mK=Zbt7s2A{UK$F|o -z^npsEcOLG<3G_=IGWg0?eexPY&tVve_IV>f#KU*4*Y~qda+5epZCXXHP*z_G-g|Iw -z(J?+T1EOx1{w5;dnlQol7_$?;^*-@#iksdI8kNixxOD`7sTwOe081J&$;K+1#_^y4 -zR*}67Yz%)+@QZ9z8;loE?2IDXSW#DS} -zlhjMG+m2vvVAzz*NPZF<-OE)IdC$X@QD&C9TH{=KQOR7nG}5=pO>g-CJDCDC@Gl;R -zWL;Czq(K5sh=zJ1yj_ATybN(c(iq3}zwal#eTb2N*XI3+`9BZQcOm@dXh43s`R>D3 -zGpv`3=-U|1lw2S`9C7K*L(EiThvaRdYFTTiNNE%_)=^$tfIk!l$KIMhoNagL*({dp|{3=?!D|Ow;f}&_KSzI8qVZ^RoS7XE-sO)Hz|H -z<2~fo3w7FHZnGEnh%jm{RkqX^tsoL+vvo<33O20~(5)`9^Jx`OiFu^rl$h -z+>K|AbdIo!XEXAjzxXreYL=6jynIB1riFlir29obTHh`tyU`u;(|?A=EGSEjU*NEV -zKJ~Hl(gfCrHEy=A9dX^`QeFAqzBjws^~dL5TS7m8tEE`_U2$d887`+KlH-^t^BRiz -zq2Q>49N#!RyD#wG-(8^X&!R)I`lw?|A(E1|;fILBpk-6_03n{NF~0?E*-ds-4njMB -zVb?|&k;r`^4lIh&qP135jKI5bQU&rKi+Xk94`Xchx{)Bc5rh*hp3vB-V0AW00RyBs -z7JKoO#^5>cv`~LYuJ~c>$!_wkt`hNZHk{$BAlezgHn~be!>&>vbOY3*h4zHDiDD1# -z+vj9A#R^TNH%oIRZas%Q_5ya>6hQrdcd~Qd!_xzzWcO>rHl3YPj~4nEciAkC=xgQA^fZu-re@&)rfR<)&L_9W&e5Q)6?!aEZCGl -zuG_bn#=B9-8kx&KQhwVg>f#1Scku;97FyL@M}navG#27hH97fczf%6YlE}e-$iIC= -zcI(Mluu^>M9X>t}tu2e5#W*-*%6_1>WmW*5>GdT^^dj57r82)sqd=tb!ZY{}YTz#n -zKjTAAGce3ipV^}4WNih)wPzMTOZ@v;G#Bn$I3P0;PK}Y0J{l-|qz*Ug!8TR8gVu8K -zSsoK^hq`4$zia+`j@<~&&@!5TZCZ-qkw$vE?>PlAA8K}-y7e%PcK_lq1wy|yJeTh} -z)6xTH2zWGgJWKpe`M8+rC861IT`v -zzMrg{S{gOBHM-lIkWhz-yuLL&zbSEQ=+Y3v5_V++KbEC+y#W97;i51&2(+Z8~6OXQi`EddZ$zFpC* -zx%r5+rb{&MGBJOH-{N*e#uFU{#*}dGFcv~WYE9JlA~s)WR-z^U*@(eQ*kKOz>s!!^ -z8*2JgN`M0CDTLoXSUsX(A9ArrT!%Ki6Fj6g<7CY?O9uY?c8Z&vl*S+}D8fW*NAx46 -zC2;`V!5WQ0yyAm@%|kCB^vbLuUHaa4dE*?-3hW9Wo?gu2kg8~1mLK#H<)uY18E+s -z^SlQ8I~1*M$LpbgMuNiXi*aX(i1)mJ^49tYM_sQi$hZm0QG_-)D)IVR^M+4=3irtV -zlOnMngFl>q0<22c;K#y~-wrxv!c9leV~MUS=PX -zgUEccI8>@D;Ny+C3S3Cv*0;JZ%r1)c8TUtFv=rpyt(zl+?sY4j)evA%^1!=;GjVVX -zeOuq^CJULxD>w6RGbdaSCZ;y4pmFS{h+k}Czc^rjSxpP`N!Qc9CB3?#ao#arCLcQW -zCy^30m4gZxGkX7#l+8^9i-_X?#PW`X-MJcZq~Gz)DO= -z1a`2-;D^*dLvMg-N!|eD6r&SPH+{m$pA~N)0f6$@i4H=*iWDM<%?xDvI+QB(Kr>EI -zn`&J3nA7*_XKG7*E0iv%*$U|qaoawt8hkMeE2(sl!8ta;Jya7@Veh1WOc -zcOXmZ&j72(Q$do+J0F&c5}yon!e)g|C<=@KmeVEd%5Pvk#k4?V -zV0U)()y|z?c#&Qn3M)QnuJ7xgqr7R}5ta9}yRVRQyVc-2@pZSSo%iO^-c4RYrGrsovy_`u}wlLBC>=&7=&G7ypLh}29(XsTsZur`|lZi -zXD;;wmTauoHCXu9%gw_NM>j~05yK(9$YTCB<;~3uKx(Lf{-OjvN%i+4)#9^%X7@O2 -zENE|C<<+MuG`*?QVe)S{&?L8<%SV@3u~P;zi$0L`=pQRVw*q}Uo+gF9MVZF~5PWON -zk8U?NuorvO;vq&LFS9cxN`0Q6w6)J7@SySqrcImF#($ -zMv+=^4H~Dp1TN_1!YxsRrIC6yTPgS7P@uax$)|eF!TO$E6Uj3<^57WEW(d=%B7F6V -zL17P+QZ11;vF}}Xwi@}Y_|no?Oej5soXbgdtnpIzTra-$Fr -zd3OWpgJQZ5j@t{D(!FZ@6KB!alW~K_JC*6V{cyPSH*?*A(0)1^dBp=&46=Ng`CJ{5 -zfM38LI-vf{uNoL6U~u7k?V_X}f9_l-xx6xd!oF%Df8^fm -zw0z%8f6Gk&N`^LnQyMMWDC$6LXq#mHq`A_Gs7IHaZfyzF>~_wz{`_Ti6C$t7W;sru -zquT?__@-%88+U&rkVC-n5DH?-Mcb%W=C%zi47#gpWtS=o0Skf&#DVptlj-foT&=!YToKmVc2CXdbbax -zBOhJ6!aov!Io!7BZ|KD~9s>K7{D%nq03M1|n+$3W3*>4mRX)WcU*DaDfBVGo29t*f -zvw2B@ZY@9_MG{>7L8s&zHdAr>f{T1kb3pWH1cGnBJ>GN~4CXCqm5Dpo -zM24RHmhFOcvPn|H=Q5kc4>lcdd_xM%@~4B^;875NkPsf}g_7YTLzLtabcGn%fB2

IepVHe@UM%Rit>B!|l*CW?D6bjKrJq%im7(iOAF~*g -z`dhWf+w{X_&<`DjI*by={>b -zY@l_RTl8^iVD-Tc`qAyE`R)Zk08@P9nQxJQoS+-t5hF~Q517NvOeIBrIqOz-tA0^E -zhGex$t&QDPd;P(FI3=e$kS1KRQrgd?8BnN?u9HyJJ-9N3SKw8SKDLiI> -z6Py@I01?du%&3KFP$;b^BiJ{K06$~hr`s_o{_>hiF&*_})@%8B{uvGE;{1TCA0v-9 -zPitmA`#W{mA3mz-W|+>ff{&!Zpty?Vt>zC1aE!HeY#D(|YdNbY7 -zi6bx7NARxUyEh>#*%~mp -zSBkcsgLegz9G_tPyYcN47)f6g+_wpuZ;aYY=-M=m%$lR}=*o^@&EI)>0SGX6Kut~O -znLDB;LSylLlJjk1NOqCA@9@-9M0=7Rn!is@X-$(#vs(+sE2lq75g97`hu~pjYCQQoaM~`+Z>R91U++lr2sm$)FWJ< -zJ@oM!982N2wvk+;d5sO0pK^rxwnbFH-yemd;>MdH3o_P#RK_67yyC>obpx5T&{J-W -zlK3b0u-rIrHlBxZWZEDYp=$zv7f%hw319MLE2G5|IieFWvr)E`{NDF++r<&=d0F6B -z)K;Aub_qArWLXgrL}I$T_^L5En(39GHI3ggwA_?`yFC-pIqjC*^@;W-7R2VMa|Fv; -zBoaxBT6Ma&bo?&P-}k*_HxEnG34XwSg#)-OM2Ov9YnuQJ!MYPpyxgsS37OLs?{7e`+NCyw6y~Q7)3+FJi^yt;$6ttJX%j`Jk8kOi*SBG_*P -zXz^Qqw%hh3u#lW%ZuB=*2eSRQ@rzAGKbk(5S-`SDvra!hACO;v6W^OV){8SZA#)Q*#0}?X3 -zU3}O)V@rfl&IX};%lLM~w)gy)(%Z*@9--~*g=2HDLUadMt4c8YnWUo?Vx+yUMDuOc -zw&(`6oC{t`&)B9d{5Vy1$g`n-_o1l{(?&5=FkmjwS|1+%wm(~Z*MVu+@eoPTxeIF? -zVnrqvCSxamF<~{d8yI4BEFL -zg1t&5?v@1KsCT;=ca3g&m9f#}fEF^OQ|J3gP(FLN(34YM@+j#hQ&mb@_~FjqZpv`u -zPiLib8oIi&V$+~w5cJ$?&7c`Tmq1x-$%$ALg@=xXnPRpjeL3ILyXlE=_uy=sID2C|K5VipB -z=PYlYP}^Q@Dx5|iPxj3jYrD285}`p+L!L%|gNICC+8cf_4W|E`i#t8A9u5uWXnC-K&%2@->+JC -zqtCGvW?}g*dR#UCjIwu5el&Ree#SWP+v$H34yFTaWb*aULq#FY{_zZZf7dWQ(O#PI -zi3QtI|1j6jnm3e^}D~M -zn}SJSaCPE5*cuM?xWsBUYzaVd&a)@%xBYo>`|!8 -z22`&a^L>)n4Gs4E;A>Sd7e!Wwn)0#ADYRUAb&>Tns<169F|?FDSZDkj5L`Fzn}#Gk -z$AoM$xA$z?MIQXgZ}j2%Jsv=V+DB{I;$%1j -ziMG6zzFf477e)z|i~GrTUpLi%!pYliWijW^ag}9VL$rp3@n)XGxmsXv)k#@->)v&t -z%FnKE=%9Jc{y--25>o?ffqfCB=N9E~S`9oChCN{tfl+5#N_-oPex2fU{;z17<9`Xp -zTA(4MZe`Gzgd9M{p4T6^Frh|w&CYsZy3Bu`udEP{|IzRN22e`}2*eKv?ciKd002U? -zm!Uuh9Ji{G7mx#gq-_g#pBv%Ow#eMq`PhZ@FrRQ9{gY|mjF#OMtmT;Y`O2$(hJn|= -zT;NY!bKv{4#px5a{jE8syg0{diim~$fl%IaOXkMTS2()0z-hkUxx0MRCHznQUm4Pw -zAylcI^K4o|=AHgC4U!Bu9~`<-_@KCT*MpILEfwwajxGAVI -zIJX3?d+s;C+$ZgQp=FHqqc@-CT1ow{QeULSo^hY^Xx@pNuWxRf5Hx4&lzxTwdw<-` -zHm}h?GxMwQ&l{mR=pQw2?U5J -z;HHb5gGd5C{i|+|$6o1A+pZmZF3u6?oO*KpJs>sg$}FAcU)*$@%D($Q{~P`j^dJB0 -zKmL~%w(0-*-%OW`eVM5L`M>_OwatJ0FYChmg5bn2e3`$$`#=91Yp}*B4&TJHYb=kZ -zOF}H3AhBRKhya=45P!HtI+ia$%>Tc?g67j`$?szyrIRxMDJr{fz;d1?X{X^Z`sf#x -zF)3balGQz~k_dE}pTc-9*K*!}{maEK^}PLQ -z{WHhkXt#2Rw_+5WriK%nPG7yv^rBKv$#B!F2ZQPg3Zs4DDu4eZ+H;g{)!*#pMJ43Q -zTa*8S?}H`YJt=O-T$BpNrenc81cMX)4$7|U=Wu@G`1P-szogsnmVcXebJ(2IAbMUg -zLQj{n=+~^{&u~6^F>h?dCWC`V{oKF8E -z=>H8!$GG@Y+<%YhufP5E%eZv&Ti)k*cX_$I+S>qUpv8CkbAx&>exhmz_eIDZygnZ= -zC*c_hzy28Sw0Ch6?)@^CUDkwiI{x~@cmGMqfBdii{R1rz-<6B2v#}Z-Yc{rqZ0~}X -zx=uJCyw#zqgj8L{xOn91AJP){{g{+pIQQe9vH$w@&40N-{`-jdiw^$K#s9nX{$J?+ -zK-C)(s<%y96y2lnnNFnzQ>OlwKUkDpUocGNCF8*`{dE2q)iO@~7$)KHo09*pyMKdN -zmuc?XwM<{X{`K--FW#h&m*2uxRyOIce|z(<=QtU|SNa!2{@a^>J?d->^WPZ#^)DBH -zY|FI%Tz^<9o*_o%%KE{R!@UtD{5~xYA{T@C-gVx6hH$d-|2ee(dX#1Nw%(y{ev1&l -z{_V}bUdTx0{UFwM`5ze0rToBpUVcpK!0HY;UQA+cTV_!BjbOTgmdh#9#jY0 -zN7rjr$O`4j31#niC3Pvf!XVJ%we}gRgFnL!OfByJ4#GpP7n`nGvi^FMd!!FE!$Ns~& -zZ+~LmqW>4uGmL4Lj%gRCzy9^|kFD_1%;u3guKsvt1ELt+y;1_-R=0JR+zyALBzh2$rpACBay^j3bn}0p(zq;|Sf4%(o^awwq{x_g)%6IRT -z4`G-7XBGSP&A;BfrdK(x+41ExgmYY^qZr2XZ-wNz -ze^b+^14{IOO|x|qB6v#;u?@Jq4==S~jQ$n5a&^w=Fo9nGhMKqur|FF_Nq@I*kUs7} -zE9D^rLym}`~Llr|5c&Y^kWEX1s+zE -zCqv1$<6@3~YaG{qt>As8AI3%I=-nVX(*#}S3kUeuS@qvs{^`&E`0H<`^_J!j=0j68 -z5KEaNjL+yE*b?sW^{d(uFn_7!5sZb|y(>%W++T3~jWh0><{g*bh^D{2{`*)Rd=XzY -z14b)b)q%7$!$u*X#RVB-y&nO*aH2)^iE>Gv6fcYyJmB3F$c -zn0jZ`HZKrUBq3?w_rxd^`JB@A>Fjlc2w<*VTqbD -zo|Y^tH&D~MnXwoGr6H;AVX*pXdH%sFDK4gH>!)}rzC0jMsHZ_*?b<=Q -z$@Ze|#gvym0S-hOp>l@=WV=(}5Pzf*urR_NS{`f_IyKM;gf3-{bCkAu2pEz7|rL3jgl5+c&WAiiDL1ZCV -zxuks`M2AG|BW318?WuYeaPTrtL^BLCZm}xve?shkrjY=SVn83Og5RKg$o7%9Zz}!V -z6RP(EYSE{a;xA-$^YbswEI&gGD&N>}W00Q!Z$Oa0)=^Gv57B=kkv_U5dgn$~+R|M% -zA?v~Wsq1_~Tz}?T&?ex~#c&+j^FVVT4=p$@EwbXjdfhEWPwY6?@0Qq9KOjQH&k#Kw -zdd{dNsv^^Po+@L;j9k6kh94AIjujabFVKe(W9vTU2+@C{e};L@IN0eqK)6YlV+C|{ -zwVL5&A~_HZ;N5?uah7}Pd)8Y2wA|_qypY -z0HL$yTVJ0x30;4Ncq5$p2vaQ^;a04la+n)sLcWV;EbxItx^FM85Yuw0bFUorJ_@8X}7eW(97834wd_XxGIcTqfea_?~}%rqPk*Iu_z)OVUOxus)aT -z8?hX$6yd4V2DHof*HOijsEt1$!tl=!AMIX1+6@@&+(w#-s`-S;uNh9mceqM!g`!w> -zg@$r6d`1iS_A}RbQCT3+G-I7)W~s0})G;DDBdhGO&~4--TlQl@fu;G2M(bx96(K5y -z*S(RvI>UcTnq6-)zi@z2nYV_ZW}f2s1PJmjzcHT>PnI_p2iyFK$)l*exl=QG(G#|oOr-aLHBi+mMZmjb>3 -z$yH;IE|?|z&RjX2`J@p=&-mss1Yr}Oq>{+?=->he%4B!EJZv}6Ghc5ntlY9Mv1|XS -z9h86gnab_T1OhoLadQd1B5+4+Bj_YwN=lMbiE{i-tQ}UXcIVT#QT}HdVWGnX*n934 -zst_Zp_*pvu7kl!b;Z-MD_^zy%D{Q_K(x=~`+RrqKDHL9neZEmhj}dwYfgXy>-0(_7 -zVLsM0fw`MSie$!rMhi6f8KSnkr5dFEM4^9=*X4TQ#mG&4Tnlhfa_Xv9n+XVkg09<7 -zzd?WfnQPw_MSjAFx`iFqj~=Ue -zeNlV8ahF7Wm+oMY+ph&IRlN{xru={OZ0zwfjUemd0%7q6Oi`E=czFm{~*w7bbREvmr_d@p&jso%6%EIab4?1?HW&F_-ma)~+NJmS)Q|rr^4%S!@9Is@H8*^=adHb*3Aj -zVIB%S!Au;&{JlqB4l;JKT~~i@20tVg*!>49Yq21#Uwj{DFe|B$XqHW>m?>DG;6#py -z@qD`Gf$|_+;dV1#)&aTsmI@y*3H)cP6pD7gEk|%oP-?{6ovX@PiP7@#DR)iHy3^+E -zxW}Mkf69_Lsr%%+7hPK_h9CGl#sb_6r5lRAEW1%h@|axxhZ2u3CU}35pS=i?o_Mzi -z3_uhI!hQ8%F(4wt*GLvi>X)ZTF;*2**Knol!PKYc5U(>yS^@KliK%*mFLQ7)TLq?p -zjT0V=bdHf;-ODxJ2_wp{m(PenB4;q4w*DkYVzFfOS?H;rksFg{C_Q))iN4E7g9XD# -zd+|8(nQ=($#4bJNzL0-v-FoFpaF;My=m4Q^su52XQiBzcil{l;6U=|wC3&LnSOm-R -z=vYtNrX#Zkn?^YumX3G(NnZA_3lx5R)>r;1enAw^_`X%}>-uWY@yH|?)%`Y%fp=O2 -z2pVh==C(cEOt^E@bFx3Jl2m_&i102?srl$nwA}5!KL!nd!AXCZ5B;0rwhVd2bmvy< -zy8Ib^$@>|VCQR`Yb%5;s7^LoLUY(oiC=4?t%)51BP&0W=eD%&_@@LIL+Nbfix=(Eq -zJjYtyfiT<=TD!8Q#;c6flM~-HvqH@S49~}B)k4N69Z3#}fL9g|f>){P4JLF4DR&j7 -zPSsc)sdsTm;0S-7^RG|uA!;c|TfgL#Fvv1WKu4oT@@N3D#0 -zcFE*P-_4CWm5(|O`c`n|_7$To=a~iTQd%05)^EMk`+l_ollt@>%Kn*alquKFwA;DU -z!S1+l7N@POm>$x(+e;nzdUKS)9%!Bx0zkAfigPiHKH)?0{Cv479}s_jefy%a{~6-^?mU2PCQOCpqBssn -zw+>8}+HgQxJKJREms~B5^f14=68dD~z%NJuDP9%U;m!4Y5uc8y<-WM?aEC$|MEd6W -z$PA;f@>yRoC)31;F$&Qu05%w{JO6Y>LaEDAGCg^x7%XWapY7x$W>@mEqT7aQ)Bwx^gB)s&Z^CC)z&IzmNu?)?TDF9$uE^bKLL6N( -z7gL9NChu(7sx4B;ZEsEer@oo^j7qwMi9V}`_@&h9p)@UT!rr{vJr=wc)v0`EEVOpc -zn#&jG&Cjx|7T*;Z09;DYs5BvFSXfeWWyOD|_~}DJrMSSgLzN5p{EWUVb)ubnafib7 -z*aMDwOnVF~?07fbU=gD!?KweY_NKaG1$zCgU0CVFy93UWoo6i^08yf;3&05MD{yj{ -zkwoKHcAeCS--yV+etI{npX8jz3M*rtv~1i{m!#>@epd#ZW1+u8sNaY~*uzcKZbgi(G0SKoMz!VY}&Nza*?31>^+_W~ -z{!C-I3sa08(SrsmH*C9m)udApSIvue=}kT8YP_+bz@^F;#1o%+5J!*}Gm8rX<;yp1 -z_3wydDuYlH-2MKn`l6G(GAV+~r}c2mnIDR*v;;~1V7)sV%t{j%>k|aeAZ^8_E>23<>yfGC~V(`@yqzw^$CwU+Qm|Kl2T}GCzWi -zl(gShQ}5@{<1I!Xo1_F7?8DS0&3?yEQv9sdxbxg -zjr_@ca!sN!qO6pl@fXtI2Dr55-n-+KqY|qySv)TDn7TYd^HYxe{bz_|U8+7@uRwMM -z_;-uwPY$6HE+0JZoaTSZ7}3)O47RpmP>?w@g- -zKj}u6oA$s$S9~5CBJ*L%!dHEWT&`v^cF`LXfYr<&mjY!zGc13f{R~mM8qT8lXpAI~ -zmyB^rUH9-vW_44Bv8YD5>*`I6GCKS8Y`*(hGsDFVtR=g|M*Y;w*l$^^6Vwsb -zCW~j?)nKh|yHC&N=QBSHHmJix3%Z(uXJMu0Zj#O#N$5V{mrlF)`f&1_HLwBxS(^%{ -z^M-;CN~7e-z7Btv{LvH7BTYaL+=r{tTcfP%tK~On@p_P-+7V9jO>;Lpv5#wu)(C8e -zM7}eCj9g!jM}rV-fKpeSwVbOVVV|-TPG)uWKCMy%WwDcRu8BfeGh^ch_lT-{N`-i% -z4^6W6vJ><(-w5Uz-&m+%fyS6tZ*D;e=;|H3P0Nyjj;McWrT!3R65G)FX&RsU5u!7g -zaweO?v`JI%B3YWklUUtfO1Hwd|tn1ergBZ4P!F@HEG!6#> -z#IA+>b=rR1)jN_1(UyuX#i1V1Gyo>T*pbX7%DeJS!nNRLpm&e{kI -zCf&goFk-z#Sr;%p^>WG%db&Vv336O_JGy_6C3^pimY0)W{upaFmF(sa{pU5i)IlZS -zG6Nrq{C19tmz!tBkv$=k;-@Gt*6C&k?&=D-8kc6FIxl%Au7rocvJ48<>WH0*ql8^X -zl`Y55?(T9j!?@oe(Y>12W^|a>;n-7Jrf|vhkeX}s0Z|Xzy>w9XvZ~Md-xWRSK%ajM -zTs0zfT}>33O`6L1`#qy -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 -zy)rw!b*j;Oer5*yq3_+y=BYp!X -zWBXtyhb>*6r~FMABj3x^-ZDPD+tE)JW{t#gIrRajy#$D%R@$U&F -z{H3B2mpWkPNop5098vzUBU;Yg1>+XhFOXrCcE&!v+nG*x2cjIVN@bET*V(qgDp+fx -zUflJq?uSB;eC`xNvb~)B>zLpD<@EIkkRFwC2hA1SkAp4}Ps=Kv7XH9Jw8eiGO`|cA -zufb@8;xCw|P`^;M7D+cfIw)?bMvrl1@wkWn(>A5h$TnHN0I^JiE>YgOV0!bnh -z$F?}{=eYAW&D$?S5{zcl%;W1y1~()Xy24(*-jCp(Z1XsWapPXJ)$UOguKwP$LdS6` -zNo}%FiHqFZE_u`9+a3CXc*1}6ewAam%9=KpjdyN=CDC7bSpuj94dSQ=9y1S#U8DJ5 -zXMwJACdo#@%9v2$V1LB{Uh3)kaAA&MoR*9-IB>{9)s8%(4ed)kj}zVSp$X&UcIkZ( -z*LMMp{VjapL2+|^n=+m5@sJQ=FR$u1#FI0FOEqy=4b*BRjhNC9aCd(NN9UfU*}Kw0 -zUWR{*NN5u=KlrSJ+>^z}9MSDmYB+Yn4LsYjQKzeI4ESp(RMJL8P>blv9D`B)nQh(b -zq_P?@bb_G3waZjhvqM&74Rp}dE2k~(H;*xF!xr6C2tPgCJ!xti1{f-PLJb$w`3ks* -z3K6)m9vZ;AE5UBUwj+N52+=0xeR2If$zypM^cn}lJn4>AkCxB=Y7)6|EFfG(ZBAp_ -zvO?q*JD&$_kCRBrN_X^mR~eoivG(bd!$hDUTYCOf7VvFb!!>`9^MNACXT*4%9E&YG -zH_qwKF86engDY{JRX4jwXaP)cC+$<6Qe4S94wQaE^iJoA2kU>&7WT5pN=Y@UdN_`; -z^6R@6ir>}ws#&;$^eEjneD>)$-pM18cFH^?$fSs2mO59bq;_O)hH_afq<$F)zdYG{ -zeP!B6r@kTnJi@@Er7pA5G%}C04ivrv*9Qy(3Vg|fp?3BJ-^eydUteoH-bszRHA6B> -z{{6yh9pwtC*gt=>f(r&UGlAuH@iz{K^%1w4uLrQa(*tVRy=fAK1|qxV^pxGJBua{9T_5VIxflfE -zf5AM>5CD29E=t3yg$^S89mM%ka#)o79V -zPR`}@OkotNJb2mT$)T^2x(9O45Y8txTbrwxDolXvJmuuB?7DpVXVFJ{(tdSpzX%1QikZ%{V#7ZR5j9e{`ai$>$5jerIA -zPVq2dhMi0%t}tDeI`_Sj79dBSNec+81{}2ZYdqkeWU)!@5_$Z^jhECRzwed#67Q-9On#%?Yzi(;MRX?{9&e&bWzwx -z1AM)4!Y@u59qQO9#T$qe38PE}qys`Lr;B!N%MpHx5xhvfx`O4e=W_hh&G^~6_C4(6 -z*qlnl_ONg~FV|DDp>C -z3%-Ben$v?uL?C5f{HL~qlXqBTS970tlRdby7)3oVAxahB-Nbn4Y!VHVxx$t4+*NG- -z48Fn1(;uu$pm?(0H|KWUl^AT-gAq5Mx2jjVzDw0D8zMq+G9&o(#2`F5f7p@2KPtab -zqtrGz>^6ol=wp=sFc-%F#ampz8k$&8{}X@WuP5;b7Z4Zs#NFqgL%o7gNVXNTHX_B$ -zmD12u#I;zw`Dy$7OpL#tZq@axRHbXxw)R!I5eVSw#M3u#ZVz8)mkv2HWAB8wR`cc4 -z%6}zK4nc*RHZ=OQOej9C^5a?5sW;Af9Ewo9Da*S`OBT*~-tV8D`0I(^c$UAT;52`v -zjqJT-rFcdV#10B|(P=Bu_Hw7JVvivgh`(s`PwL4sng^IYSZuB&0$3%*!>&)5if@*e -zi=0kfDndElrTSKXfjp_zYFLZFRx&7zh1SUrLR5h84P(vqWr#vR-||-8vjN(=FSbu6 -zBdTaGQZCMttscC_GNI{qw>#Fnjs$-TMKgly@Fj>$4t}}KuP5`#bgt$r*xR7MTnL+q -z*S+H8dq}wz@K^g>TeDwxNxHj7qH_jV!?LnNx361e64?3g(r)D -z>BQ|C-?PzPzvd*1x&Sf=zGE~xrdnLrEY251)d1t+i|gg|QRn7)A&DD&e}E+-RQJ80 -zr&=KzBHKC;%HT#GX6TtL>(}{obh3v5YW0OBn37kShaS;tXV?@_boaNP+|X9G4wk2* -zXR9UZ=TszOPgYTnmtE4DF5fq!d_$zDt=5qsZA#bsxS5ov8`qBHWOW%}h#Fz;`M~;sN~P`{dyV%c%O|n4HcL -zU9$?j(uq`1C9sq%hL#dNAO%PD4tF#2S)4|vHc3_TW~=M859z#B(^W|PRxw;Ep?8{l -z`BT2govY4}#eeaAve|!eVc5FW@7>c!vFbTTTR+XpAWDy*`T!!b} -zUW=#nDr4%?CgYPm9%7Hu%xGPbEPr2>t=(EF#!_x+b -zHLT544fC0UUVs*mfsNL2L9o`PY^H#8&eM#$FM`Queuz(YMPx~F(Flc%TH+PCdro=| -z5vY>B`=pl|UHN~h>pV0O2k2`>I_{f({AEQ@FpT0~qq+O__ixhV*Qg(pbZpXT`gKmX -z`PbimtY9p|lPt>K!;%ddO!rfq$G1B4F14DCEyRfi^f(x`a~#bv0&{TwVG8~Mv|3gr -zF%Vz{rH(lCT!gG`GcSGnWV{T8YQev~X73);o}&IC+TVZgel5zpXx@MR9@fVr;p)+? -z^JPi7S?x~L|-#0Frehy$3l-uf{iwB -zBW%;nDnn`Oi^%l%QB7%D|2h{-dlI&T$*uy`y9@I*?x`}dA*bO7N;V1d@nAx5=Rz(u -zk&X(ne*oD~c3nFDJJ@=ab6ouXLn-yiBmZn?g_nPwHhcTZYgvSek17QpR+NJm2-=9F -z;_d2Cd3f`GLicB%dqdC1e(9255^!2!%;(~klfXh -zgC2j%Q4Ph7hN5A)o|5r9*6baB{*#t}fO}@7D^Q=4c7wTB_fUePy%<&-!+>TjWlWd7 -z{~-KLz1Y-0kMCEAok{6uB*@{{=q(TOEV#2_R|^lD;%r+#b*gYK9~A1mTfrh -ze~z_DIsN|YEPdDP{|Ms+{&>O!!-V9}0fv8-P#&Q#vI_c4d&x2&5oe8CW~1D9>i>m+ -zKM(;8bXa?d35F&z_fjB{L}#42Z7Ck4eH6c&j?FPwL1H@QAEV$O;94mZA9_8U0GPMH -zz>RFWX#1sjwygf!LOh93J3ETSW$^uf66YTyZYx&1nwoQpbV`5wVdP(zvHA5pEGIHbPs~AKB$o|-wC;#3k1*RIDU>D67{u_{ -zDwpK&p79?biu*44XJnc}5A7D)dV7=;5%NSG#*=#Uo|l|XH<74N(y|A%Jq}0sr?LKl -zR9j0!pOY)OArN9@3b}f2;up`rg_nP!xEJb}R%6uQff|1d*5F^_^KXggA7Rs8pOcvR -zT7V##ML(TmyQp5A#rJCm5)IzFWwSb6z4&zhPvH9l29Y+QC5+n~5qpph8H`K2xy62JLb9&`IRUHgBncBawc -zKXYkv(p&`WXm+;QJ#|k&JW-$F{K08hZ-7$T4$RXYuGN|c1@Ltso}5n8?|HlS#U^U| -zi+6*H5vhta#9cV+Ek%n$@pOs8c&pI`F2-K-+Um-9-+D -z9L0CM!!g|wyEIR`BfgCI)>DC;epcAYdfKKn(M|YI2#{9|6vZJobv_C=bSK4HiH}?PDtD@0{LD_Gg?=Pu~Z4K~aB#ueL+bmpdeh -z+%+3?@jxzotwxnyVQDt0yYr?{l~#~ikq96aeT -z&A%c3{KWRf#qT724T`ZO=p}#TE%s>Q6el9-YQ9KcuvLs}X_@)5Vk{)sX1F$BZhhA5*~zNm>_yehxm;o=wY&wum{Ht!P3x}G -zVGiy)ragaYF+mYB`g(Ih7My7t?jgSEfc?5=m5VARCTU@Gw=8!_s0rI5ZCfyWobllPnHWY%@Z%W~4IWmY<_ -ztapFO8+PQJGhaXV)$HuYZq`((gw*OjEp?xB -zX^5ekI*V^Dr`U5?v3_g}K<;bUMn^v;bW7Py$^4vXxo0aME|Gdg>9X=z2Dz5EJ|>IY -zK3h(pYbfKt-9~=%l>3m;ETMNlk)nzRNF#had;9DzZZIutbjFELKmOp(L->7o@*96r -zu9GR#cyXjPvPTjq2&{TbRGQM>v=ao9(IeGPpuA$M}Flf -z4jeNvz{f1*w*MlV0ZfHOf63n~S=@AS1aO_2yx+Tx5gh^P8JNaAKKStT9iwwckq<4z -zoKAt)zF|uN-qPW;T-j+cqgyG>#Gii&J3pNy+J)_y7mnUiW_SB9?8mlLz976BUBbVjtkp@ -zSy(X(19Ct^Tg?YYZ?Nd6J*~KTle!!;026?P4vmJD@cMeYuC{@Btb?uwJ1>9 -zuf_0Y?sRf(u|4UBY^H2)5)*$x6xFASq8!6$@WRqI3vvPY5LeW}5{R{_=#6d+aYEmK -zt-7uC_SPmaYGxTy2cmSzG79fPr?(`uNZ{?CeA2)UPO4YdegAoNE3elMr^Ehbc_hHh -zRTS+}@$Q|5;Z;J+DnU3KFh7EjUh4IGf2tck0nyNs%)w(XGN1OzLxF!^XFIs<94=H! -zHBh?we*&$tcfBKX;#yI07TpE~^Q_NBY7^cG;1 -zM!|#RH4&vlHnoqB`2c^R%`SdwE2_4_nd#jP+%?+ZTtq8fKDj=c68{K0={n;)3LoQj}cp(fq3^RXvL=m_GfAf5%_6C6X -zScNerav?g_#@qdyCUQN#SF*l&$L4VMtm?iyNCAYF;04xu^DIv|Er$*zL<%cq_$6cp -z^OKO(G;~K$u*T8!(LU)!CUb)eK3wlnXG#HecCFKPuqRB?`ilAQo2L5KC|8Po9;C7l -z(EI_Gm}>THv`l|Z;!{g1^wNKYon=!%M{D1PUf;OiTqj-i#8>rmX#BA!UC~-k@-jdW -z=$kDE_YEyLa1I3G8)VcsdWz0t0+`0%*kyrQa$BkV2sO;fUqKCKn|EOf%y#Hl+R%4s -ztnYN;9+S}rCx+31?{l5Qz@o?R7x!oIWR9tc{!&UZjMsnYM~Ae&Y2F#InP&|=3Mw_i -zQ6w1VB>F=K=7-FyeGE|-!*RcEQRk=mtG;pPR&%oL#QtIOxf%q<+~8r*tz+fVELSce -zFD1g-6~4^WZ;(-6H*J`S#UHDeS1;hTgPox;oQ5ECE|ey4JQ@IrATWsseJH-cS_9vd -zi*Yo6b}xVYfy&LthO~Es_dWzX5g?Fvs2p|g;RH4Fdj2T(H8*8b`_qqMKza;(ty=hA -zP{9P%)YfEu7Fq8ji@-)}@f<_NpAm0#;RFvt8$;L?i6?Sws`XDQ0eyM8J2a{dGg~T3 -zrf@JU>9@0JZZrU?BhMgqEzx(p#4uI6&#)kxPa}Vp)&Y-BBwc6L5EeBaKkJy>X11EV -z!#ITzv5z^vK0O`pY6NC!`vDKB;qL_28aW5A^{4s0xq-b(CHjD1Uj&0SBOgRZg^n=B -zG*GQ|A9EAbJqkr4r563$TQoPCp_ZEr?`OWKjT}Bz7DBR+i)*?v{gm@6d@BAa7Icoi -z>A!zRY;W4i8(p61KbQN5n0uhi=V-S})&I=moV`2g1KV>K9&yNsKg{&)J-jFekwQmJ -zh-sRF7U>eyWv)=FGNrjZv7QFIMD|{z_QTQH-Zb*=Hb1fD6DzRI@PQZ}QSNxZhPMff -zB`LFWH;;B7z6|{HeYU%s%3nEfaG2r~*js-P%9f+Hq=*Ns@wC}EEq2Lm^F(ZHju`vf -z%DbDDOsYa^Ov|x&VV13Q7e5XV>Xk-BGR=#2Xek#wxgT5j=!mp(TKtZ=51{c_+`zn2L3>z+chA|&-i~^ -z(KP&;+&!I?{rfC-H=cZO5>^1VgHf+%Ycq7T(i5%b%VcQ=2YJenRrJ&ic?&elRoJwtJ~#34TFpbMs+1i`Z? -zU~7Yj=6h%Q8(sIpRf|QBP?K9)t~v}xiE3d)cYSalY7L1a`-#z9G`sVAXZoAh0+v)D -z-HE0eS6v&l$cZSWXsnMW3{)&TYFc_K@$l9{>SvC(%=B(~KKX^mM)EIY4?BNLs+=-U -z(3vyJ%iMU%v-wP3WLu`blcv79!4{Melpe(3dF~Sh8>t@yLlD!S0&)xA<)sY_`R6(X -z@b$en{SD7dj1qbO$VqQtp<%Sr+6z8dvqbAF`$+i)Si_L87gi?z&wt-&^XOr3mq@)u -zG@1Ybs`7}%(UT(&OaClt?L~i>TMA#h!2M`i^*5fpblH;wjV`OSm$AD}n0HXAd6C`) -z49MG2We97YeXh;_j$r+bMGBy+aHH&12&oWW&@xgQjtN_tG#}Y@4y>+AD@f5~KgFuU -z4V!Q2Tak+Rrh$UYw -zVTyBQZ1%C#znDj<4`cR+8pV&wE`K_o#v4qodF*SKYM}_QCf1*2N^An@rev7`|Qr!c2#=(({J>8If!%FV>5-dMXZ^Hqm-@ibM=5(dyE*F2^X}%MY@rL^+V2$oj -zpuFfN83f0|e9h*fbt4M2xG;X8%Lp-_CwqkcHp%h!`GKP@eyWNc`GlclVVp0HbmKYY -zlTSJub$LD-h)`3V^M^uex^d-(B_D-Z_Z;w$I1~H}0!)QlA6GFpbwm|=IGOw~o#iur -zyYdOVN$IN0NuPfYcAaXeBx}$*lsFPI5*FHj`Uc~|GpHl@ob8X)<8&utQBYT#QF^Im -zO`2>#$(F*yXeKVn1p9-B_9!BD$9l{U+55!Z(Zksj2w`rDS0qWBtq-Wn7RqdNbt7ps -zFYL8lx`Nnp@iWJpXS*nl5C*0ur-nA>vtLd6ey)#}@2P+1^HM7z4yQvdiqMO`Q{(AY -z289yf$LBBZne8C`upz#l+`}>l9AH}J=6WVYWkQ&}H4VtYU -zbnRRe0uhiZP4v4kjSWOIrqX*S__LBXbmE_?c_3}=g^mz)juWf#vnNr_o5i;W6Xd76 -zO31PQhWvkd5SwoqTzdC)JQwS@f|WY_)!uagba3`vO3PuZMSz!QRR4tz?MDJ{zHw?B -z)(RiMd`M@ADWz3(x?&)$DwJ~~i8@CuIe%{a0S3#r2bymmhVmCRq&BtSoo1852l7U!>4#2sotu>JP`hL|+$c6Jv(ik# -z?QmXCHIBWHjyid%jIIB595u~NOn{P`DcH;nJV6o*v5KeL(f1c9Z(hf%aVVy -z6_i{&Js&78PSV>9CkaB^2Gz|_MwV}AzTOsEQ9QBi%{uQGc7;ToqwUa`2?0ob8{_bg*vd9=n&LI -zMci*RP(kSn?--2nxgWH)-L_Y+iqtV$9NEGUlQtJ_8qgUTUUd?ga_HOXWR`zV9#=#W -z-{)q#>9|E1F9DeOsI<&zl5tg(w}ZECGo=p?*(& -z!UQ;!pcUVcGl&$m=So7yyA?DvL?>z8{)~9Twl_q!bh+&OL`q-eMKT^gX%6^4T)yEC -zCq_#^&Lwzt&iS*F;SK7AK@oqLSitZe0;-?GAyw_0&!O}@N23-%Q`uOe1;RxA8S&;) -z_7mduIR=ba9_MM1rH_|+Yt+Oon#@3P9ar+Y4 -zPpgPjoQ#>1p%xC$3Mh?4<$^x~q}z?$^|>?olch%z9X)8W2UD6ix+H%l7Un`^IdK>m -zc;-#Kg6tdXZ#QMQDxYHZy7iNUK25jv#jQy@cRvrDRQ$$TTlY?r0Rfo%vtP+yB64 -ziK%GQOuf?{X(6prF4aidlu7$S+Dm&Wx2P$!NqfypS16&nQI;-3%0+a^8tFPVeb~Kj3@km#6c3zFy~?_j#XrpD7-L*P3*FY$#g2=eb*Ix5&CpM^y((j_Sm6 -zO?@4{yuZrIDbnRp3*#@`%?RnA>NYVsO^JyZmdP)Bb-9$&sG{`dT=SF258fY>KNpS^ -z`UF)mTeL6OFLXP^vNwxtlur~bjMt5FF*I$Pta~h0mM*RfK4N{ISlQzQNHC*k_0?@m=u -z^Qz(G*tA6D>ekYgB9($?w%h*GcC>lN@i@VEO$JU{qNNo|cYpu(Wn@*K$XW}*50P`K -zz4m=D6j;0`a_3araT}!-Sz@b|?nE1Pa1>m=O^$^(?G9hHrJgGyP}a<}Zg6sc+nL&M -zsGaNA#q8IP?GyMIV|V)rw-tTa8lfBd%iXa;FUNq8+-FMm9;Ksf^rl%Ey|+y`Qgc6N -z!a8jH;_`XxhI+ayA0FbF%^uvlRw(9m;hOhaUMUA(5Po*-$8$QHr9Yl;+;Zi}!MSCk -zN#b{lhc;D;S2_vocQdrtGS}%Jl2`CNT`QfG!7Za-{4(tB;A_#!S=#@$rr?h!4qwO0 -zyHrz3D+1T2*#;f&`LcYZY2OWzfCUaa!@T;AmyF3Ko;EM>WwHDtDLcI*AL)&DM2dC# -zyi#0r(Xm-ej`MoGjz)4;v3$lG>Ccn&LHWx`N>$Fz-Y4tNsqLR9qWPTNcS%yaw=PIr -zWxvxUZfN1+{>%FB%O(FZvZ?m?G`R3t$5Aa_(5IwjG0%o_KSu>UI5xS@wL-9e2qRf)+TzDZ}EE(ktuX+G*4`=UrFG*ejRWzT_v -z_bcj0o(gST-n(D(=NnP8v$3ANETJ`#O6iQc2@PYK*gNI)ZSaPQ>)JV;P~ -zcIBXiuG6U<9X_9`thAJc_d5?v{&J!TdU~bZg}dW#CRE!}C>PH_>J;6JHzKWLpU?sY -z1tQy@xda_}s5RafEgsycSH(FzvBKqSM-pq}kPd}HQ5K+3)DfH1$|_d2f4eo$YMIx& -zwy!3i6{qQ{0vEpHLv1}%X!D6*Gu1cYMgYh -zP+vartLL2upcX#9HooSYy_0I3NPEz?e>Axk5n3myE}=@T0>-a{j2hQ;?W&nd8#o!_ -z6gX@5c3I+OW8sjsPe;uXbI;xAZyM;7-=f{LUmvL#mN(n%9Ce6EZ@4OyC(w1?*wW`o -zx_cnkVpOhAY|(?de&&L)h}t8<_D_a8!%w~T>5)Cr#Ay$;OB>_W&RKclZ!d#f3*qY# -zf7;i{KBv62UAaAjBXT>_^_r91)yXtUvO2G-BwQM-qVrc2zH~4t{nNDCgR|<;Nro!@ -zU}bsd8vo+Z2L+WHUt&CcjiyI#IoA=|0`yrlJh -z4ax#X`S|Jt>3XT~?6Zlp#byjK}bLTc_qzo%5>Dzy%YVbTAT(+T) -zZ&u@iTfE!$3-^>JB{BxQ3doBdh(lq%!PdeMF~T$I3p|N$x&ZCZ6E7b=1~&%kjSTOxaIdy(29X54ZB7 -z?tM*8wZAwSQaPLX>%gVh1D7|685HN{z3mL(w%-47*Zt?K!TotT{`1uk|9LrD@8ew; -z%MqFyddArb+{Qr0p7Wz -zc#0!27vvpL*Xc9zp&3IPq8tfL+E+6WcP3b1%SMyfy9uQ?d871klunCclkPH`!2}&A -zl->S4f(CUW^r(wK%$bmexYZ10nD5Fj=Q$Ii)BM+fPsrRHr8K$_nsje-e&{$3 -zO%EF7f(BJ|L36x0BgfYaCI$ayu -zEf{mjrTOBHy06}ZuBpQUQrw7TVC6;_QmujOMg&tYVCaI3JE2EgWQn~xWLTnGH@&R5 -zR(#p_}eZA2A1TwAz^`HkorHDGun;YH2Gkb>@Yk<)5o!+T`l8$M-hrX8m}5(&F)2)n -zpr9a{s`853CjV>n!y=S>#}z4aeww^Ci24ym^w3czgpD)hAALXIqw@2fX33miQ>?WLbP})O!yPlbQu;4<`XPcQY8eS -zY|r^D@RDb#k)d`RDpzDdg$l|N3q<2)C{4E%!84HfMcBE4MTrTB)z;DipGblU4S}e8 -zg>!H(kT4YXIM0{v&>Mqpj%pAgL+if)W*q|`SgD_`NtikrL;M{UOqsFDDB-uuK_-5iGa;!RwH~Au -zh(!Gk&H|-KVmVEo0q&86Ax%;c3NRN6K^ta=Fi@iqPm6#tX1F*+W7^My8q5kw=*28% -zf=o1G6$>0NmqC0i41N -zHiS2rdyGLj9vA(U^r+P=o1e1HG8X>_FyM -z#CPk#0aM)pvM{NRa0O9lpA)(Gj&Oe`x^1ikwD!-OK{o;A*rKnW#eC-u6`0aq(1qE( -z5hM~3hc|;YrlT*UVjBBFBWAxpe88*@1dZ*8g2CW}84wDkn4V#9A2TchgmxgFhy*rf -zZ4@M6TF1gEL?P`sa&F$_+-4=Axm6{CauUk1+X3#Fj>%Afd4&sYnCPE_Qj-yLc7ZWw -zaT-Kp9>{BnP#1BhlK+5HD81JOIF2yI=zOmt&L&q6Ym4vlORjLk-s3-3W* -zHk#1u2Ykst?OtJ-(81e_3cVhaE=-RsblQvDl1_-i(z1&$`Nz^VEVcfI7g*kT&X@f2 -z!ypGqw_f1nAXzy;%5Xy{_!Uj|Xbzg}i?`5%W%hegMp%+#GILSonqkn%MKWrHFB3_* -z8_Odfpd8EiQBp=mfKMT@lvX?r;&~`uJ;9Iji~RFYQR^p2!E)CZQby}SFFsfvIP%>9Z|<`Vl5~q^Qj(YA%J6xrjnRKSllUTC56JaN$E;_=GvB2f8JQ=M5kP -zQ+hd6V6u#$3sct^BzS0f;(j3qNQ{PxtprO}Z06hgDHQP^x~EWFS3xR|P?4MdihA@r -os0*_x6p5cQKIB3(k60l0{Wn__^a1q8*QFwu;t^`ICBB;gPP98$Cv+NGqU-0;6F_sDOwxqNp$$ -z5q|r8kKg{;{&Q1MVx@2bK>WSfb}|uzh<`>fidDcG(m3-<3qq{=@$9`xdps -z`e6Rumo%tP<XD?-|ZPrB&jn|DUt5M(S4|xwI -z+dY})IM)O2#S+a49I}c$G7aU5AdDeEH7C)$4}V{%pmY4*^Zn=dz_W~(UI5K1$qkX8 -zlYZ!(UYctrFGur53KYp2!42j0e;m*Gu1GJqST#Gj?%e+OQ0cw-y6hpr2U>lzXO8Q{ -zhr;XP>tu(Lv~9dTcjKt8i5g!Bs@!R*=D?}xhWz(!rrN3~NG#76w?;v;O9&CU9ogOw3TyADpvCEFa17hNmIkw&YeTV;0}Dm)~@@g^K)148^G*qFZy1Y -zAchkY$Q159BiVzUT;MUcXB$+qeW8adN(^=2bCtfnsF!&?KOSoHFvxwcvZ8QW|8Mt1 -z)dN~!0Pw>wMSrS!y*k-;PIj6eyK6G$B`xSh(>fXW(rI&3@wodz_nu%jQMxZx`F)B< -zSw5fNH-MUcw;0Gplp-91b%DG4h9s-c?pUKTywLkiS|Uq&gbA?^Fi1PP{e|Co*V->XR-?c%WOjot$rV0rJ%wt -z^IRLJ$I*0$EBkc0YXE2g^$oFFw|lKEBJLeYjqWSt44i-RAlBc?F>VJ2@94vjt;E8MqJ|7}gTZ -zTc=nOY2b!r6TX_?*_xL-HvL*LUG+Gm@hepcKXa)6xouxk%Y6yafwhnNhmVUygxtTH -ze_xqd(G-mQ6*;3b6^^^Lg*;#Ms&%W<8Lo4q41&?9jn&-XZ;k_=uv+4V4l=Yu}LrXdbi07#-MU$uo -zsD@PQ>>l2{WoJ9q7`jC<0PW{nk6#=Az3=6~geF&l;4XyUI{S62cxM^SnrMZYV%J9A -zF7INZZLn;>)(_JY!_RK^ax2H_zGl~~`c5ZxTfx*17Zc+dx@yZ|mlfP^F-pv2eZsgDSnR^87q^rcg@6foS&rSRG -z+-)Kq0p^HsriC#&wRf33SKK$RHhRkb@ZPTE9&`UW`gv$y^GEj0&J4qx=Ds$gYGWt) -z$M}{);7uKi)YK;WRpu1s)=z({KMt%&#=QM?S~_r7xa@wG8dc718gJ%YLh)<>(4t5KdKzQ6nA=sXT_9yo$W}FqsN(l(ifxj#6|8sa6*68P&rje#G&9t=i!`b!C%90~y -z)Fv~FlUi}@K6?OjN5?R%W_fV*k^yQ9!n>N|d@K7Ktnz#LxA&9qhhGY&uwz9poBf_*dfO;xXf$K9*#_z)PL~_5|K5Kkg<-;Q -z@50zkFVy_UqZjoKS+@J9yt+p6kN^D`i{syOd3%rR6=8yG~D=T7fNYl8x$-kGxxxWm}z|XeygR^S@EPEs>^Q`Lm6BENGW3 -zDLbFgxhg$ZbNd=u<1DF%KFEwlx;>Yn+;{#H!?`QmS9z%5{srnI$Dp(x!(R%Zo7B_0 -z10a%t^2wfs^|Fq`I?f9{WB_K}_|e505VroMF6Is8K#$~U`Kv`G2mM#G0pfd9mzh5A -zR@==-BYaOcdxrk5B))EQ*C6>gJIMEs=jR8SVCqP3o9G!m6vP^S(RoF0@hw_ -zUt+CyFS7+_H&_!Q_hVBpFB?}NKGU;pjR#D_qkrj+!C!iRI&byjIBl1sT>bpUmPq|p -zUoKs|AJi*a`JT}pG~Rv`KQgLD!alY*+Cj=5V@Bn-+O>4?A~DPMBwwkmkFHkWf|&Rd(gJ -z85q{ZF40KtUFcIQW;bT>>-r`2-Hp8XXD4wY1&!GIWxtkp%WYvyLi!?M^lmZvfBzl! -z%&Cy1vH~ez9aJ{z@cWmXgy>ipA;F#y4KX<1-EWW2ws%nNhCjv;$D_pLHEdAdo|3q_&U_wW -zuy{F -zD8IPkSOer+MUt4 -z>*9EXP3W{s--1u28MYSJY0djDVggb+3uMzG6%;>3#41DBZm&npqm}WBgp+lWj}J2Rfa{3+=#wCg -zl~u|^`5JI6XbNi6m8Ff^Vrw&OSC7n1Fu%xe+aJGg6Nu7x`<4q8(b7%hFsj4EL#3;DmhDw=yz2H>DG$bak)1|!TVk2K)azdD -z-!f>B1dJ(J^-P~s`*Cy1H5L`T^cNUW33+3B2i;Xuo)TaL5ZA8tD -zujGiDdXI`q+{YtS@Fa2;m -znX-3FBXq3*4pppw%G7zpzT-6^w -zM(LsQb9qb`P4_EFAuk)nSV{TR+Z3qp$S6nc(sh`t7>}E1Hh)0fF>&Ef?ZvXwqv=C} -zt>9wauB68onIt-@<UE&sq6DvqDg@!P6Ixsu^YOYU{t4YZ4PNyfinwY*1@94B=FTkFnCOX!Ya^Gq -z21=$Tv&U@n$inVAhR6H58u-RQX5z_ZY;P*?S9uiF8dyZq&-cR}GBs8!Oc5!fLndZb -zv>RHhG+aE+@qdeA<8Du+-hnuPOXNV-5q$*>huU;z0lio-%(1{p=a9*MLf6vg1Ip6G -zg)7ftkE<;`L^3kB^kBP&@`0D0k{-BV*kN6<%`ob*I-4U(HNyo`juSp# -z>o1m_71rt;64{UI#${NcU(45VsHwT}@Ik}G<0uq)F;`liMf2Xe|qo4D~R>57^^66$zX)6b86T(J{A -zXu*a4Dr|+EwkS#UstTFdHlZn%Qg40UFf&uOZVYz&7OLI!C0!9gPY>P>!|1$t; -zH4<4T+&sDpvksiON$~%$e{jVI*SFa)WGy9Aquvv?4{&u#H&)l;aYhfh)MN=4BH!L| -z5;=9t^ZO0_3lTak4WIPfqdE#1++yl&#to(7s+8TEv>ulNbNR1AVXR$t6E@Vr@q2`` -zJ0#!oGGX^CsZGCQY3nK9VuCU?!teSF+teC -zboPGXGvi1t!X^XbD7pNSmhEkp42y(j`AUWI?-Tb%WfGHH+!%n6q|DWA$e_4_uF*Uq -z(MeRF;o%3M5PRamGYpzy^yo-?;O9aTt&B0mhGe~g?oe4eJ!hfMN97or5)bT=kmJ}# -zL=8b=mYFFrCwdO!CW?rQ@}pLrlVPQp!mOnJtg>k#S2jY&46bP=Oi -z9=u}~h%OQ!wIcMM80228l8h}G@_7}4{40=?&v#M!%?opnIRwd)q-#p&Rzt|XG!f*O -zEAlXdhd{$J^Ecd`DZ0-L`CT*txm`>Dgmv6aF{t!WKc5SnQPT%!k&qJVDo?RAE9iJ+ -zI1Mlk(jY6z9V!Xb*c1x5PzlT6k!JE9mGS7z(_ZB_ -zLosTq;H*oiO<=2dQiR{MW3i~2(fHY7RQ!s5F$fC&b4+=%Gr<~cR#MeE5Wo^ov74bnJ+ -z1Y5$J<*UGntW$oUx+*B38Uzn|}7QMq;<9Bc{1?}oawy@8BLIwHP<`*ehY7f^ya!5OKTi`C*<0ZF1p -ztw(y`@|O-f)U)X&M&|3joj3}?Mm_5&xzfIviic9x`K8^S93l3@QLoyITv1!}=V^s{ -z{zr5bI3m!5nOYP${qlN5gJVnOXg&k73>~Uevz$@-hml(Y*D;Y#zM_M_w0i)!2%;HHFE50W> -z75Mw;iAVI{{cOZPK=ogS?6jw9L+=1`cP-Ty>|Y;K-}v$TH1NRLJ%e}-kY%89$s -zmxvM1HaT+Ak7@?S -zY>~CZ#|+C%1MKm$bIfd=`h>1M -z+k9Eav@5uwZw#!S%M+fl9uik8@^l~L#oUz>tuuw-yC@b5_2B&+Vf?8d8+gO_Nm?{P -zOP)7Q9q7{%uMd1C^6sJ1N06>SPkP=rOT3y?C -z^jOK<;J(S%Bh@U>;KQ@Sq>GV{wBM}rABMVfP%OXKMAQ8X@0&PhtWgBrwtGy@7yF;M -z3IIVlp9Ms!imcK!nzY%YWQ$)wg*^=W^oj9;BdXhz_1J!l$o~l0U580eSgd5&vKzeP -z4=}v#j^fq$xId(06H-h96@CcX1A9-H+%d9D9u0-jZrQ*0comZS6Uw(zam87INOnNh -z^77lwQgI!YhPuBfNLZ}B!?{1B{3!?_vV%#f?ygfxEFLm?6;x2W^L5N?JkTbjz=Ejn -zo>Yc)-e{;R>B2JBTZ-X%_31)ky5Ame6Ce)x!#Zta7MLf#x*;oVU}N8k$X~1#2HRhz -z_cK;2*EQYKR+-Ck#P4l2C9^_j!9}*W?C*>+){Q$Yo)uEM3;kRgjccW?Y38W?FN<~j -zF7=Ug(DR8WV)F?>67DpgBebi3e9{c^ku5^#v~BcPGfIMnVK%hT0H2PqWgOI;6Vvp7>9wqqv-7)2aH?gRSjaRt0Y}Pod7- -zud71+=;L@Jc~73H<=Ll>w9S8d?iTD1Qoah#q``PQ&rWC?{+KUlY7w^4J|~eoW-sv8 -z)JUP5h(t5I$&1-#h-*;)#X3o;7?=k3XvPo);p -z>84>64UvZP9#?nXS!EZ(or!&wF_N3|MVXAXT;-sVyL^yo!8M#W#aqN(WSt_Fm(e2? -zaGIgtu8fl5r}@5n56La^uDa_r7>bA4!a@?*p_>GTk4pFj?l%XgN+= -zh+&lqE_n@TY%Z*4#iT;e?qqnolH*1O@$f6KAqw3b`_R+Sqxp$Gag -zhZvyrAlxdMEl8))$IQogXGJ8ps(JhVIB2HYv&62XHF5taz!A?y_aL=+ef#Nu>W-sO0WTA2kF -z{MGr{oP7ZgjWG_xS)>VdSJC)JOh#LUfu-JAmad$*K)dX*y#9wtm2XrT1RISWrF7;R -zn9;vW4HBIWeic&u9J9ZFuVK&ne3)% -z7g=$;DZC?i=IXGi5*~p8J08a`{rehgII15r$r7Ut*u)8OCySVQi&-L4y6Y%nSuv!e -z;BwuTZRxPiiec0?hi&f&{~GO+XJ{j%`9lT!anm~)*4b?Gl_0!-2}qHPhe)_6JX)HO -z#U4qUN9wo4e=;?iKcZTmz$@ru;RlVT1f>gwQYY>rH6`Qn9v#n^THL`vNO8!jfL|_0 -zy*i-1jEStK4m-0)!bWQxK?=gT(#x%`ZWgnrtYjz-1tfS;o -z2pD{JA$!7ahum_snaSuwp&`dM#ARy{pi%ff92yp!)wmU#^UeGHz1{W#<9^-|LIo4c -zhhSu+PH?QJ6w6e=;LH! -zN;l>=eUsutyFZEUR|+QDV{BUKBrN#d_QGGwmD4GszA -z6A@k2l&;jC+SNuUi_%fJGgE4$;SbZ_$KB3~=NDmJTtix|`7xPxbLrj(o4ggbg2eKk -z9C^@5As_ln+O~CHu{j3Cjp}|H>7V0 -zYcjL-=*o)5eDU_fEua7wzn!}Q=@*aQH88#{nKYBa#ea~B)Zrusml?DooO@Op*#6lM -z+E@QNg0jh?Ofg@5Z$e!_pABD{Q_aVZIPmSqb=31uMQFAH+ho3x_fiP1M1Z`LN{3pJ -z)BP#Gn_W5Xi<4ZAO0nUKRL>;pGU0Oj8MS$?xdzq=-c1gsXdmE1&I1R&HQD285Lj8W -zW$P?nonxzu;fnNmgf<$niBaFIm^c4ECMI<_;(bmU)tUFRR=I}SdyK7>A?OolDYj*k -zj|^KP{1UHSIk`)uPyH-JuBBx0tk*L3oy;{y89fp3s1s7ifnX;@Y6)|W$%*6^S#ILpIii&fU& -zo?Ehb%s6<}X0K(PD)P@b*%{qlYwsL_6Z3YjRZBYT7&(2u17?5>Ma!uLp2-#5ohRPog%1+tpaO?7;>^ -zqrW`|?#|w0cw==VgMQpEv><*uBD9uw^s);VW``K{!8Q} -zOUH16256kwA0cOEcSte}F>2{`8Js8H`h+-Dm=y*FfzwzYl;C2@uK*0uEMxzLhuVW5o1En?6w=eB3I#x -zF%}D3bYoQQGq&q&uO#+OD_t$!pQ2tv@ax)Hq~^73$#W+s6TO>HiA3=_M%d++wO)^C -zTcu1VVq12F4EYZzW>`o4xpEKrzcq*=mM3EK0S@MCgV@ndgs__ti21%VG}QnH7~18g -z&T;S$Hn?csDecImz+6g5Tx4i1dde6pkB9K7pQ|%KbgS>XXxcQ-BNQA2%zT2X$YbrM -z6zChsC~$M7ksN!1+;vnG!ItHY2SPts)@pcNm-M=&-|9ag?#c&a%srpTdor_-{+(3$ -zKFRhwPb}8XBA=^eo!n6FLdvul7*wZ^$qrCa -zOoEGiYp4DGowzd#lA`Qr13LicOqc<5P$JBr`K@u*tvpWOrz -z?6x}9qF~uU_~}4AUbM8LNQn=(>}UKWqiZ8B5fhi{+| -z$i3;!D-CxL#%Y!3)1OaT-VbFfY6t;4ikF~4Vkvqtms{^4Qkx)Dui$V33faK9a8dRK -zBgw>E+dxR5d=EaqtIZ^IL}NK=MytFFGz!qEaPZr>`qol+^_nCI!OU$712bkzn@#J3l5Q{hN=jWw=1Nsb -zyr%ff=-QIiO(^O^($3v{nr=WCMKq$O;GZWux5yV2iDF=wV8F+fvM?|;^hs>ti+)~T -z)njLI&FHs90|(nw5EVO$pOHGH*|?$!4q+qV)At5php0cQsYJh)^>kSFXxYGBt1(+*^9PDzXr;Z2ch2-|cK<=B#6hGnE -zBtA+l(THp`AW->`}?cI<-g-JMmyd6i@m4A7&Ku -zpR&y7=T(SmnXbs;v8qk^o^-j%JPj+ziHmdvb}5027aci6P#=-Q0fN_w#t8a;(^zCrf|{UJZ`l- -z54_BzJvvIJFzDvpaV+;@4MAe@B->eFPVK^KRijDxXnQt+!xp5Y{t-d4*FAta=$W`q -zMHTf$eD!@#o(211+23>l^=~(X#paQB023E(mPo@*`zW5eMpF&^wR-{;zfe`ARNrT< -z&Vo}TLJkCpyocOAh2-xEpr3nMWq44!kozi+hG-qPq;BG6A%DrR4fY6~bbJ~eY?*y# -z;sJWot9L@AKK!TKRi&&?t3Ua-=d}S*lx)E%epq(Ie5t+z8i!@$(v~t$qvL=o=;M+} -zC)6fyN8$Gww=JdS4;h-%Fz{HPKE|qpUrEq={J;9n3^j*!s`R4$N7q{JE3(fFTQ+F% -z);52~r&t16Bm1>voGmOULzPf`ThIwnkwOWR^-Ld_5AYHL=RS21J`z()cu46EYKSoP -zdKp#8JiLS<82Y@V`a?GV0SXYtKKyGA-VH=~{e)}s?{*e7#Jq9@>Y-0qv2tf2sjTb= -zvdc|6>_VNTiK_yWdPlt655A8|;B%tyWd~s3L)yT!Crh|t`|`!LnYfTl#nXcgm0LQ% -z*zQnPqQB#~6Hor|3mo^X3p5YPH*zO> -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 -z`Q5n`?h)v -zkq+=EJ@}3x#HU&;wc`P%$SSHDJG}Nk3c7P?AnP-i9MrPTogIW`hpwy10_3HtE-@ps -z$SSTZZ(Vaea2{ydlj$d(65wL!$vuuo#tepE8)zC?q(|WsYBdnXV6>|Q0TpU#4@n%l -z-$1ctHzk^ksR*rS&MOGR;v}FZfuvpvl-8&(@ea@I+bqR?(jB -zkKDzlGT|5ZPGMNVn+O5VMO=mjTy3;YGL+Cwjs(?u!qQlE!L~n*ki)X -zLW+ua_!G9>D&_tvo6nPwoIGBgRzw+L*LhO`Np(|?Y{$maWoSiuH -zY!#0>6t-tSIoKoh>>XslN94s+U+<9SWt_Ne*k)MdlP}hiaeg0k9+k@?YT1-N3rfMm -zDxv{tD+XNoC}fPLQ0F24rKp~FvqkD?cctXx?=$!C&%7+*uBHmXMEV~iKNDt^%VKzW -zCkzeQ<`E@+*VEF-S|KVgJsLo$D|-PGz{l-1ru8Za&C<{R&^opvX3jbCWe{m|GVUbrK>MY}0JnUl@oH^Dn=*}LSS`D1Q*w`WCOlU;= -zi)eED34OZBIdm1=T}c=+93t0kjaYP*c& -zhF147aURc9zicvRcsP&tKk<}Dlnl##YA-22*rF9yo>lNaPGjlcA(&Gw6DKp&!y}?& -zN^V>FI6R~zV$Add_)uKf-N62j6)WJ;`K+$Rg#o{QH8^(uhi?!#9>y0xJ`o%;F!Yhj -zEvUFG;6qkJKYHJ@ez=g=dIF;zF2RKEc0N<^a~6LC!5g5!#AxUS(I3*+87$rx<@ku4 -zh$Vex#^EyAr`uED7-AL?9^}gLH&Q>33pVbDrG4A5rUSSN(HU+!1}B(JyGe6jwDz3J -zmAhho*ElT{JQeui+s3LdARK7|kBdvqEumkm;_g}+bzjTxe-|T2!?Zu-_bRZWm*7M; -zcpiC!58a%oki*^1GGMz|BK5-^9@$!9SNmZ@buK?gw;lc9V?0V`Ciw%5o{)fn|6WF< -zl~##90sar7C?qp+p{B5(G&{=;ZT#jRW8x#1k4Qk)lAC@v!UHuqS$;0k4Sh3!0EY($ -z9%6?f8@M>XPvN7oXQv0wH2TW3oM<}t-nZ-41G~|k$KoSR2C*x1MMoyCcYa=$xuSMd -z&La#@=tg&}2kMn2_l>wy{s;6s%l_@v1P=192;Ny%sGGQu6h#=~EY-E?eCD&f{kGWV -z^rEGb8}-fW=_Vj(L?Arm>QaaOG>`vw2OUe81w1~WnJ2tIadKp&B*INg_e*MbZ -zYkas~xc<9!uzY>>DbT_l8GHr-x6Sy8&8Nt=>?lhc${W73KwjaGFR&|5`Now>07ZDy -z%V0lc=!l5O_){ri$~w*%7MKx^sc04=t(D}rGgI!lh$?lg6wy54Nz(4$?AgE3XCLiC -z|HPD4*^ZkNvCU=CCD9rYvZQTuRv5}GtX-D3Fjf+N^fn7mkxh?maijPPnRvi;Sn|iC -zB`xJsCJ0 -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 -zzWGU8uXKfigy -zCGVz-TOD0LV<7J(^osmz^tyz~bJwr+4XhH)4hdzmfa?v^IaoA;vz4!FentIw_AD>U -zsBEUR-wtVT9x-OW4BIs=NFp7N2-S&I8h5A6cnOzeKf^6pBgusV}f4|;H -z{uw?c|0*KsQqKy73ZyD!WzKBlTq^m^SJaknlgry`-!QIG`5|4P_`%{BmBIeO^s0@o -z>|D9Aop9Rar46;`k}8eTj;!F+ApeSOinEfw%$OJGHfG70dhSk3m-!SYR6pjGZPoaBOB@^0D8H;Mt>vwLxCYKNZ0uy^HJ*hwAY -zd+?x9hFb22oi*vk?tz3#nAmOpUA5;0W&G<6@S7nqqmULGk#nPG?NELLRH}{GInaJEe!SW41Wo3sQY#49b?)*?vYc*m -zWWTPGMj3UQ;bGadN}<*Q_~3{7Mwl49MEw6(&ynH&R502v>xSV|PQ -zY|S!kYrNQ30=-&+cee5bBb;W>zpC>9?QQjC#EdtT@p)?H -z(yKcwh)wjm#$Gl`>2{N2l+IkPubpTbXXppYYiQ?reklQ}COhESNba}um*HD5r)=yV -zF-3CE-Gz=#E&?lE)_k?WU)o|=HM=|1$8fXTUi|A(bJwyk_sgw*r@)RZV2dW7KI%?W -z%R|oBb5fL!zj$fPVq2nhxS)fq>S)fL&9q!Wxp+V}ExnYN2hf(lE64*wR`nX+@9l*B(v^lZO}uf$={Sx(4S4zCDAyR_vi{K|U6#Ud^KBG0N-^ -zl_M2@{;Z)B&gkNcH0(D&EteeQR#LZHLCWs4J>Q8X)fk)%(xzrBI4K^e! -zMxSP>7iFiCvAq1`?;P^clIk9Y)C>+zYpHB#y(mbJFA_z4VMMA%xsT~Mz^psJSd%A8 -zC{WSX%FO|LxG2J2T*!KU&;w{6TymKikva!-Yp1xohN2QbhfK%68~>e(S+CJk*cxxx(gcwe;3t^sf=4px4fau4ad*ToOBW9(kzp%i8{ojWe1$IuK%YT{QXIx&#cr -zz5G-!s&q5B|CEJV70{p{9>+}u^?nR`05A#D$02FS4%~OM@ZzUE!qv~Oi_?Km*I5?G -z0w#PZh)YDK2C#B%d97nxnUt*w4$a6sSIi&(a0nN6S)M}--Lxsx^mNpe;Gw(VV6y8L- -z)fim69(mAiVvYO6 -zJ1RK*tCdfOSVDoVrO%dDCjUT*?dL=l(wl75t}7St0B3^IQB2k$^}Z{}d)cM($zy`@(!a5OS2Y>iq4 -zwqXSL*F{<495FoGncgF|GI!=uD(#SDcNZt)uI%Di;`Qe`>LqEYnykZsHT-kAWPzi2 -z+3okER?gdVXrPOs@&#`3$0&{SUZcj&V}BDU0^n*M6M#KW-88FO(>khv=Kbps8o__} -zj*MsJD~j(YHCRR+IeF(QROJ1H9+UbWAFP*7a8v`=^Q7IQ$c)B#p;b%`>>eC%@+hh@ -z6Bq`LUfJ=s=U0KI&FV_~LHZEgYot(E4(5^G_mFYr4cOQfhw#)xymzocL4kZxHN60Q -zz}>`s&uPQwXd{Iy_P;?vEMDbu8riLp5 -zBvGs2oLVm_bUVaE7pSyO?`-h1(7MZdi%YR<%Q!MzSH%v6t}91KY!*>~}s;a(7Sj^_~}D;eZ;MfsZu)RY&gJ(g(UQ)FT%~ -zD~A|*=gK$gH593(c+WGfnQNY#Dk^76XZ>%(flt`TLM8X=&Z?dx`tcja6(M>TwB$E` -zN`{4z!%ItrBi3=evlS67AHWM_gn77KRbMZz70_fYHOxLBIkjJ)6#sN;bJW534rrKm -zJ_>Iapg{qz{p8>pBq7Ydn)T)1AQKggjJ&_Ztwn1}sct-&4M%^Thdnz~DJU#p^p^sF -z$J|wC7VP^0Yfv8;#(v)%h{>x|fnr>&v>z4|l|=*fh>UKClR*Wg;KrqM@8i^|;f@rhoe%0-Xwg}& -zgS1YL8s2+b!_vj=Hxu~R=mDR4`dQx1o}xNQg{=v25XybHBUv7`v_bcPWHq21g)Z_J -z5xU)E!*^Xd@1wl05ZD|p)S}uZFQDIB5uUHti36UGK}Q*d2GhLGbAv7ddNi(WZEZ>h -z&Z7NxK3v)EgJ*t(7Xea~$D4E|Ght7wbj03w43N~(e#-2)$;el*;l!!G&R3}o2W>IB -zQEPjthNwKP`i0wxTf-&};mI`d>kRKdKhiuA=92)74WN~Y6M;-O5Call_R)wNEvfVV -zH3-gT%Nx|nMRXH^koH@|28g2qVXl2%!maj^}I?xuq|JETbz;nbEkiAxE#21kyY8ao@(U=B0XUf6wmZ0}{`Qab$2 -zM_SDt5Q<%R{bja4wO#ocwQjYV0w1R-P28u>IPB(~#dp;|wldX(_Fa;HM*9dyEsT%> -zrNmarP^o`?BOtT}j3n6x0;j@LEzO>azB+ce7&!-0qkL#AyX~IbMcRnSx@P~wFN_;i -z)dY$>(9E61pKOFmaW2YO(cPIV5@ZZyRQucJ!n1+marvsshLURjEf=>2&foA+yW;lL -zLeCAw2Pi0UkWrkjdDK|s&P)N>gb&-Ng>jiHdud6xu4fy9kE-m&EnmAJI$iClkSpv% -z+{ky4fdHM(OW+Lb0+?=S4_#e`tv!P8>y}EJ$?(qH1ZaRq7cph-#r7Hdlv9RuYeM}t -z-vMIue8Dm&!?tP?75@rZ*wN3*la;e4!V2ABgoR0}R#5G1$ZN%o(IleW-g8t-bB0)Q -z|5PpmqCmtUI>x)#+EL{qz+84nF+!K)0L{;&KTTG)fvrW)$~Pt6>vuZJ&gT2t1t|RL -zw(Ydspev=T=P`93@cP33tF26uFL}OE*Uw`rQS_+qvExoMQr%x#WQVAii#nYDIcmoV -zJyEOrttY&pw#jPVY$_$mI%e)wNb0^pI|M948{p-0h^z!J`xk~d5k6x~pa?g~>`lpr -zfvNkXOy$9*+`&yR`495%dw*OwHlbH#v!XaRmkH2`$|vm+bI~KK39U*AzS~W-L$7iY_^F#734d00YlUGxgPq-#jG_SwTLC&K#XboJDrG_`)JB!8R; -zkf_<&V9eKBV=(NQdr&XQkltiWr^G%AxP|S>e -zumkt;M8$)&;I;zlcuQ)@gCs|B)aB{=58gJ;IpCnFdP%$Qv=^J2!;7Q`qBXtJq0pI8z_s64Lka{5}h8v52 -z6@kjuTM_Uc;=a`GiWyUv#GTj$7@S`u$XwYklCG7q;@wq)3JYu9>Qp{|?C02ME7t$( -z9)d|Sfm|Xh>oZv{#nkF`-0ZZz0&L}L%+B~n -z_vxT|&C6S(w32NY`<+e7vtaEqOb~m${+Bs6J5Q~WadT%?K9|(@8eKqLFTxVgWO+72 -z4X~sgw`d&>3f$3!)Z&r=u9{JScW*INJY~E`_~Ya2=wr$kn0|~OS9q{y3XM>y6wCP4w~%;ZRf=09&jt9P -z{F&AqKy%O^#`e?n+LoyctEJ1BUM+)77)h$-GVyQlDxr?DpB?ZugJd$$tPC(nNx<52b^v@NU?^GFN(nL8sO&@W6NM0?$P=+V5ci@qh?|go#NJN@K1N6U -zuXoGV)`~#?T*Um%Ul>eKn*r@n1uvL>>E=-?zuRpdaAW{{d~vv9c=qGta=j2Ez+;zy -zQyJsI0zMHi99rUbL~WOX{BpNi!FwR83otk4Ext5_?kRSIy>~*94rF7_nZ?n8(taKj -zWZ-U!gT^!#>FVj8@!+L5Iya^;&)~8sU;{d8c<) -zL?6dlb%OX7?-2`OVAg{Nwr440qbgqGt-^Zuz&tRL09*^v&R2vFF+wG{R~E}N&mS^s -z9&(X=!YHsEqs$zMrHNmKK4HGV#KizT_P4S#oqj|lf6^0)k&M`IjC4+moUi2pD}3-q -zYuddX$&@)Wa3(9AbT7!y6)mcf{2pQ+266-g0KY2LJsxEMGtB6jY2T(ZWv!D%C@xK;P~FdTKt|gm79ws07#_ -z*V(E_GEd8$@_0KNXiQ6oEC5luDL&!*o&$(5;Ul2hOV-NQbezrpoUJnc`#pozL8Q`@m#JL4Rky=v^^gb}`MV*%d -z`4h%k;Alj4e-Gz~AFl&pYl$GL#{wvYqUb)rSx}W{<*keZ>77A(Pk^|Z$8gNlKJGRC -z*L0Nsrs2gGc|IU!h)&+0^B2NaJPdVnno(FguGuW1jD3PpldV4h;GnR5-3O#ha&T?@ -z4WAZ`2~XF;%jBuAoPDtiXh93;0+1Wj*!ij4T^v=pzgG;WDx{8|uJRXU323%duA>#f -z(B9w8icO!VS(LF6I5%7JF)b3uptr&Bo-+pPQe>lE&p^RLpm&JM4Wi_jr4e5f%5u$I -zX7n?-gy;+SvWE#apEOC_5ZZUH{MlK@Vv6fCdDWIZw**d_S#giWDY_xRIbD2FOvV_b -z8nrm)tjKE3;mv*a@p?6g`mvMB0BL^ZVg;M=rw0;8%>>7s3oW9ng$g}}!5fvvBCgo% -zJ!%dd3*`>q0_5l1&7^;6Pniquqd9J`7n!)#sNDNFjNod;is^};3(*$kX&$jNkew~B -zWCV;%`6^o*#iW@Ft?B?*?)Syt -zm#xXhW>A{o0Caa@il=f9ZT6w1@YtR&=(JX`ETh;f)?M;3tX`BkzD -zG}_HZeqbx70y=u`*kSGhH@Da8HL{a*4N7acaUEy?F{od;o1b>`o5<*hHC0ORUoMak -zdZwddZHdS;EBh(og$v4P`$YlBab-MMoKVEFjb7?~Q2S^UY~wFbQ;Y$6z+n)>98vkS -zN8-%sqZMw@l$MHWcolGcjKv-KrsYIU=lIk1zw=7t-5P*wi4c9J?H0S9q{Y=~pbUoA -zCG&VG)lle(Af~6I4%hc#R;Eu>%C$j~8xbUODv?Zj%6?4c9y{pJvs<0! -zol6B_W9&D&`}CI!T8q2#Z@~a7eSv4vZKECcGISG=uBJwx>&fUyXu}aB=R2%sYHwy! -z$uNPEa*Na2mAlFASHFot1(p09P%Y!bU@Ne$rSQm$0xQI(juP7W?1e&1=dtDAwH*5` -zP@LVvN}34xtSZu-%BWk>>oth0!KU8Bs)ZT=x;J+BgH%p5<@ZUy6G?WEDJ$@1wy*}{ -z2S(f=0I~&1!q>VZo><+LV-ZXxU)tM+=`JV+GAHiWm4Y5-zqw`wU&L6#~fXwG*~(o -zf2JeV6>PP8=WjLFi?Q5pcA$8pnxrxT`H+DGFSh%zQ5y0$O#&~RL5Ay!bQtOBy(sLL -ziB0$e(zA+q=X7vK*Qw!OSDk(Pi7b-MO6`eS$|yjmzMv^H=!sOP_7qf*14ZR!+6Jvu -zoEqgP#zeoU?Nk~h8 -zA$OeplEW8%fAPF0;4n)8AL2OkSFUq_QNn-R(K^bgvL1e4FU1}wV{(m^VN6?LcCztN_6kcq&R%@MMN#&y|9tkw|c8oRisCm%M$w9GFCiy -zX2A(8h@->3UlSXClRIA2*zuPzm9~tf#LxEf13k&=62T9a;06Hl*+doK!yIQi3Zr_& -zuZKM!{6os=0e27`^?Ih?JVQXjU-k@4kNh6-GeT;aP|x##`Ji5$hDzF=^W0o= -zGR9w$PkY$4Hn;G+s!J9?En0ORLu`WVQ9Y$LWam^0M&uPE -zk6Nu5G!yMhi)L_Lpm+6Ry;hq5j&)FHtr~Eq@(y$l^YvD)SK2w)IA?yrAQe9?Oaj1N -zjw>8Wod^8D_m6$Tz=uD{zozL(i(BOvr_ye=V%K?51;806W;8yW9Mtgei)fdJ_?Y@sKSvkD?z1hAvXzlQSr -z#|bBJkQ4)4(rjSa*Lq3rr`zo!)0`9tAQTB*W4spUcx)a>0f^qX?Kv#qo+N_2P*@r!{l9lnO>0u$|tZr -zHA-)lsqO3?trHO`iDr8mYUM&E{#C9ptJX0!f62Ua>Y}*(2}vMtTo+M7cSCR90p8y@ -zWcx*#!Gyn>RGe|SMj$+7#27&Qa%P|m1<~by&$yPo9(Q9#P1r7i%OR)^(A=%B?B}O_ -zT1VRzNusGuy|eeVTM=cSW_&SF?dtE0(Jx -z!?x!`Bh$sQ?M@^IG>#b2u4GH7d$Y+M>5M9vmqeY34n)k+`cnPU9*A&=x~YX4R}FUMy1^%L2kZxw&|GRVV-WAb;(+g$y~+oJ^Xf9z -zh_>=tKFZ+3LFXw9263s1KMBE8R%Mv1au`eS@Kf#r{8^>eGF -z%?kkJkyPgqlLB6_R#&|dl~4e+J%hHkm3lw55;ttPyA*ngpCv!#X)c7D~knpBO*0lx=q{aw)2#XZmQO -z1YUo0aPeyF9<)XB7g)l;faj=2+zf&2Xr8F%sZ99E-1V6Dy&sV)y()C(&|g?cLfR69 -zD(5ExA%_}n+yxxqBn(de9P;luSOkvEBuxRa8p8tq3XtC}SiaK$7YERw0Vya#10?Ug -zd7p7ht{EWz7%1$<>3>A!XyLULtLkslUJW*OlvK`6SXveNib@1c2l8I8SGE5*;w0Ho -z8h)Q`ln+^6B-Se?!82;fdGQ}wSiy0RY2fg>c>{QNWcI}K09(fjrU0`;MCw^_z01%3 -zey>f|K%kKpA@4&0#C(?p_tU>lyK8*}S0vsS$tM`3%&o<#L~ImVDn8*AFR6qah#>*~ -z1GLnbBqWL$XId^KmA{t)5nZ+(cbu!vfQh~4K5=efVOmBpBC`=}$p=Vln|9}-JDqhj -zemHa5ry#ro>D?;m;*8twl*IK<2p0iQ6#eVCK1-yRdJyo7P{Jn2Uv(5d<6kES**H@Y -z-v__eZ+HV@Rug0&M|pq+Xg?(v|2)(H$}jKasFMZwK{pjQ5g!wQr2$Gtx(DuBqt>=D -zHZ$3$JtbeA-XpT8y5_x@ucp%HA$WotKZWNCa~SG|eImd`lrE`fqJ6<#2Y+1@G3nRK -zy7}a4K^9PaQUj|jG^~~jmPJYybj08d^^g%;VbG{F&o7Qk2<~Pb;-5gxQ`V-5K$G`3 -z_Zf_p0HD9LEgu0^HRpWl=vn~G38H{=H^7FM>Y6>hr)g#HHRf8;@GX#EZDEwNGJge2 -zDkyo=>36Eb!vYc1MbJIz`s85AQ>K>3(}D!hbw$Mc-Q0P9AZ!l-FOX_FP@k3r;Zf1= -zB{aIFty%RU9RA`DkWY<&9;TR|A`e=a;DiJQObZ?|mT$~)z{Z;rY|ml=8_@X?nf%Kv -z|69%VMn(mm34YDCDmlG%b{RnrL*RO6c%q7vnFvz2p*=0Oy!YKtW8AQ)TJ?K~EjP7V -zMt6%3gA|Ypt?JLdKep9Q*_u+`Xuo+0EJ4nAC}CUB1h}+|g@L^M9yqq;#~;|;E6Cla -zoUQz`w(YfYUGI+}){-XOBk>a7Tt47(yWJ7S2gv4cYW@XS)HJ_mkd$w=pQndzY>TBUD;sx8BuddcHz -z27Ut!_Om<`%3M*cFzbcX!7eC^ApN`i@(lSqW$K89bal^u{hkz4vO~_;YUZ+9rk}pD -z8@`;HNG0qVdHWu%gHl(e6WdE-_A)%B8JGKEA&tX-RWvf3JC{f*`0PxhFvBv(miZl# -z6w0vz{b@I-=6O@CM(s-}sv?lREB44oXiAtbE;bwa04`RPO0!){cMhuNGf@%j*cEt$ -zG{lN9P_;snIv5sbwyU$e?^GCFm6_Vyv%XsqyroYvuCm#)CW+uu%okGXy0U)7X2Zfh -z%9Z)?Z}_Ub@}a@5kbhax@cg{=dAnAQ+J}4tsqtu4`efj_^lALNFRtoFLEi?0?fP9> -z%v7-}EbA*G{8>-lCL}?*&NP#3C?YN`oy2SCtE5O2T3CGg_BYEzVs0`#m&!fk`$Bq0 -zS8grymzeuac=Thr%yYpRUhvFrcl2ct^;FrvJo@g-1vjJ9>c%XL -zCgKggJeo*D2V(M@2HevM?l*NT8DjK%Rs(|N0}6UZY(YPBZJMB*Gqh$x7=ov~h3tKz -zh^Ob$=doJeb2V}qKC&BrOo_wB<%9NmgM3A@U#=YT@YYI@tFRX4B{41Jn34n_qIXwu -zb#7Bm;8t2MJi{87F5#Z5kI0(qLYz?Kx -zuf6+RHo%g=hLyqPNVwGpvd5v=H|Up;pdc5uAs+Cp2GTzRxg; -z;85Kp-b-x)AtM6e5apD56{;XkAIVHvuh#8I3(IKY -zV)P`4^?Y(ji0(UOH+XFU3w|@3!g~Klzc-fV^JWauMoO4|{+40Ea)RjsG+^K)_;Qv} -zUzziuP4M}O{FfT5xNEvv^Ql5ld})V~T*bZ$KSUt*!##c>H=n5*l{ZM?VNvG0yK0F; -z=1X{ej=mbvO+F1`_7v?L}Ggy0b7hstG)T|^Kw5;Q;O0I{X1pyHP-Y8`6+gu1iyu|zPhosBF8H5 -zLKTMbHo>>8+?El%ufv7H_G%iRR?w8y=u(R?&bp@vSea7aUlHP{UfA5>ySc(-_|1f) -zSeWWp1hq$3Zb|r^F@8c&Fp6uJaEg&2-!cr5m75Cg+*RS8;izE4E?V_nuU~~0X8{hErZP&6>`|xu4aK=Du -z;ALhgx-+;?qghtVH;m-vLJGKqGi&W~n15<#iO;$oj5bO`(g*sNE>t?B~D}b&u0hNfd{>^b*?&IB|Yo$?eBs5zsN}9f|4no>DoV@@r@Id#tElc=8^Ka8cY(=|wm* -zM5HR`d*SG2ZrW)g#Ar#mLF5bV)7&9Y>803;{m6L}oSF#7TH~@gt@=Zj@aN-~aNW66 -zxFqnOVO=@g(!{~5xj%zbmr+LiuS9|RzVEVL%3#R^gPV~+r->t@vG@kGdOozD&eKTq -zOIb%s-^P)OSJ8e73<;O`1hX-BOE@;3hwCeaBK#ah0ob -zMPYd_;CyTy)e~Q7NnZn4D-TUL-J#Q|lE80#r=1wQMOi6S1P|J%4gFZKtD+}(wJ!Bd -z{#w25L6&E%sYC9W0$s^a5PUJkK!oeluG)_^gyO2;^6I8m)=PfN6 -zEye%QKiNF-K+YCoI1E>q5vpq=H}o@1BwQF!9ZYNEn$&_>RepAzkfH|@ztxMA?VkF&Cg&YM&tc3qfXtrdQ^ -zmHAd1#q$-`E48PlPQJthI5FhR@FysPAD#SGD-BH^TCOXHCYIumdC6~&>P_Otam6uZZw^}K&7d-wrQEAMc`V6tAsNm8T-7%-#vvUv`cAmqo91QCQ -zX?KECG`F&er~$?ag3ED|00R3y0*r35$5+ZP#bXWNS+sTpet8q}SAM#G%M^TW)n?aT -zNx50DNB2wHS&~0m5lpd3}?=V&@8n+Ynqdp -zh~V8;x@Hp7;|LZ<&`qe-&N>O?%m_YH=CW;Lej9!&C|tnN$)EO6pvasv9_;{6YQv$a -z+_6Hf3?I8Nx+8?=(gsDJgl;|GecJ<12pvPGZRyldrBRLJvj -zsbQ@=Z(A8c5ZU7+7K&a_-IDT#_;#JjIZ(~MtQLN}#Vfiygs)v_h^SirP^hvg^$cyF -z@>6${yZh+Kj+@9;S+GaMT}F$6nK -zdS^wj?=ecx-=Vpua;lCE-R+*j>7M%xksP{Sw;=t>D7IRV8bZP)eI&V7_{3K&%R#}^ -zk%I4Y$5vC9Rdec8GyL??NyH2KujtUPz^39X1Umaq*%7pl)5(kAgAx4<%e$s5--cK* -zpeLD#POYk*n4sG*`sYO8?8-v##i)Y98K#LkSidB#vKlc9A9+bX$qgS7SSzm~QcE?0 -zWk|GZvknq`<14+f#@9l)Qa-?xmb1C!qw)&LJte{t=6sR-fLmjh{DKN2Ln~QG7wTy& -z#WWhDe;vsmC_;9tjfSTSONdR)6%FCbnPoF&MThOOGq34=5oQVVF+_hStE#2%A*O0> -zVMTBm?(%~=;%lcIh^kkJVS4?S7VHC`8A;4r%0b`otakX(am=@C6yD~CkDIQDz$SK}RQMMZ-7xxj+^y9{YfwD_G)DX#H#5r#v -z)@cEmAqCI)swEohOo=dD+l37^v<24jmWi^8Dbslqbwf>L9ahNO^I4vLoZu`<<&Iy0 -zG81u0izKpUMC#qH%tmS6$w$)Jyj!Sb9L8N9yo#uVkv<`5gVal~dn>sHwEb2XLbSXw -z`75NH!)jR9^!m>s#?U^E9cj;R4j_J|0-zbd4Mw?#~^9Y}81YNe=f%e4uf -z&(Cn}Lfsk}vgP=d)t$Tlw^`R24zQ($|Gdb~8@sw1loPnow@|@+9_M -z0V@+g;J|<<=9a;7-A8!XkE_>QG-gFPkpSTOEY-yM*jfb>Hf%Ev?JiFMsFt0?@PSL! -zAsFL@>hrfVW!w-Yd+(?JNQCNe_f+mK?18gCTNKA>A`L_-%*v9VTgCr*=Sz*Jitba< -zshF6T7j||8{Vqchx=*jV=L)rvSuddMNp!c`sLtnOE-zpOtoj{x2Cmd2SrYrbb_NrV -zvnUWKQv^oLYS5W~Frt2q(qWZDb(ha!jZrm%Yjan3YK{D)&)jn$z_b6fKauzT8g+XF -zJG9CbxyyZJjrq%J*wUck$WVe_pXoZ0O>m8Fe~)8&mmi{vO)epEKiH!V^F5o=X6d{z -zNQMnJQ9%q+4LOrb>@nLAFLc$apJX1cWE}318JO`D4OvRlT#LszItg+*u~pT=^mch< -z>*)3NwC~jN_BaV>II%x;;=Ag^z1)=flSIxm!}+Uj97YB;;AS@%ZRSTEh~z>l^F=9hx8X7$C<{fnC#Acm#mW!E -z1ob&pQv+1m``g@>WT;rMAZDUqIfc_f1K*MM4-?!6BHz>R0<0@?lDd~CvnH3p*@KH -zpO3!al7P7{3k_m`ZfJ#(o5PZ>2(K%hevO#*f+Vz@%C}6QA+ZKHaS8PcR8{NAR*M># -zOT@0Ixmj?=u12|;YsA**T&$M7SfjaJt=Qwt@_mnrw_1d^MkRh%qO4jbewJ}^mRw<$ -z{@yHgVsLg$FbfoIWEpL8N~aEDcp}RBZbm?VhW*(LUjl1d?^dP{BVIVohc-i$V^Epg -z7mjv@=Y(VW-7%(=!+zwFqOd|`9#_`%W?aTc)G*@&ULNnGx#6RTRAKSnzM?Bnpl`v;whSLy;dzgf9=d0KC$aJ6rR6N7RY9#h=UX`q#lTDw -z(9KJ!SV(_oH6(bP@@ygVH;I!boHa8XZkd-+hsap7BG8rNW&BsP%7=OUSLLUO*UAZ0 -z$I01UY2#ffcSi;^JPAzxYmz5;h4mGsrD1`kq4!|F%**~2o0K^+D5f{ezP=_?Nz|s_ -zC0E*0@*-+1uPE$5%S4_3-;4g=)I80<6n%;9APsMc+9(Y>^uMd>gI&%IKQb;+LEBbF -z@3r&dKH6t|ID0KcU#-xz4Cx%B#Q$pvSN$J15XDuPBD6+-UzFi>xPVq(&MguMAxeE7 -z&UY=G8(I@QF;@JtMkXlAlDi9c%*$f?su- -zRYz&FDo`}=G~7JonB{9f)7LeMc$BJicCHii7ZUt$6|cIwrO+6d2Dl|l8CafnOXa>( -zM}4st;<{MJygk78-ATy1nvA!Wjdzg7yOyqOfO~R=UttDzZ-)2sO6H^B%pbd!G|^^K -zl+|ias^!RMncmG(=+81do24<{%1+$M^ty -zPtr$JRE4fkg~}P16@tSCPxRSMm@o$VLChPXTz{Xn7&AjFYc^}{kbBB)_lyU7Ougph -z|6}|3AG^o@`J?~W-VOc7oAnmbVFgt|>>SNs}RL-ZUXT -znK~F{5zHv0ZtO~`JOdh_rxOwdk5n2zGPfTw$(PcZ7aw4u10VFW2?Sv -z?pRKD^lA5;ulXnq64|9TWU3N`BhDWPG;(mOO{AgTS*`K!ZH7}%kw{rh# -z6?(pUig}fld5!i(I0qq||05!~5RuM!3}wtAQtirzw2!d|T}g)FY$f45XTv!?x-vd> -zC5JBItGd$pkJI0Fr9LI`9qzJ3MhLO&vc|=x5n@x~^@h~+EXll9Bu<9pdWQLW(ktW+ -zV>p1N`9Jhj2_(u7&SVhho{VfiMOBUJoj&%eI@vq@3@@E2G@Kb8&i>oFCH&7n^e3>L -z2-ESk(HZ)xJ@S!Dv`~HIs~aOsrQ62vG(St9M0KN$?-`9Lx_jO)EGfsipY*a -zWY-9ZbLTl_rmQ-%| -z#wJRZ_>8e8a>sb=ohE7}H%stq3d|JdEd=J%wYF;vdW|U5&BW9*SbELa)zg*AYP8Q) -zOPm{Ixjf7Kd6rCoEoo{i#VFeJ+P9LJaT+1W2viPz15zi@M>0@^xAh|qV -z6z``}>?2c5ycC~G`R|O9|Hvfymuf+~j`W2ga@0of9_52y5xIup&_7Bg@BiV!S;k_d -zMhLEYgHaqSR9>szJp-3|`p+-?&b=!1kLg_tFDItJq|w)$=)Vqd-rf^j+BGof%al%S -zC((Xb!RGGKjn$F=FZ&*JvG%|9J*FAj{|cC}T*2rw!A$>xmj2D)_#eTNGPNjWstTnk -zTb3^z%SJnB^`ApZ&_AJ)i~Qhg67_pgvhg+GQoKS6yjrsiHG*j(*%Jo> -zL;KGhWBfx0V|I+_W02hcK1}*=6-pA=j39$nL=}mu_g7@w!rz_#bU|-FG(%}=s{1fK#8$`JYOMWgN5iSwI>^4f< -zHZaTi;G@}!8{w&MZg+5dB!qRM -z?jJY>g^g8hwQO&G+7XMiZU5OD;{5Ehl+G{L`@N|bAB;m4(aiNdxG7`*pbFCwMV-t- -z+pU%#zpzuz>n=Kky!S7)D|hZ3*tFl8+U{C@t!=&TAIVeUIx4gs?^M*7{c}6^<+Tuj -zZ*B9l+J*a1bndq8zdC|-w@q!wCPYt3{@QNA-tC@>TQAnRd-C{2chb_iAR0l*H(NUv -zKRVusJbu|t26b0VDU5!;$}Ifr6Tf_8k= -zN*h3_0wMy2sso5h6X~HT2mwPg5PEWLbcI2>5TYPOX+lEiWJGF!AOb-M5Gf&&7=l0u -z1d_ab-~YY0-dpRgyY5{%xu@*Cf4iKr-C!!H{Hz0!E`H=*x-QiV?rn8^B34%z?tj1h -zH%jc)9=-Vb@ut3)G6647$G*@rE#+{a@}f^DxsUZmFe=ZRk@rmY`@Wg#p=)f!)` -zxa{#udDmb7)Ohd{>C7t;x{R${X#`*#`%%xOly|;Wd&3P{6IY;fOB{aL!c-fUHvm$k -zy;6b`rKt2L6Avk^m1iNY8!@OkOIiDkODHH?V(Eq)2 -z$i%LkiOtc=A1JHUQAqaiQzVS0Z(}Ucth9}ek`-gg6d3zXXs!|GGP!LVIMqKO^W*-A -z1|c52c{`XfH#BUI_6{i7VPB3=`q%gx?Zn34D5V}`S$yH6j0&YoXa46K(pIJSPXi -zy|9S+@%W-&AZ>cH1oUQJ6?&XJoNWwC(IfhL&`f>pwsn?VDl*TIO)C)Ejof%KMwGzm -zf7ovIr#Z3?(`JRAaG%TMPflkV)?>8*sS1=9=Op~qdq*dlQ)4GF$d|nNK*g)%0wKbJ$n={T -zmZH{Mw3`2`=DJBx*H$AS+BSy$*e?xF4-&aDdgIeCxtc;Q5)%6$LC8*=FLs9UcTJrk -zVH-D52w+e=^7!FKX7#)I{D%VBIldF>StKIY+%n_vWq9ecV4efWZpy)@!M$S0*=}Ml -z&h;n5q_aNCP-WGS#V}L{-faGf%6>ndvab;9^KXbp?zn~BT0mo4h8dcc$VpC>QGn%`M&$y2 -z+!j}% -zXRBDy0<$8xGuzZ^PB|__i)a~v(E20Ng;}+cM>nQ#kRBrGA>mp%G>&g4znWnQpfHSFNV36#m+^mch;vuU39q8m45+j;vf@gB;99^!ob -z@6j)xKqX|#KYP-L&;S|Yy!PEfm0|oQwLOj{5pHFFZSaa -zV2cvn!kJs3-Y%X=PW>fQ7va2dn70dNLUY_)tx_Z2!AjRY2afRrb@*j$$Y7MA2RVa8 -zn5do8*hE1^n(}wEV;n|JAR&(flLxoWr!< -zH|*;4)C0~v@>Pj#+ljw^K!o6#4zIgFuaRJ0Ijq0OK8CARP~S`EKCFpj$ean5u8#Fh -z=sLxicU|;0^BMkpRgcETiS}I8mH>G}d{C1{lFnUD6Sq!qxVaCBKah12d%Wut?$s=# -z4+*Frz-Szt$>8s+5&#M2`BcAIby7CklJ~&N%mM=SAxEN~7+TRAoIzktY|*zVyRj8J -zhc2s}YMJV0XOQW)D5SI9mwwo_30IKAl-b`i#^?KJ|E^&^M7T|W6lXw+gz=sNnbXiW -zgj;bw>M9Jrj5uwrrG-{e&G=^ubYX2yy%JcBaw49X2Ak+Y@Bf1 -zvPP&%b~YTHo@%J>!BLW$B>qP3x-Fr@%vbjn{-{@fTS_P5>&u_U|B;A$%TF_KO-}w( -zzvCD;sh1A~L-PrzEfCtB6tP~U*{MBE*B;~Qgp2e9MS8;Bo>}{$bi>mBQc<*Ul4-Bf)7^7<5r5S`l*%0carBPGl_80fgc)>8?g}FZpG2k58 -z^={9zIwdyauDglVHDlDh23|4H)g7<z21bX)vn^hH8?u~nLDxVOC4t*>6%h^umo(IEe-X^p(;>h&Whk7)qh_S1C -zo%Za24e^9K!mfFv{PzG4xK>SZ4LaRPD`B)gBBN{V2>I;2cvH2XW*`?x@)I1xfqGdn -zUZ^W;^}b-2lmLRqE842er7v45Hz!Mcm6Xfko0I>{++B5m%_yks0G5xG#R? -zLG9+E#Jwzl2KJ$J@pmmYl;JZ;?NGx(w52Etl&S&m0)s+j<0_qUyo5fG<-hLXeONMbk_R9d~s?|Rt5HaKs>zw -zl6v-`-SNgIkhLdXrZijl2&uR}~7>_u!X7o}BB{ -zf$J3sUXL|h&s#CNVkPv1y(Vp@5=emC`{IiPKas-Vm-eT}>`u?wX`+@yrb&=oaW)bv -zq37q;UIp52TRuP6#Ssie{jS_kkD^QIMSQbjJLWe_hJ5I-@sUFHAlp+6z0zLm*-~@k -zG?};TCYPo?mQ58!Ry|{Ql6sp8ZWCu!VJQR8ERUa#Eg1L=cR@(|OhkEAApqMGd#_dL -zR;k9eTOoN@=iRx*A4V-2mY=l|6&)a1XR<9VM-1`*yjb8ER!5Pt$KhtttH`7u#h`(x -zOe34FD+5t;Qxjw7>;uAcO0yp9xjurK2L;cZC?Ix!G*l6%r2H}GF -zEPp79>s3vtgiu?V_#=}*q7m|Zi=A<%PoJ<_NdAAA6-L!8}YP*N_xVrd>?T{yVeG}6j^dLFTsKD3FP2UP}OO4=pAZsXT57FQ9}szVV1n+ -z?G@f*b|OY-=`o_x=o@{8l*y@l!ma{tv#QZB^I@%49bJqh*rwlG!4ocsFrp71Upcqy -z_S4nhz{|?NIt+caKv)ny@}c-*qcgrE(9xd}qjB|H$+3STqvV4dlh-0F8$vFKkO5A@ -zKatyC5!L@}lgKWPdy`}rDWPq2cdA~C>tg;QmB4SaJ2qF5yJT1t9OB`K^|60(-`rvT -zI%k?dl5qju;b79MD3&kmwc$v1+^OYzMb`BF?TAaPPlwV%lCKtkKog&ag=P?>;K%21 -z*uSQIml~Ki8<&8?=jjicrGwzL;Z&P#t|Oc$^RC@v=t!Y{F0<+CFqcg4q$U4cISj9nLh257VJ>Xf#yflu;F1!1zoCYJti -zdj~dCHiV6UyNnu-z=_hq?NZe>YrVCR$ns2Uf5uz}f$q8WbviZ$iHx|yqB-N{PlB$# -z=78-oD$o~XM&g0*(UFu6c$Bm+Sy;ntYntb4&+9DC0V~}ks^#8kCxlmJs%qF;pofa6 -zV9qC)Od5L;;xUJoH1rr%QTJfooiTjPZVe}E;q;Btq72jjKNlma#uJ*t+`Q=uJ7A(b -zCp!Z9&pTsj(=g=D076V0L)*!C6MAj -z7M6~++rKY<9%G`@jnSZfeKu -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 -z>@R0;$=XSCwKWC+wvs29HKRVpy -zT}!^{+fSu_1tl6T!2!GRr3zTZ{B~B0R!K@!Ny_Hljfq$dn1j@>PIoCXB)c2_wRb{I -znJys?znuol)n4UyC=sk%3urp7Qe>m~Zao*Q;0dt_?t(|VSV0&pJwh5+K6Sq#eW&xd -zGukxaeOK6xF6*`Wh$p7_NlV~iTLGgqE4|QF-DAp6Noo_=J2V2{bwYXd|G@txMC36_ -zvJ`@$4wKJ%X0fKRO}1~Q^bq`lp%sLt$h}X#NrRttx}P35ArM*?g%LaLi#EY_8u{z-db?)H{EN_C^QCL8~Wc=&+aK -zi)!XMU~&ZmguC@KI{O<-xq)KqE2H095Z|vn)4oQ#Z=rMn<(<{+c5AlL-+zF3LwwiIQ9 -zjUDdY_rMSuxQKyUI+V`DCQj@QU=Lx>w|5cg(Wdw>AT;+_WRx5uVCoJe8s^7v8+aMHt+eOXuh_^% -zuI3vi-<`J*R@Pf#Xmxk3I^t++A#rG+HquUlS~RE$w>wP@QiQzna1&0rMObQ`5H2u} -zz(DIT8m&!4db17Lt>3N{J=y$wg{(b+3|@Lurv^<>1;XkvarsbxABQ?*ejfpu6Fmlc -zEED*$vPxbZc6FL^&fG!He61!zMmRC~S1Hl3p?;*)*m?PxVr6=lyQk!HM-&Ag4eqrBCXNa?=`_mxwKSPa-jxRe;8BSJkaIq0l*9x -z=gx}&Zd0f#al5tqC@A;K_&M6)Y`=ld$P5(@ZbiK{Qx8`vCgf{&^evazbJXiDf>yab -z@RCie8PxPrJ=bHZo{Nx%hB`w2)mvHqoy6AI&~WI#-=XG8NyjvDnVuT$83yd3e?^3U -zIX>34+scjRkW)ioi5 -zb^wnQyHgMEP}W9p5E7xv91ah%POR-&Mq)a_4Dw|Z<^w36xZ?tK}5W#U5_|JdAX*VBr&f=&w;yh>0ALl_((nl7Iu!Bu9&Bth8h7CEJn -zM~Uf%bOUF;k>n%ZjZ{OOMYlzZ*7mECY}wzSAC_QNQ?f7_*1U{afPtyXp852E9skE$(k|)&?q$IPuB4@$zn5bv`ma(mhQ+*a -z0DjO+H{=+AXNqBdk4`}P#;ouwL+A%}dTftymm)gw+)vi}R@P)#ll!!7PP@H+{|^O1 -zr^RvBd7+oJrUV-rT=Y!YxaJ^t#l42vh{#g1%#Z}RV8yjzPpiuK%KnX$0V!^fr#+q5 -zaAz;pDUAhO-i?Qb+URp~u8aw6#_S|P#5Qk>SfFm$cfo@`xC-n^OcYp|;F?xEKDi8c9FCp6NPm~6W2{O*_3qo}FI@y? -zTF;Xj9*m)_OOd!)DR`0_$HGCyXW3QJ$RgEGYL6h*?|gUSk@#-i8Cq}y=|bvHEqZ(! -z_n1Z91=v}kvp=2$hThBp`OrBPNgj+_IqqiC|5||==34{th#yeoK?xakxf;MvWjIP4frbIfV@PQ1ttZbyA3nXIxNnn7He*JWo=q$r3j-B -zg1-u#z3)CS$eOcs!JGS=pBvIj-H_SPf{sY+=KioB3|g75XZ>j6DF -zI8?g}8Zi!oq%F0bubU2bC{ZJ@(qQcPbAq|O9upn=2?qfn$#|`Kf=UP8a46?g8>gUYiB{D$+;yN>TpfBbde8Amxn~ZYu4_m>oS*SLC?RD_fjL>CC+tjCD}4 -zpY6w}3TE1(EGQe6JXc@*@v+4ct&HXe*qz`D^gmPL-46n-wP!Yu>Hx-Nwmh(+!HH?t -z2WD9ZN=M*Rj>{(+D8XY8`A3?`Rz)C5HM-9!wqH-zV(EzP{AC9-hvoAdM;NnNnI1Ij -zpBj$X!V9>OlOWgSge;%bpO?&MwF3$^f9RXfmRZV*Wp!F?OHNw_lkYwdoLxjb6%qu) -zrO=cdM9SyRhFW9v>nx+uiF6yfTNnZeih -zSMFz2p*1oLd~&JSRj2rk&XZ$dKT%+Ch -zfo3xANpGInch_Y-U{X+S=?G -znARP^_|$#FUGpqD2pfi^HhDd8%{uVMFxUM?PGzd!uM<>n%y7Ie%iUM=6ny`|o+3vA -zQvw8D{^lMq-dPBhQ -z%VPIMlM+?nLSw{>n5dU0p;-fRIu)bdrL!Kv4B?U`hkl>sYh!l*R>>>Ud(t5VmmF07 -z!Hv7mQY?jOItz6l>8yMc_Z_CCz)O*hfo9GVW~%fDDGA=o7qd_YdSwn@VlJoXZ(95> -z^)bDO>;EfC+b5=>xT{ja_#H4SB+2v&#!Wbzc@ku^d^oEtpoq4A2G$1e3Mc}hZ*~RM -zYWk8T#%Ku4$gH(EC<50i2uS6&mfD%_7BnRd>%cu}1&_3Jt+w2Uvps(uUDD~7NuQFz -zgkCujf;*4K^}S5!1IzbxbzAaOv-~VFiu}0v;EXdGW25J@vMud^(@Yr&DxE{&$M6#|h#ky?f;7JXr+LjzVKq~%0(iXOGD!8hc^ -z=_$XO0_$ZPfDvPf%2O1`J4VaBab)-XzQ4wb$#&ZIk12fHT@c&ckohyMW;*u-p{riu -z{9YF;Ufn(IqMzo&Q+H1$RynEXzVlJ1a*S!a^RZ$;0ujWSjTki%-dOR?L8ZClVA1HW -z-E6G>&$z&$6m@{w$z14q1b2LdUHKfy0Bcf7rzCJPY -z;et4L=LN1N9lSe*H8#MmhiDE1H73!Xlil%H)2OC$Qdra0X>b9)da2$TSzD|KE}+y8 -z^NtzmIgBP_jaR`fX_9rdiPE;Vp7Nn}<;~;W`v}Zz#EbW-4ORJhkjIj8Zxj2W3sB8d -z07K8x8eNv#YGI8pZ5n+2K9%25*bU_|tIOplyDOXYTdQ(oojoWFFjrGE!OADP_Binh -zGsZx(fhF-~{WRcVGfre+!<|H@zH}R4HyA;ywiOp<-ZkZQd6DskL9263;qscrWw~Y+ -z*79YEMypc|l^2M~5S#He`5;Eubx|N}tb2bXLGXH#7?c|SCAl()?Ee}E1T8?pJ0xsR -zY`cz^G`Uh`rek2s!sm8jT~n)M#>4ykqE_UtUIi5YtI2qz=@O8y%`xo5q()>$jf;nT -zwbpCdsV76MQu?Z -z_GjqL=rr#Q_jDkz`{r0`#u!~UwL5GF;bHBg>u4ki-CUa>%+?Eu_I0-%Xyv{2D>YRK -zP_FyE9I@DKNHg_-o&S`wS>k$UXX6zuG_Z3qC%`+ctXSve>*F -zCEU|S_VmyK(zTmMM{ft$Z_YH<1^TU=Ms&tKq}k1M&ipnlL}V;v&JDnR9{V}J@yNpNg&mU-Eu9ckoYWLCM31f+vvcM$a1%?M2tK0miz -z6T77Yj(O$6KPr5er3v&GI3AoGvM+ACs4b|J@1csw!)pgpWlB)ryg?Z8{uW(~IGLK} -zqHOjIMHZP+>AR22zuy8Fm+zPHqJ)LCfmbW%XK?=&Tf_xvb}A;S?1fk_1R>4P*;N1s -zl@77t{XaZ -zni1SUJfvy8Bz9&Kxp|5K6qV&h1b8p*z_YqNcsdWgeT~j-ik{iq*Li^SC6^D|FW*Af -zdzqo@dAP6L`*LacOoOS7=&yvIbyWE`iB^I4`EpriVHr5qCg&DRC}k@-yI`YH`(kwc -z7lLQmoE5pI+72->XX7I%? -zCAvZNb0TA3H??niil{dJ{i_B{_=7pE%X3#|mfVcIUV2PcOF9V`f!(?Qj(O>_5};`kCQ>WQh4O0AQFG?iWMrr5D3sO- -z_W0FKZuJAo^jWc;M6i5&DYdnN+WIyzO#9~6S-<)?56#w3bC(|&T(x@5@S%Ej9+(3MTbQcdg5wIx$*;~Bj^4=`6YL>AQx7N&l#D}=6= -zH?5n4OCmKp|Bs&0BxOX;bf6?vN^0p{R~u|agp{~w_rf|Gdl_<(G!GeD@hYQEmnQB? -zpX9f4>}vOU;GHU$mA^C-0B;QeeX*y3pQK;kU_mx$3g=${%agu3V#9kc%U^j#$-wqtz+>Bn{-0q}3`vaOyzQdhdl)uFp7OA?#xC<{kz&`-inSdlq;v%h;WppN0E;cqwh& -z^vEx$G|b8ULsM&B@)mI79|1fr+Iu#$>T-20sz>iLoBu1I -z&bZZ52gf#szvQ*wi(Nd|eWZ4OWJsJ>j8A+OAL6MIkr6fD4vAfC9==~&{6D6OK1E{gPojv*Re#G=YgYFYJ~&xMe%7C*l?G -z61x=zZW&6mkc|skHOFrB2d?fTelruC*Bq766cdbW&C+aK&UZ^=jis?sXDBs~e>LH~ -z0zDFzlGOyxK>M8?4>MrukG^OmFX#n#p5mQDdyVhJuE!n`d=FF7OnBC9#wFhrHPR4Y -z=#bzK%9mlczJhlYG>h#P7<^n=9Kin>CUslT8wMPqtoNTiBA_?ZZZlinzl87C9>S08 -z?wvvG>-)U-qPP{dXf?-{lhCfpLg@*SspGth5(_MkI%YKl+^7}<#`QR_YlYnhjdr5T -zCpRA^_Y_2xnJ*SI+w@r>wIzM(OgYYnp2m&(+c`e}3}u)8-*yG?Hj%MPjkdvhWINC7 -zI`{XqHJ5E&;K!6x&o-)$x%go(s{}2G&+H10Y9gNCyfv_w4WO&!ru{uOySxqYGt+OT -zLj}8j_6SE!jq?3Fz&o+R^4sEk#?FcSoshL5W>J98)j7NX%`rW5pRe3^=lL#K>a(zn -z*HNnie6-FV3xLNJ*3IXr$%8K(4(GpF4}7k1H|A*f{>yZ!6W(tUp*42TGas(*A4_ZC -zcjQ21x@*;p$(!}Jo~Pg0aei*?7?X~_c!XuqB2?}8X#5`w -zaXDRoEv!f&$zc&8-pH_-QL}3r$rQvk<5JSs{9U$Z_JEny&?sxSi^}oPL{U1~L(?{^ -zA}8m8I%+D;_W7>K^zPx!_69z8ZER-w$7_oc@i448QpsU}l0J-%~Z>RjpL@?LHL7p+=`W_qH2mL*yVVFNEe)-lbGs@yujkMb#U -z^FgwP#V9e#C%uL6S(CVnxPq76L0}E`k=415_M%}^D|6-xpAXBE#?dy|(|9yBc^7pN -zZ@a@f!zKTEPQuaD_Rn>@s_wT@>{UC4pparj8Z#|Js -z!LNV5fZfW03&D3gzYNSz1Ir=h6`}$3zXRfv8=jL4(EG;?{VZK@31g=5T+k}L@D?!p -z%vktaG -zk_OPtNiOJvVA-9s3V@lInbfi{!H-s8mJdL{d}FDAclR%T(Z`S4+hZ33YWGoK-tMkE -zJ^{(^r-%rj%*@P2F;iyxV;y_@e%ZL$O~$FAwl=MX%-Jt_a4XSGj0SRdKU#qYD`ux6 -zGzD?BtXlhFvQ?3RKcY1B^pr{;T^-Dy0T-Yl1=MC;pnP;&DE9T+&F^uZd?R;$%;o1_ -zIeWAN;6hg{^Qu)*z995oCLq~kd4mz|F%%X&K?Do~`x9TL?k9*{Xa+)UCeW;+ -z0i;k5sdfL_qDk`&k57t(SCvOt2I>GoF{67l$c{l8Na}M -zfwRxQM$=^N?fuOQ@cGgF7uB6AkHPw*#^`-hBCt%TEEZW_%YxSuoAn9Ne-C{(2o8C^ -z8*S_LoEHYm`%AfN&>c`N*fEVQytf!u`C*GDzMyA+zMD^(&=9vtkj5OXYsOj>)HiQ! -zF);5RkBKhq7oFOy2!3UlKiT!9ur$%}S!x)pV$p!@^nCZ~-kEMb=aS=C=*Y>g6z;pl -zw%gIqHGEr7V_6|C6J6!*x2)@5_?4c+G`0B$!qZDbWr!2q&R8IPQdsvdr*XpjC+nhz -ztqgAQU(a+jVZ-zO$AK5R;Bc(}^Fa=+j-`DShxr^?BCt{ -z0+xAG|DzFmfClv$Ia$|vi~irjjiTkSR#*#LdG|(Wyyp@7I4*XL!gw=@DRUXk -z_|(%30T~B5D*j|u$~N(^N^6!;Rs{mN#Y@k5I&ZUaHAL`^S}oe_w9S4eUT8sjVU0%v -znX}GA<6fd>)rs+e3$*_U2h942ihb!8T4X0QjR7Z7vGMNDP3t!`jlrV$l<;FqEe>CG -zUvO_^?7`p-)+RG5FOrf@`^x(LVh$n?kneSc -zvV#C=>A`tglU2c$WZW@ZKrxFG3lvqxuS1Ysjq|E3z-z^Q47SOQquzs9oL<->>;s+L*woxrUm@U -zgH`rl0KRZ58lfA@TLo4hw=}+SYe+exKm*Q2yqK7&fd;?tulN%kbglpPJMC);2Pc)> -z@@Sxqix-sL|k;x@v9{PJq)B8ECJ6(EI_o+Zsz!|eKfm9H{ -zMfV9_sI5Oa|Lb~-s;X8Zxe68PXoN&}R~*VLKiB88B{-oe2>T!=s2z&8DMV)8B44mg -zcu9{io4$1ZxVBR0?UR)HUae^SdyQY)Sd`oq`74}F%151{LmumV^HrDEErkT=&Cp}1 -z#YAODN@(7h8f_T=M!>`MYuAhqr;o(}I304qezZE-p-Y93uI=nAb~XT!+MG;&Uu+kk -zg6UK;J=XqT-Mag?1KZC#zi)mtlQ}H%=~MV&nL}3H4#Hgm-WLKp_X>H#x3PG;ciao* -zAE&iAp9cfcgMs<~@3p!Txp^q0xp2TtoM9%u8}M~|cH-J%F;KRf1OgJd0_B|}vqyar -z>px8`NPd`VlfaehCKF;m8wc7A-jgkJEtm`1c5s0ox-qRk-%K#D)#%HMV!gy@qIwIH -z8YVA3=*aox9k~ZdEz8aLrMQ?q5E5Xb4H`~*iq9sG99wbo_oub0wvSx#{aN&(#OMU& -z$xhMA{pQH$nyZC5UE{!ubDf`q^}-}Z@Z=t3An8)TbNBw1>$}^(xRZXI0zvhtoW8($ -zr9}ZO2(}r$5f>HO<~O0t8BY*Pn*JOBZ2U%#|1ake_sv%9(uzG**)EmT}yH23dK -zUQqh@N6lf4Pw$*`M7*DveC@fJbhWbWTSvvW_TaAzMF+!rrgE{APt0(U1o5te(cNC_AuZBtPvRF$ -z3yyIeu^#(Pdix3DzS%c<_L;{!*RCEuo@D<0&Q;*(@nog%H?JPaNb>tG8h$Zv -zPjiu?#7|O@+xUY2-@ZxgN{aM!-SP!?4(y*a&G-3GJcfVby3kxD7)=oz3Hy)o-F8{S`^+BX{w@2Y@_+eii;(Z`@65a; -z_C$XkYX1zmFZNA*`|0Q>+WoL^BHM|)d%)G-jz52vb{mnQ$d^lyU-?h$`=e#NkSoL_ -zvsVw^S8zKc`NZn>>&57NDoP`{75!n%|+_;7g*UB;nXz -zMY3;n{Qo)^epTjoA>4#tkvZV=*l*$LRk^OiD*vU1pGx@4E=l{dTDW@gp-MjlE9Znj -zuv#3g9mYgkPT`%lGR{AW>H;R2c>1IZH3* -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 -zvu{Lzy>j32%TlRC))vRG2d -z5V^W8a)4Y+wk{tIP177|*KIZG7%g*VkJUkaV{+3 -zVd}MLOOu`2G5So8d0=O~a77Sn;{$@a+HSP*^F2qs;WsM+F4MvRiTa@nSzF+z#%uQF -z)$d_q3jp2O4*X^_SC7^oxD<}6g!|3Q+ -zOKeK!I%sWxLJ8UYP6P)5`omuF(K;yCm1RAj0own|B3z}DQYL4vun$LWh4D!Yr3++< -zHQ4f9U4PoySeE9DWf{Dy?OEEB_P>qh2dEz$d=noAxrloy?U#0WY=SoXbU)864< -ztM}gYaquM1rVd|;X1I&?>e4WKM!gyt7wrke)%qegq7mEnP-`w|(&E_|i^OzjN^dFj -zh;07^W<8B5$s9OT9P5YTVfE4n`T0tTd_79=i8rphr!h`{bmSM>|3f`l1iRa2BCvq+ -zGupcuXU1XZg_S>7QE0P7#!E*390jnVMU6X~iqy|2qUcpi_~ -zJ4rn{4M{oNeCtz6*l8&s7&pltice;qq?L98D|IkBvd2w#gr!oCFp~yU5e5& -z3e`M$MUAY -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 -zz22!;)$0C~5T!=by8?$x>33 -zNYc)U%4uRzSl?eFdw&`s1z8NZefiUzVmg4gdA7yO@Z-JrO`aQ3pWF;J<$*g1mcnYa -zkN@V$(4Moks(5_bS~tFM@)3*md3x#lIE)3C=2~2X$Yq-uF)ztG&G-1+g^MwF>);@s -zD7K?N^q{DD34SBIHxWmc7`;D|!U=#8m5*_~+Hg&)6f*H8@J*_4;9Yl>Mst8($w?(k -z#$wspj4x@{x?zr;dUkEheH^~$eeaKq$g7&K4j*d@M&HSGrQ|U(gQ{Opa}D#(Ud5|# -zCC2F}I~}RtE;Dk(SYkn&y8&g#X-U_eo@_;XgOMyG9{lvCgl3q_TPv`IG;d6PFu^aKQ++4$v>#(p{{I{9PxV?t1 -zQA%JyFPG}i3a9o$+nxXFe_V}|(c@#o_^Nfn&JD}a&Oo}Aqp3}B6d4G$$h<`fX%WO- -zQhyCwJUOqPn>S)MgX*{mjAS{SvASfGAMGWU|0!o)-_)cWwML^1A@UG#al&`zeieF{ -z@!WP5b{cd#a5i$z9DTk)Bj9Jnkm9*L#>bS1oHu+}FaCIZgiILlU@S^W(_C3oCQPh| -zxeyQ0o__9qxv}qoYXwH}!dl|jBY$0fy>Uy|X!oT_%$<#}?%LOihWsT%ftDb@xyfXd -zR@P3(`y&Fz?rBW)YB_)MK8ts|NnSD6X8%cC4*UsdTW`>kAW5Q9)vn<-zwwkFcUifn -zt&|)m1zy0&7@7e3Bt&n>Z_^RqI|2)Kt=(B4gAQ7z*bj}REN9&-_QLm=mSMDv!Q5;R -z#r~t$y)b^|POi#h++VTi(zG+>^QV3n=okB=R}C$HpXC6|!{A?8Wlf_(N3006NCW~m -z2=QH|kTM>GmF=bM+0z*!H&YOeC+HDqTkCs7THS&v;6`n^QBK_3ZwP}378|RU;{N>w -zb{V5`P+EhvD;1FG8McUek@7ovrPlV=2AtJp+p?(9?BWmV5Ikv9Km)vqP -zH~T4M+X+9Z86Q4Ot~SM`cgo*OA*Wnz3(k{q#GM9cB$$#zJ!Tg#>Qc`7Vf(Wb!@fn6 -z!U}-KS|IK7h8rzzw;~RP8XlZIYW;Dw40b)20TGuIj#(SwapuhjK^TgUHNFn{WZy&O -z*>2o7-E19ldn0`<&N;tg1^#0+W87EeIqG&|J45Tw0oQfr`mc+|LHcy=Olz|_C5glN -ziL|*IlXTa%d^hi|!4do1RYJL>1wEmWS`PFVxkc7~_P7Kt2Q5HsVCNFcBqH5V@~Z{D -z%T0Hd>FTuBbZTwIk%@Axx492T5q5C2I+YQBgvuKcP5fTr#N#KdF_(Ju{|l%pMEBHh -zfBHY_uT<|24m_g%wVX=QgQ?`4cl~MY9S8>okjELP_&J|G>Q^F#Gw%kDMuN=eHti?2iv -zxda_g(q>FzsX?O4E{RG_qA|l&WJyLJK4BUk#zps0_;-3!Z -zH_JG>e1^>oMcn7Ld -z=Lq&BBY1W1bUtQYug?vRf+79PJdt4!0j;x>zoK1DsnV#Vk4NxWnlABTG{5)fOmu0> -zHv964RiYZd@6B=Mm&cFv!O{4r2d6iS_`e-|zs@LcN8*2c*3}P81^2buAw6IAntccK -z!QpuA2d7sGi%a)KT%1X~;!q%%_--r^TPg6iS{x7Eh@qtr1ZZvjG^sU-ToIyb<_IOx -zBy?!xCP&vq&CwM#p4-^>l`mhqPca3C;}B#n^?%728QjH2dwLYb8*G0T*6p{*kk}4% -zl1|w9cPUztL25&MftK1zig6^m?(3pX(2L+% -z5Uc6R-wn>SZ=&y69BHOO+F+wB)(E&4Ktb_M`g! -zIBBCqg5numlB{>6g0=M12vCsVT`{4nAF`iJ%Ng3NSr@yT743z#;cD}6xqc(2GCIJW -zz?cDQ-y*oi&X(t|;!hAIWVsKC6=_5alkj6I>v??^SdArJg2TJz|P -zHHjYvj+rUs^eje$&fZ?m9=-o_G~e|2giC-1cjC7=+g{!E+k{aqib6+Sbz$F2W{8j= -zj#EPZO&Zz?bgx61&0U1uq$Z%H&6SFbBuD9NH`t)RLj1F8*YGxPF -zqEEX-R4_A&qoxz~T1dGXaYd7fu}M#zLlm&1K5G<^uH~jv8{Ym6t4*Ir>Ieo};eny) -zJXt0aq4(T6O!8T)OVn_A+SJ5_FB(+p5yLyMlAqYDPA1- -ze@LP#%R+PxE>VKWs`FB|A}h+1dlh{PLovCgbDX3*x{c@ze26qX!|R*b2NZ#@fkm#* -z&ayBZ!^pHTnsNtU&LuLPy*>voZeORq!z(&|yb?MVEG|I&y8G(M`U$IjB>3eq60>PY -z6g$Z`rKkBM=}8C76Jf|5pn?ZM$?jaoU~?5R7tZ621kXIo{?v1f;X0f1$KY*C%4_Hm -z0>*zdZh%CH(`j!dRoyXaog-qHbA_X;P0m)@`BT?U%Nr6d_|!hPO{d>`Rwq%fweXX@ -ziqyfiPT6PD$mp(6Aq)4{$vxHmY&@g_V>2-qgZToG|ZOqyD#keHyS-1Cf)6< -z!VihaB=C*!I})H#WBZ|YT#%hYiptZe2?tSUF(pX>ysf>4F3v}kztNIGcQlDYYV&O$ -zB4B)Eft~&5Kn>h%b;Sn$8F*z&N{H2iJzRELbf;=u&yv2szyNtq%~?2|;Qvz!tJ7d^ -zd6bbf$oyQ@@>;!rds1{RJ%yD}V#WN&68L|Z;|5V>mEc-KJ-u;Qt6y7clE+NnNbhr~oezKf -zrEd3+-LpO2Xu9UEC-bN>B~jGp&=?8>*k@&wGO&9-PGxYG2~}MRGQO^EuEj>vAgRq4 -zt#*s3Z@JU#`rQ{mT^lQJp?9$oWSlabc{!NH>zxvozdDvu_B~<#4qJ6(ki6y2q@{Md -zN;)KaX6;$JRqV(u{=$9e>(hlFcE;7AWSq%$efXR?E_2YoVP9^M7_c3uw2~VKg!B -z@Ae-$MvvqL#wi4lFGUVvg6uULB_sUv@;$zy1bYU(?xd3Pq6bJWJ$J&^IqqcFI>A@@IvB|C*cqg*Q8;qt5CL$C?gQU^@Pf -zW*8)?$n_uCFlZqQ3;uR+pPwCKMwcc#380Op!!g013410~iBVB6*O)yS!}SP<8QYFQmI&R(REIRg -zX?yW3W)*Ip=z4lWG*+tzj398^8Ul)FWs|HG -zsWmcuu5@SjVVBj0RKT_n5&d#Yx7op`Yw8;G2YJy4ny#7xug-l+y+yu7cGeyu!~~~y -z7hdYA|M+AC=v7}i8@=63N72X~#U1d+?$<29aqhooTNX^w(A4h74FGNVY}uj+2Ayx) -zdHi{l=;39-N6cPcHb0WI9+Fs>{JKY|;W%t!V+R-QTi8o@SwHeo9{REtcDo~*PIEPTi+y#N2~C(;35QOH{p(2V6yM{eo=K2);~jT-JQ>^weL+_z95VDkpVO#u%LuVkug}O?JpZWtlxoB2 -zG|)lc)b}ENS8bIIX=q2=8;ao%rv0zJ?eDltZaH-Pm}XP)Vivj-q>8($beXJpnB-3k -zvQq(zf+hPR!}}z3sKCqH$;CLvx%~A}?tbpY<9YtqghEpw?C$dccjO2rAcx^1iJZlM -zgYAY{5njtpg`CgIhR)D`dbav^={psICd%YJww-kXjJb@t9Hfr9{EFr@%E3Wb5&bCN -zwK*~kBdTOQK4_8FvaK58Zh4`#Om`|FO3V04-)GzBUEA`d>(3tkk-<1eSC1WMZ -zzw(n=c+@+<9NuDMJ6RNm{33+{@B}B*mq{jZV2gKm@rB!ofw+IXCL5O&RXptENiD -z=ULk$=7Ia`AV8Sr^xkQqhpoxgK{=s5X&g45I^DEzqt0zH=0~~nzd^jOS0szi{t@`+ -z@$YJ_FUg7pmp3`%+-tusn!mxNzc+oGiPqzOeKQ(VKOg9}Mtj0g~lFd$EG~e|_7``_=&j;|Ur1Ai1ot8A}EmMja)5wYxtU;bw%+k{`vFhljd-)| -zhq0>^ZHA|pj{iARka}ROtntsoU0trgmkv4s3bP%?5n;v%nm|vKP<0ki+_lg&n^WGH{bFk0~_C91>lr9g< -z^x-3@;MyK|;v}q4mzqb|-GjwQrK~Qd(clk$2IjP8~AY_Pnh&kSD -zN4_OjX@sn~Zi-q)O!GkRd7?kQzx3YV(zL+3&4gjxh3$w*6KfUeYN4i;6%fMa>!%}e -z-l%lo6TO0bqCLMasK-@YHKhI~vRrLFS6YGy1HB1xP(h&M|C}`bT=v-j1}_f&KCbw3 -zY*4g^G*6@P84Z0qurb(1nrh8G>MNH|)6mG;{wl%$d1nHtko=al -zO{a3S=!f2$Fv!>a7yb*4Tq{3Z-q6+`F0?=0?3$$nyeY0~Kze@NzXCv$F}YgXHR?5X -zi28`c$6MJGaZ}ALG`5#sA>@K+<}?m$zHi{=RjRA&7r^@-MWMH=`QqusVOVyNqK*@= -zMs+p1E6ev41~MrNv^5t87R27@1hv_ -zTxCXn8j0yk`^8M!^Tl^FBT-^u{&!~oaObC;#*gDHTsK1)-F2zfC^WB9MLJZ-`!C(& -zwuT(;fa(1AJ8WQfrLC%Oa5A3(b|v(;jGo>DPf|!%D*L|#wLLeQ%wsm -zoEf}~o{iNH>K?Jl)c-5sfiy-Cq#(}#@42k8(yv%BE_KQQpIFFw9fC~;(lf|p< -zOEZ-U*%!fs!ZFi&d&p}!CKRJfBdvQTRv=vd4{h;NK@1>jy=7 -z0G2E-4Ja8Qk0mjepLbX*sayrY- -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 -zclHC9L2`y7Z3AJ; -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 -zBZ`8%W2x59kx1vQeiHV -z{A_-w*_0UzDVtpsaqaM5N%=BdCbJpDLd>OQs3cgwK812Cjo+^~Y428$6;96~`b|i5 -zh^HLeuuBM=+~*oRT*l-Vgx0;7&<8r^2HD#j!(JG{d_)mBtzdO-lZ0mk>q>=dznZVh -z7e;tC8oRRJZ+Rb2X#coB@5$NmF^zEc7u=P9{FIr<@l|SzeTwLk#b)6ISZT*Z=^({h -z;u*^I)0lKyY1o%slh!YYHgQy4avDKj$q(v1c-7?lqn6>*Ha5>Y{|+Tyz}kDnZDZCQ;;Usn}LnrPKw6{n`e;#UP3ds|^`9q#<(t$&eI -zR-a*i-w5>72=bH&)<+1MvH6sk)Cbflcu08Noff<~fyw&*D%KK -z8|Sjc33_=b_Oo{rDGaRtsIdK_I6G9j02^Godq1rt(PqV#Uy$J?|85a1hsrv{_|`>{ -zM3YNHn`5w1v^H&#?QsF$Z0|Jv;dPkr`__qhg?Pi!qD|*)X(vK9(fPtb&`$l2Jz49G -zyG%{14)s|>BO>sg71$=tE+8C=RtSfFJ>?UI3!tb}Jh<|ZMWcX<*}AKl=JC1AQqrvV -z)#Uv&&wZr=>OnD(_!;ZCr2N8Z4eVGSI+z-C`OxG0E%%^{$zvmD3*eV5xM|z^z2S$B -zet)9AJ+TL(B_>D33*%%SPOt(dQ@Nd1T$Ufc?S-D2w+k>z16CJaN{5+}99`PEzLx#P -zP;MQbpV1E=F@CP+zLNFB#XWgs)!j5-eCGj;Gc0j^$lv#(zdEF*KpoumpNOQb?(XYz -zJ(U7$M+?1c+iuoeO&>BZ=*gANzHZFOyD6G@^wSfhBDLBYJ2Z}7Px=+AtzrGGq(&_J -zViB5i0xWC54mh!s7aiH>F6~qwmb?CGweVUEMNH+EX4ILEOqboTLtaN;TB|j!u0MY9 -z(~Kb?6E*(VaT1@VGY`F|1mTp-Xd&Pkuv*SzITVKw$O)Kf1PJkTK9Q76iEBW*aUYYM^@3dy&9Y#8 -z5jyM+xF)`%I1-s)>NJ(y(8sWXU;-niMvgc4IHsVam=}bJmhJ7&WyF_8j~o;5tV> -zof`DcH@DHp`DwhN2>&=}=GCM?p65Q0{~MvhXanslPzxaGn8WAG`LI7bVs`=U1`LLDI>C)2!GL3{jg<<1Ppi^afj?IW4pW%mZ@lUAle1-E -z`00gu^CwfAx{r?kF$Dqo9TlbF7UhTS_6?zWP0>QzA+%d&#vkFO6|UujYNb;LaO_ww -zNUdb{6;ZD>QYRbgS`JtSpq}GRA>3?mJX}VUfz!0r4)k@+3=O-n>$?b0a*A^Z%YJ2H -zbyU;d&lqt5ni034bFRX81*!exYYPWFp!L}LvAgp-zo`{)6m*N>SAva<0cLaE62`+~ -zqJc9sJcpS#g?E=(TEj{Sevn$wNCaouFG|$qmPbuWQ~;MPZkh2MZ?rJrNeXDKW3~Jq -zJ82@iz+I+gqAOH#1}3)~nlwB7<(~Yvs*&4HJGLKx&bm03pHt~aM_rnWh>IPHZtIo; -zzwP&S)51cDJu*ojzYaVWXbug$>EQq!{*& -zx0?`a-ke}nbhU#vgY{?l;|)^+xmLs%BJw&30Goc$HOY0jxx~)tSUq6e`S7#MPx`Kb -z%e<12QxLg!M%1XS7NAJGm{9OD-3aJmef2+^th0HDDUlTxM4734HbAnDr;cL3YAl++ -zPiQtq2`9t1)7)2B8Jq|7B8s-ju$a=1zPDMAmlbv$wd+7SdS -z=4fHf_QCA))^4uSlq)E!k1ZZe|fG-2^G2l?Rr?$y2|}25dUW0)f%py=Mu(W7+`tYn&kay -z@`w1EAY%G4pcSmy#WIsy95n-7mj!72DWM72foepg|#mT-)LQ4!yen{!(a3tt;Ot -z&N?uT!u|Xm>4T$hJR(NXPbV;$k?yF+xI;|^m{h-GuU$0IMt{M3(qH -zd4MAjv1`=WphQfEBDe1j1RbVBgX&BH?&l8UPZ~?=IB_hY1A%OgWcUsbL-QQmb(%VS -zOKDlvq2Tq{&e|jV)08u=JT(2)5PicV?tsJ&fppJ(&Ai9`IQmp%lWS5AG0+T|GYFgR -zvfk&q-&3WC>2qz!pT__m_<+oX?GjwsGg|L@13~rTq(kO8q^y7Nw>tl{>Mp=Sw_s71dg-Zvp8_Oi|g~(-6X&(X7$Wks5nSsEoIN}CjSjJk*a7p4?(YzBC$m5t@3ecukJ -z>GvjvXJio*vV0U|9u7wRswmVfHl0XPGo1o`AOZ3H#?GO};$|7fnb#LVg<2 -zBeG;L3MuiZ*pw~Hg{IU$Ou3mcdhT=NwtQeBqRDVsayGmj4wO%}=OLegfdT~mK2doj -z_!bekg`v6=+2btAO_?VG{;oc8_V8B62^_dqLotOwevX6-Ed6Iepb%K^%_quz90a)a -z1!kmvqVa5HFxkXAcNkz#5VbV==pHrN9->yThw-7rwInxnuWbC2H$C#LG(Tl^MS_25 -zd$^QE-Oq^H`gtytE;o;irnP_L^Zynu$@^>f=NR%0?cQkZpYp`l6yDkL#LfI22O|PU -z^)OMo|8mBUvqym+Ds+$q`1=q8=}dHKX9+zk|Td*sMF+y -z^AQ<(xMioeMF+X>hD~i_oykk~wRSw!`PjP-@}JS`zKY%Sd*gD4j3}j1fNG$cgBo>J -z{kG=%F{Q50!;3nkn}WX{Yso*nWb!u{!I(0o9%4kJGl)w^yEq-#w>5|diPbTJieiK6 -zG>95BzOshL)8cszcGCe5{I3%D&86K8P{b}=hmqUv2xNs@%Ds!>0_FpL?3;6tyf{wFNL{$1Qks8dh$n*RD{B1@Hjyv2)g=yt~%z%!F#y%Wp#+3LEUii_9z%D70G~h-u -zm^@M^7npHXE~8`I+vZ6^{i*Lg7?fyP>2q1?m;bwM)XX3{PVDbuMWR2$x^ndUU-uzp#b -z_U|8dhI3B&o_O-!TmKkrx)x<(*TGtvGO=(jw(rIe$k%^Ev*i2kF1f-EvXY4(!zNs3 -ze40(H5`}rFiSJgId-pL5cjRtx$XUZxpYn3R9qCxi5pm>MDCF0$>_ajQk4m|vqYpw( -zc#`%`*Iqj)1$8?U7(7F+eq@=)A#F~%n^jJyNFqt>HenA}c-EIr;;r4Z-$o)|K71?W -zS^i^6+c$T-<#{^l7U2!7x0@`$z8tvZ6;02_n>&3$SJrm`=#~Hxrfb}GzwF2{s!M@dz9F-|N0}#>;>`;Y`_4x -zc|U9R;D_E^IOf}nVwvTxSoS|p`jFAdIupg~ed$54PV0o5P*_F-3(iRXJDAHfF=Ezm -zMAGyAJ(}XfEs|PTl+JsRKc_=y<|~rF7bgCo@9<8&42)Aejhn9J-`MUl9qIlAj4XIY -zFocfe{+vcegmsPaWjpIBpIPgadm{)vjbKXp4J;WS$#^E;C2RKf%o}a0>ni};={h|# -zBkQr%s|KLO44LhQzc9QC$r2xX(jDy(N`EjAUK^cGbxdXW?Ia@BXW>vntT69_Oaa~8 -z=ACb)Y2@X#iFIH{aoGFFn_ZkGp5;n-lUZ*9p0jTE2!>GE8}2ooh0o8Z -zAM);SQH=}X_7W)fvs3dQk9hY5JsCPbJm -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 -zZ^d>dDM8^)DnpltZ17n+KXv=OzUCdR^znc*6I -zR^uAhTyA$X&S9*%bfo{bP%bnx&5j(Mb`z~buu;plKzfW;=D7>O$W_Yw!)?JWffl=q -zHNGz%ZUV9>vf$R{*S#KeUi-Ha0(PQ58GHMVLB7eebSS5>HC|nrb)59Kx0C5_er_}D -zjcYiao>RL*g)qAzpJ^z4Z~^%8M`SW -zsu++W^YOeFtHm!UePmqEcU*1z?+p;*1_=0*?T#P)L5ry(=n%7X=z4sAQ-;^Ck;hi) -zb{SUbP|dDd`@oGBlxQ@>u^$kOsaPi^WoL#qi$p5d)|MgfQ -z1%3ps;JzNz-7!FDJ{Tjhc&3gt+W#B-dC-*x7x9cistWgB*)@Ve7<_VC! -z28Dq-rbZ3(VYRISW+DFl%*Qhk5fS?4DLdOCx)TO~W+13!pPm}$TpwoBR;QM_@(jR2 -z#lB>`@DR!9ZW!KvC{WwdAQYd9*;rO?RZfsjC>RONm?nHV)<{K1;i*qy{QcN&p92R? -zsB(hFP9i%M^N<{V2g$xlT2iKb=hxVYVyBKyB>Q|WCEi85dA#nUl3|h`PytA5K5iYL -z*s91g^95+w+N*er^;_fElQYKu&_rGm@xqb4h9g`4 -zrU=f<-@S3wiWmol@@o)emdHAz0UkKt5{uA@!g25sHc6aE5zTX+@r%KjCC31TbYQ4{;;Q20)uSkw) -zHhf=cEqO13t$uoJUSWqC$3L#HW6wH1qNUwPx8wZp=(qol)_-65ucaNS&5Tg5hL#pJ -zJV3ZPHjd{q%RX{^Ay%rsUV5YZ02oe(LcSDjx*@KcBHDhBB~yKY>n3RMEBC(emUN4R -z1h=TI(-sKSgH3P8)v$}#6O1#C9mhoeq@`iy>+5Y4v$6%|-6O;Pc3u=03om(Fh`slT -z$#qsfI~H`SmvR;7(wM>_F0x9!bhk42mEx702ju*SQn5Q|zuWvSt6^++??O^6FEgj| -zW8uZ=78g^os+qJE0IOPGztYB*%Gh>EM&3aOFvk+aYpA{-#A{8d;?)4N41q)0gi6%A8Do6Zpoi~KY`g_MWmKFD}0+3_cjPnpzz-| -zqbn8zJYI4M4Gqf`UIz@2#Y}4+-2|0NP^Ou*SYu^^$7Y6E@jmWu>4}Q-?ul>0%;4&* -zzoKg*I8ZoVsg}g?E1Rk|;(OQ5IHt+X-TH|eP5(0;*LifysWKT$&m`E~N$}i$ -z;J8`1hrV7Z>ZTclk0PBUG6GK$u*jGEvikT+3`13rJcbRa=XYPN&E4v_c35|94kA{M -zHZE?T{>>Q7JecqXSudQDvrf+MSujrj17PEbs!kol#ku}@bF=kgxQg&o^AlV7J-}uQ -z*#8Nz;fbfRd4I6|JCut&h#G#y$Qz}D3TQ!3)IY&2C|YjYftv9w*MYl|yP8uU*D*XE -zct#qXeKC3cs$*r)5lEsYT`l9XM<4cdP5QBh*5+nMsf17U0i1+$_i*4*AiMnAdGObUnb5?JNtMC=pt7r@$UE?VJS{{w=j#mq -zK4?3&Trhj~sCe=`+4KEDo+RGX0ul5W2n3~=g=?LCadtslW8{%0$+um(@4mzv^}ktm2vp#++9Fm -zkf5Epp0se;WST`_Tsop+kfEK)crVMi;6UfB%?>*hgvvfVbn>$LbKcf1#$A^8@NM|g -z&0x*K5J9qCj1@cB)dg|03n~{$c05P;b$KmTz>g=iMjmp}Vew{HyIf?5P*J(F3;kx- -zF|&)%UCqed(O~{AHTlR8=W~SK%fMPvDqZ4Gb-h%cnIh;?8~$u9O<+*+VW#B=+3Jf9 -z_FP@<%&soITYGE{E-lyaR=Q#f>&OQ-y -zI7pPG=-i|U#)V!iphb<+yI(OJ>KU?Ia&d>ePpE7K;ZdUr-LFs%^%&VXpPRc%ae>@V -z+Ab9=d>Hlae%0hqKQBAymC>1e?iw&IJLi6Lm-)JzPr@!1sDBt`Q}9twi3#x*U2Dn8 -zL_0geQrs85GS|%I;eGX0&(-m|StHJl`PuG$gx^`2z<;|jA+JT(O0zOcT>oqD!QNk8 -z;hy3f->a+O@piM$+#&XcF&0#UmBV3Sy`Ve9*z2?%AnX&3P1>BMetUA)uV#$`$YcE1Zh+L;z*a_Xg%g0)}noJ;@@tH7(P -z(O~Sf9$r|Cpodpe>3cwPEgPzE6J4vz%0#(3E@sD&U5l@R60*w5B#Z_7p>o#<-G+kz -zyMmm|;7{n?YlK=ukwbn3bNM^}mA9B>Ux#$p`J(*ViNGm^3k00hM#}r(y33Fo%R}1j -z*3n8AaION2o@v9x46gy=(+~Ty!S7m(D~rPL-(iED6geH2;0;X^$IEr;n9ks(6KmZG -zgZ_^1FgMK(jeJvcNBTNpdI_OF0Xdp9AZy8*t&9#+;j!ds>LfpCJU>C;*c$wr^8um!td=JTYm#>!=^X@^taUP7cdHU&CI$iRmhN$Z%FhjC^|L!+08$B{jG0!fo`470|y> -zmZzF0cA8kekMR8nRewpK!QMuKexyTyIy_nna_j-6=-yVqxfk^y$1sRK0k|0C-? -zpqgslMQ=NuP*jvI9h9!p1BeRJA|fv$O}Z$(_pO5T4pO8<0V#qaf^>+|n+Zjll+XhN -z5<-9w(r(`WIp?l(zi+MIJkQJ|S$nUQWcHM&=-wdo>T~rj@)IX$!oNqUH;C=d%765g -ze+XuWxtF)T;`{kD)!&$yYWQ6=LF(`>4)#uDYcb2P5OwnE>h_7M#XQoOJBk70Xb8NB -z4fBW%dr7Cf2mX(;cu?be>AHGg(pZZnvEz&D=Zl4miIgv{FW9Amn%`Hcf0$W)QEsSH -zmo>$@4mlZtUxqWhTw@d(c;`bT_IN;E%_1#Dg_9ZM0o(E&P=-y{&T6q>dWhYfF -zd=0SM&jHU5-h2(+w?njnrn*Dl6b$JxDBSfzyv01}%!*ydD=E^T=R=U^9@R6+?%*fl!EW$Vh8jS<#71LJv2ht~R#vcC_`+=%utJi66PrNHvX;LXE$^&j2n1Qj@?WFVeR>8_*xQ -zuHi_l6&-?!4ndpaW=Aq~kKhkM0*ZnGJt3obNHIO8lM^ER)(DIjBCo&Qr5s|7C^{S*#Xt06cISlv2Y3+ofNbm8qUzCd -zQB5R^mr}#l>Nu*AU*#Q)-j+uCPt!AHT1kpA5Eq -zb`(c_PBa7eNfs_N>>yf@qR@Gy7e-09)BZ!sGC(~LM-dZlLL$q)x1cO -z(|cDKE%buaqMh+%*o>_v_fB?X-pAu8<;MvNNgt&uKF-)*>r=K2$KENYy!&{Y)&Ns7 -zw(#qWm9B#-u_E>2q}43J|LW!NO$Bk(P~38x)LVp61}g0h5CEH05D&75l~(gMEyHg> -zs`XW&5GMeCbuxL~?IC-&g?~<*)1ua$AI_mMZ2F`tqBW!sQYG2Lj0I7FuHRq|wk6r! -zjBDZN_O;Fs1rmJ2%l`gGUDuaUvsZi6LbO>o5U0037NtG%`|6i1b8dZp?fIXHf7w*# -zJ-kWxLZFwMykRN#DamwVi%UPEp8r8S-?ToXWjJbT^e^5!ABzM$C;y?G5*YOcJH19*WOFvf8p{#sr?Z?nj6upibDL} -z!=5blGcE6|FvEtTLm>)+cwJM;Bvs_4k!%uI|8+G$TM*xa%acs)*Ys`A1pJRy-xbyi -z)qcjQg(qSK%10Oy%Yw`k$vGmhPXpf4`__qM -zE=vhUeQ~Z&3)v+L>EttO?#B7G*(IHZ7PmU`rLnb-vLVuct)w@8f09ajl&vp4RC;mu -zGadS`=Jd*&h)|5@0N|}>$7m&m7YU=X8w8z?@6MACi*hm~UB5>XB}xxO=k0@K?~$%s -z6up7E!S{@v3_G%A>bMn7Q$o-DMV@PDV%qkm1!ss@Dj+oG^jY*3&a%7ln{B(D`Cq(g -zbqNyV*0U{ml#rJ9-uqXruhc|}xF-^) -zC=_sM4(BWKclK^W{eyJLWq|zPNb6D2PS#(PrnCLUL-62Hv_Af=rw2LfU7>tovhSu< -z!>Su6vOb<>6*&D4a-=mWi`qW7EV;zHXTFzvcUi5R3?l6SxFkWu=i9~o_=JqF0Aeso -z@`$hE8Pu0~ie~?cXu%J&q;TtFR3Yk*)NvphCco$WgDDOPAFX_g) -zKz*zrYqT0|88Dck5!>SeM5P;P?o!=iOdp`bi7VREX~ -zL}0Qs>8Q4nZUNHq=IAEFKEDP6TKs@KMtQql?E_p|wu>h7(!>5;1ivJz&)Zv)7J&M8 -z#O^m>cZ;nV_WFn*v8KX_v`LotAM@I9EY_UPA?0$eK#tI;&q9wW&okTwwJmQwoLo&% -zfBWtfyZHn}FJZ66aA)y%FZu17%aUL@ -z-L!xQeRf53gxaZQOtb@ACPd!xqn*}_-UEVlzH{H^K{Ku3&Wt5ZUGiQAcANHKN1Dk= -zc!kB^-61NV)dkJu;QusK>5X~K^KCv?up3qE#gD(!VsReeZ5Qyi6L<&!ALN0wHmYUq -zzSH#Ehq6O9uGb-(bOzOq&dUteW$pA<*}>0_NEQa9Vdh@s)c@>j;~<5z0ClxZ9HcOo -zIw)O*Vs&bRzsW`D7vayxar3miS46ceCW(FZy?c+lLIbTBu3?lP7lOnJ9A?(rw;xY* -zA~j}c;S3~zzJ;F_QaJlN^v&!n-dqM(F5mK16KW3`{}kC3{Kwdh$5j$y{OY&_FFIv? -z#D>%bU#{|ZtT0*EcnM@sZfbnJs3^)0RY2p_hVFe%!1HZrMWiVZRnGA#daD;GL7gZ( -zRXjgYMFM%|zj!0Cdm^_MIrWYv{s;i|cM~dHN;ZE5&HizM8*V(rUz>%Pck85C4e~n% -zy=nWouq2p{f!dc9Uzn&qa&GNqFW7&hXrb+PJMdnXz^%aE>oov6(S$Sdf}(%ns#3fa -zTxo;N*7#`jv3TCbPG9?)?O^+oj9am9$4ewEY0UKU993IH*MOkHwFSPnQaae9V0j;0 -z2lMvt9Eh5W%B^%1tj&4W9ySe!8AS1rXv -zE&R0jKw^lr1Vpxj7W>1OBE^sVkWE|T;KfG`q)(07wrr9)xEAcE?Qgu@Hwa@i9wS9< -zyF~0iMv4flMBhm175hY75gFnA=>uvA;~BUc=7uBAQx46A-;scZK( -zvMTKwkQ@<}O#X78Qu|NbypdxJRteN*?j(?kSfb^tcae;sRiz(xlq1WPbU;|;$XH4_ -z!b}KSeF_l`?vI*49orxJ?`TAR6m;w8)KRPH)pVC#41W1;zWe)Bqh#>+fd-+b%jlgS -z$7!y>m&|apDVY`?7g;zugZ5zKg*VN{7s1969_Gjr?+0UiYxDz~5x8w%#~14h6rJ?n -z8kxd}t+{D!_@h6f!ZsgJ7rNdC)Q*H%bkEAX4@twDl_Q8E$B!Cfk`g)L$)cT`#exXL -zRm(GGnA~d{(c!;lA9PvfSs1GwbI$jRv-AVX=V_MckNQ{aJ2Y1gR%>Y20yFVX1$d%fMO_>owR`#&Z-7l0Bxv$_-__y-C -z8s7$|o-O>$iadsS!;a!4gv -zZ_f{|&|@nxV2tuDMlSnYuOG2`?L+!WSptoO(FZL@lx_@+iGW5T@)76(T!y33Ikq+SHAETJR_q`{ -zFety!ZBv@(7@VsbZPg1m~vht#W`JyTLkb!yLk|=rqzR%iz~jj#G^yb -zXfh3H?P@$0ijv3vq#4=kQF*aj-oik16jgT38wVpb9V02$WWu2=6?Jl%W)Yc0YwYX= -zo@mqo-?=G3sN@kO=(FF$9c#>ENC*`b)m>iCvfgP_v>ZAp7kD|FI4Cy)36hpa7zH^* -zedjyu;KOGvlCNy+;TtJg0&;{v#Wj)IRWp}!`c#W)3N)&W(kDIpn1=YJHd^IYI*`9Js>ehK}8 -z{?uD?*kcSi-OgxtMqW9IpCD#PUQaMclcp8yzP4raqp>VgUA-QgWZs3l4iQ?lj^#Z; -zRLRBCVoQi*QiO~Z8S%>Pm;FzFMgVMe@VVel;r4(d#vD>+pyheS-98lb8=3!$n&ZAg -z1q7OtX2+LnC2NK}FwZkhZv<9U7)6ee>9@&p^sI0p+BXQap^*)@EguO#dN%(Fg@j+0 -z*f4CiBKAz$IaH!uTrV{}JZc%FXzfuV9(YST|D7)1>v}ky_o_$I_*q-X8kh&;e+~8) -z71KSB&+8z<+UfV|4WjnXoeh@^-xC6k1WDjcJ7J7go_4e&%^5_UkO)<5J{Q3g0m4O` -z3cb3*nL~QR{HgdeeGiSa7e1M#$-dKjjPKZ%Kl1i1UJ5UiJQhST$vn0{s(nb&*=oA9 -zS$pX~OXR8ZcGIO}JG0l=OaD9t?H -zNIXM$iZM@`4>0x6?wg>5V0ZgTFJY0?x|<*6E)uqbD8Z*z(WjGZ8TL9>PHi|bc!UBf -zreYVWQQY^6e`S+0K_8$3-%hmog~1q%07r|E|0|U8KsGFT6#F4;Q0qqGl^y&1`~2(R -z7br9BzhP{RI9d#05VHLt_=7+iNEdvLsIa2OO6Z=7RA{4h1tHnzBBF{VFf5)laLEO~ -zaE%hv_h*CVRTELEpV{D}&r39civU8P*T0_wbA_Dti$)jSv}RuZKN^`&R*?MnG!dlW -zehcNS_j(>L1_Y0pZp9y}evGon5{bckG-vr}GZE;*1vTrz^Uq*MbH(G&SF@$cA}h@e -zF-=-7tF-q!HIBBldfppB|5PnhaG0|dbrY@Fn7P2~RqowI_ggD6Fz!HEI4`28&%XjU -z?;dDc0W02#N7jgv -zc{rVwh`&~ASe{#VcRK$DU{gew5`Nb$OXkZv#Dg}oMJ&SD>biSt%#l%V!LU0}{BtDg<8^gRa9Gc2DupCE7-`mHf}bOV}|k|TYD8CaV7ynGFPX5aTTu{r)g{%?@s -zQNH|VAfvPENrp5vsZqc@f@kt!|G4I|s56oWH;Q);B6pVEPtvkKXfxUj&dr_|^|4Cf -zB6U{MhF@?>?JgRxI5mygG{}&-wi5Ct -za$x$_+A8n9FB`ErHo`^^{FQ#_l%Do-pg*tyiM}HL)v3KX6}O_^m-PQ@RQFQl^RXv@ -zbq|-(8wm+UsHs>VLvMvabDZB>K!Lm3%PDeO$y=wE?+SzWvxpW4(iWP&9$I&xQ07Ww -zG)lzyQ{RE2Bihcfy=}{8x$GQ>vUR(}}zqKkHlp?dmyv>Z%yNaW(ss -zd0SDMIA`=P&T>)zo2mI!Aw4XWik&vUR~|nWsmeK5uG2 -zc2uoIn;OVHy}Zi`5HVsDN%zT1f}Wa2>4`M%Q?+m3T=~$O#vg -zA$HTUSyL}S4vXfjinw#|WU-%R4E(RCYflT-UV+)`tDoFuA}KlXQ-qs-pa_0NTVk>LWIqm}bZ7iNA$4!VFNl -zTH_CP_jI*}^1JzWN1WJ$H_FQ^a!OMcXI-&E1+peo~ScD3(nome7j5cBF1T; -zdhHOiT2qOW=#z48C_AqM$*8PzFsM{C@RABJo0R(Jn%8#*fht?C6F~7%_=5BZGO{Dj -zOJz1Z^$(bE#?^u_H)2`jef!dQXXwRkE#?#b*&w0`SKX-wtlD?|3KA(u`IEr?t!o>; -ze2|;PNmHgKtF8^jBde~-m)oWlpY9m;yU*;7f1CT{P;1m}mm6Co$JS=U8`N@h$J>1d -zm>B<7@X3M4sJr-Gtk!k5a0}j}%9}eT?lT4B-y}ads2Fy8WydZ^v1yn+-O&-B3E-Uz -z;PM39I@>c5#m8wM9!$a9d2v>V#8=Jo--wX=EfQ#_MJrB`X|ZsllTa^v=_}KZ4*hRb -z+%cV)=qYAD34R~-D+`_-WoKDScS!+-0e>d+1Y}F&S@I7vydoDQH^qjr#|0S+d_{aW -z6^pObG)Zz~6=B6VDHdlN7kM{fM9QcR%;o((Za&}R3yow+MTYmAcb7}Vmbt$1mj#VI -zgrY)tUo>?J=o;VZx!;I_e?mzw!`Ebz(P*k -zxA|b9*)-iw<%4tFS4}*yGZ{Juo8I|Og)S{UzHrnH<-=!nq>_&JL(1l)&r!KLHS3!m -zbCx-#8^`qxX_Weg`S6^#1eYAU)tYzozpQbny=$r6cQatNvWZ`7O0BoNpc>@g>1T!v -zJy9JFeR@=}e;7~)IzxNqH4t_V5a!v;eeQq|DO6VGE0BzCcowg`96e -zlhx@lC%H>p;vI2g?C-Za7Hd7h1!!Ci;7=)DeKU#XoQvvY63sbYxLthtxxDPsVpl7| -zggX;35?BtoojLPo#PPOM -z*a2^HsVqQDsSY_`%uK(G0pO?TUtS-3kWVGu6JbB#Oszj_D*pCz)An1?T;dB;C$gqZ -zx5hnF0<1+Broz&&s^;U~DF<`U>y)Q2<7XP5?o@LQMm@EbJ=*@eeM%|_{r5$kwZ78q -zr{=2qK?=DL3`htNTVVtr`jm@b2wxra8UGQ8D$CL(zJ3qK$C -z+kzV!XvRkFX)A(%lM}m-yaRZvoN(7|0coo(Of@>Y0>QqP`@1S%zgu1%D{z{UP;1NT -z`=eINzZ$E!aa&<=@-@%`m$U(S?FBj?J%)>|c+w=DgMa2=;TKnUzs)zjoj_x)b%GcU -zM87tjU9q<_AYWwlwNTK@?|r({e(_};_EAl5u~FS+4LN#8Q^15H;Zqwm9zS856!{+W -zbmwP4zyAVfXIxHrYuGkHH3DL5J`wc*QjL;R2fnUrM>?KX272B(%sr5AAV>yCJ}lT* -zb(E-Y!rVZ01zHTO&>zx~OaBT^h<(ol4~CL%s@>5=d0I9QK&=-#*kma#K&7ZVNvFAN%XbEA%|DgAxiK$oC(3tTK;Tc19dhBY2K*iIu~%^ -z;{y8|J0SWXx;66Lgpdg;JkZ>thrFOBXE(pDwr-yzi->eQF#s18>Q -z2-YKn1^oBk$j4t}G>Y^ix{KaH3b!!*5x=z3)w(Gc@%IR<8_x-lkxQ8LS7ikZ8_J)e -z7|?YQwAE)Fe<=4}mo?SujL+FgDILPDRn}f>Enjub+`FwjL`y#u`s_r`2x=E7=bkm4 -z02GRT2EC8nN}2bL+hUuSkJ~btr^RlGVVb%R!Z2|Vbnbe4{bh}(J>9~QZjtv9Ie0|a -z=OoN^-c;O+=Em#IJ|!d8ap?8bD5jo=CWL#e(}6b^coc2owm3&xFlMK5-j+J7)ApAK -z@BwM(dU;$>G|`3#thnHX2Wc7438Kr|02ijTVZQVxFSYdWx}bv?!umd%(e@6?&n#7( -z(ejNCU6e3X(Vwshg3Q_%mivU~uf*^0}cKcVnQH$Wz|cYzbX0gI$DtE}B?2LQGTT -z0gTCzXnZHs_#Bj{5HdxCFbb4D8^jx6)9s(m`Qz -zgvtFDV5~cLOL+NS%R!?&2{hRg| -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 -z`>uc@<l|0d72RXia4PwkG+a)v=k -zjf(f&(M2Bp>>z*ZrqKYoqsCOwi6Y&pB7zV7Wv(&8y5a$u;AR*h>nC1xblNc$X>O1m -zf&8T!#&fbT`9&2LoPlg>y@0~Y?UU%?^jU~x7W_9@Iugc#wI3iLPr{FAeAo^cZjr=* -zBUd-o(_mo?$G5HkE3H=~cKGFXICN{)uW*Sgy%WWS?#YA*w4W~T<>Eu1W$JlGt9M@k -z-?VKOO==ztm#|zj8j&xAqByO$e}}GgzPq~pnTsR8(}*+JN}Uznl$WM;Q!cAr^39VC -zB=5a!+<=4gyziB(+WhzXK$*4CDtQ9@??&$HPOrwO;&*QH>ve} -z=lkA2pc!od;92DlK)1&`-hJu-a%WXBWYv?Bcy -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 -z`LOP;k~AwBBHlRfog(7nA=^uh10}BN -zE%r>*%m>(=r4CCiO9&%DAah3TH?8>>k?5t^J -zveQ{0dj#oW4gK4CH+`qb^%%xFu9K&=f7;Yo@kMJY1%oVE?outB>skoCx7WG=ANZW(;d+#RDB(z2k?wu~pf|jEL<{9xiO$FNkh%FtKaQ$9H(hihcb#m&x -z{T@gkA23S{6L(ltQxd`ZdiYM{|Bw*A=8gL#j2EMJhAa+!4isquc{@P;*1K}iN6V+n -zzagr~{DAMgaZ(RYFTrhG*TPktb8_WI-0qS24xFpDbUQfkxlw+o3vTf!ZPm%(LP8z* -z^a4`AfC`l7)O2uJ!^@U)p7QFSE6@-G7CuR{ -zxMY*2vrpj%LtlgH!|4SD%7xjtR}bnO?8rNv7{(&4*IV&E)g-;&@W)(mYu}PDk(@ii -zx7Z#@G~8YKN#;UOo-MBtCR1~)D9?JrgipjbZ9pZRw0DOfSLc(A1l*+!;AinmDgcito6q4AQjExY58t7TPdK3)RByxIeMpGKo$%Kt%E>Q>)LS}s;82~=Dg -zk*t&?i=6dQ{tEga$k?wUPIGl>qd-=ueWtGkly9TIXFjS~O#gq7av}v-D@=Q1}eT -zrb%0V;8*QtRU1Lr`b9*vT5dqS+v8VwM>pqJZd}Sz>J=vI9!h=3 -z-zo+WLXDU&H!t?M{AGUZIi&Lwp5}5fOvXCw>dOqdjv_e(k^!w^;MA~FaBf^DHYine -z$=w9c|NnM@|4;w_>8_dJTPirZ>O@i`6{b>+lgNTLSWWiM6ob08zbN(pUsrMUy+^_p -zdssFBMA3J|Y%en7&RPD0gkL^3{avo)T&U8WGVoFp)JyZ8=#JEM2%{gJmuryTru>Nu -zq1ONmaUy4?xIcj|m#+RT91oT$1tM(6$9>u_P})*r*E*P{)8$$xZ1yUQZs$6{o~ynuan -zPLP}PTav`Y7$8|No4bX+QOpRq^ -znC2whRGkYzNo?)LKXb0fyjWo?0)xA?NjHfnwm*?oO`W4>!QRsWL1vdj8aiSRXE>?X -zdcX#!J{JJCl{$A_0K!PLr5d*{e<59e30zL3i2Ym9o;Bh)}qAjG%HfuW}0W($--@j`1vv_$*fxOW_{Q7u8}>4p{T0Mm>M%J -zD+l=A4(!+7xgqW9%NV7hZ1JQMECv2@hj02�_XVJJA^&5aT*>?%6}msnVD>vk{aulJEGda1qA^unYCvyubGKm8f&@ -zUFvSk!#X@~ViZvF1;e=bTsVvywUqw^y$p}QOHQ||Suoap&k|RSS%M@@yhFdKXzC>U -zVt{aPnG*b%7boQFid>;TQQ<8olk4Tl>g1y^=BkV-os26Jsxq(xCc#_REBKClc<6Tc;??y+s?uhaFqOY-Q6XJ -z>nkwtkVCcSW{cl2`9pz$d1f7?+fo6IowfdUHS8iaG -zSK|ihl)b?#DbF#nvyW -zrVn;0rfqiLlzy}CQt>I`6Hrh(u9wasbOSjY^q05pl2mM4Wo#1d$YjOzko8pd)bQ3= -zSF>AuZtb)`{Ami1GaSBb8UT8w$)9HU^2(KTefm6D+i2C)g8Tfh&|lzgPKTl5>|+Zvt0{xerCKj#1qNZPzAfxkU!J+a;@{vOU@`Ob>%+-qtz^T -zj?0tRI-dCXRD_T(a%D)TWuN0iIOim}u -zrKWG$sfM-*C-LGbBY+iTnSWI}6!Kj!`JErr9mf3V)YtMkZXAD^5_Ilz-@u)*_-vCU+SWbI3VrVrj>weu6BO590BZwgL^e<|0GU%(9%F`3@sOy{0X40=* -zY|dysFNfb}Mtm^=TI)=Bpck@K(V=y3_vnYQd@#`8MRWGtVo&uxDEScECFblawjZ+@ -z2iLed?#uhyPj!Q0w4&%`64|9@^F-Wck**1k++}JNn2nx8N?jqPzz5Ci(Iz``ZtQfz -ze4@_11%6plbPr9$W=p7i;)rtOy^!7jU1+oiov+XJj*MLgm?KnUT+Qo11u|QCe>ESe+Dy~q -z8GlgM^#Pcg&1m2acCVqdKG~yd6{u^P1SRDD(_m_SbVqq`Lfc_=PQ_tdOG!3dQ?Ce7y*rm9 -zzfa-anaTYjQvZlCwK-+>B7=C&4=d#p;=bS!4G8v<_?x^XcoiR`@q_(BJAwT=ZA-8o -zueuKY1UQmQ$_ikFi;iXA%1cio!~Q0%e2)U=z9tXTD1<0 -zTG*z+%nsB#T52OdF8YPpib})kuFk3TS1anm|CB@5DWz6})Uk5?aM-rZ4?nCs>|b0L -zcn~cOm4FqW+I~X?$ywtBpc16ttH58y+O~)y7Oq?zt?xbUc4>SGox76I&X}}Kdbb<* -zE2BQ$SzPa#1f2rq5_wO4g-%gb&!3wtLo=sAA*#-1pQx8#a5UF3&D-h6__v#Vf*|Pa -zF74`1^wp_9;+Y{2sSSgM&%vfsg_!$!CsRhW`;Q4-upG}lpMSw0=AFiYSq%{h)?~^4 -zRx?$1C(q9kI&zOs*;TJpKYqy)X!q|_eGrh)JC5;uS!gcj2jt#7{uH!w7@bwT6^c|w^uagy|723^Wg36&&#XPDCDq@- -zJcOHhPY^aDFX5S6u3s~?Ib^@yd2{TTG{o0`37NpH1$s^THSy1WbNMdNkqLvdHrh#C -zuDU|HV@+1bl{>0B2kps3M&GZ9`Q(VFt7!dJhY=7nneYP}v%x^1_@P-5D)Zs7b~*i> -zX-GoJ+HvFMDjOP>G7<>?ZxsFTBAZJyn1?Mz**zzV@V;h+!qXp}s!sg~XRkKz(DU_K -z-Xbj^gZUXLo0be2SQVGzo8|^M)J{12xFcpAVooT0zfKIkp^J6=nwg7c!OU_{3*Wco -z5H8b3?@@U+Oo3KJj$cHRYOj+PTXCN@z>7~pTx&-eB)F1`&Ta5{{&`{ -zJ{HVX&yYc+C13?xlOvL5qE#v*>VIHC5ZfN`;3D#4AMqjY$z@pb4JsU|CS4WridlHVK-&+88E{XqpzQz8iXq)< -z%O<_>C9(F~Q$BU|!YBOdOoBsuI|NlH>_e59Kdi$Q&WpO_A;kJanqA8n8r^ggWCcZhHEA`4$@r2FfD~>`A{c6_73_DRD -z%)+{COm)6TPDy6fV;YQ{eWs&_a_l~G(S}}BZ%rw=-v53Z^9dDm!R`GjLjwGmdafS| -z@SLPX(Jr6Z89{7Uq|%lfs>;?Q-%hzS=Mno(qL_}tXNE7r!A{;UF6QSQIXbarqMuai -zefrsOez)RH$n;&Ugdlb^i`zLTKKgZ%<31Ik8l73`fj1vcac0@Ls__sjzUNh1RWE?-U*7T+| -z^*{F3bF=BKbIp}`!MZXEm1?&n5&e=(Q;>8CD -zHZ+r**%AgIULZW97Z`7_NupQY8AkDfGr@Ex?gS}_-G|k=8#c!@uP$#XFVo139A-kh -z7u%!~!e~>J+GWppdou7Xp=isxX?qO+=bK<5V(JWDo^8_5%K*T-8(;wgY~=sd#BV1K -zScxa6@=aaH0zW#2!1+EFc;Bn;m2)q@1_Sqmg_}b9F$WUd=;0$V^w4Fh%dFvh*GLN& -zn&<7jjqKu~Rb!jeg)3{d6`Bk~r#_V_(Nc{0N^z0S>}dhFsCjPW+kGuQiT*QJ)~aRt -z?QN3l%7ESGUs4z0*Jl9pow~AZsYCmh?0>BiME8^^+iot~QjeS~WnzEkcEO0v2KMBYshviXxN{8Bnr8p7iyRxJS4nN`z1ly=h -z)@b$O8BzA2E{~MZp^b~ttP4H94)7ZJz2=yurtdSnA@h1LA?!l8v({`RBf;-FjqP+y -zcxOLtS(qC1dXeEI_%)Pya%KgnD4LvLI0-UrO*w299}0a36LKvV-wS$InDTvsD@3#6 -zNRVckQ(pKT8q`A^vwy!qJupXbr^o*Q?Ixo*kNCp`wHb;$hT0~t;YNegMldz?%b0k=nz1zFRfK`dW -z_r`BAA``Bkw?`OrqwNLO5<+W6gGS%l7vC?tfc$-37{j7S&{C!`G=4_m$b}^2u{5y{j -z-7I$rC#kFQkNA%&1$M6$!E&U2nF=S&Fd@V@4PU+8s(1B+H#b+ZnQ2Fg7j<&gEyvsV -z!OPWF#|4hI->YNqks?bAJIA_~pV|5SELWQ!6QJT_kQf4$8`0++MM_cpoCaG1#3vn_RQ2UuI=TAm7)H20 -z{fuk5LY{qfWAFW=fRs7u6VX#p>)#m_{jjrw*NjG*pMf;Z3bE}wq@-O&f=F8)n=o@9 -zZR{}cXT-ht34rLRJ80mppWINYt!g*zE5{nRM&HsJN=EVbyba?8xE;m!%y)dniOx;xb_R}aY-y_wLoK=f8Lz+jy -zHf@kKz$qz%h*s5lYJUW8f78Aup>s!%3|t+Q!`hlkcJ0><32uXPc+%d?^J-aLPzP9Hc`f=%LM61L5^Yq&OU3(xjBp-Sd!ySoH -zm%8JH!}@ur;9#6and%=Li(6;&ge@Eyo$0ktQM0Ju3J_3u^Ny4&==dg -zjc1;k(8-sEqOG-bJ{lxcIkAYxbJq}#;Bzi^!x?w?R$k;X>8M)aDzE#|)p%BiG^t>d -zuIw@>b856y4S~y0Luywld7=2x$tv6Bc&Tdd%L$B>5>q!cAl&dbRK(m;689sr%tZG+ -zrg-uWVs{?y+hyf*AELTLt1g3t{xG6#2#ysqW>szl>_@{$BOPBzOOQ?CeS9k^txE)o -zR>O#Cy$hSZrjK+`g^HA;OS{pO-M5W*OoxQZ(B>5qUHx9LkTW6dzeZgr1DR$BNQ+3f -z9hy%++8nS!Tia%1Qu9tN--}OgqK2(MvOx!^6jvhpYnWT4C8#VQQBC>Sf3aCa?P&PD -zDDKtNSDHbEeC>&O0^WZSAz}xPyq0@fVAyWCLX5gJGidV{6hpMkMZIwM(m+W!RM^g+ -z(#q!$w2N6vlz?j+mI6Ak9fay`(@BJ&^1!?gK-MXDe36*zx5bssvg`FP=ZV_~6rVf( -z^VLwTfEYZhVlE`?E~|1~*mX?()LTN`RC=!8M`axCVSNXb@|D_fZ-VAI$(S@m@jM<5 -zfPV1t==d<5A?qdF{9bC)q2wM_fa+))Oz2qjF{{cFH5`MLoqcp)b+oP&Tvv4iJ^9KF -z_;mB?{g;(PIW5Z%rZi}=KPKG+A#D|_vvv8iam$YqmIqhh`EPRl;iNZ>+kiw_(K?e` -z33|h0fc1C=|wo^YI$R?YXz*iId1=2=&AYY;?D@*QYKPcacWQb^# -zOlXN -z@9k|yCXLF^Sab$j6b!$xj~m{-ZueC^Ezp7*_|zZJt;-H1Yz2oa(B9U5>z@&O{D7M+ -z8cWa3OJy1VftK-GFI+Kfb^bVWBA4h8Ug$lBX}k2a-}ao-gly(9k2ztO%TUIS0e5rz -zMwMUNwkhF;Y}!@0f8B*hp0Sj~?|_4K^Y=ktquIJ|EM)v!qhctn=9_1+J|U>H>{!_v -ze#IGlb5}TOspbN3vqxk|3Pi^rq_Yi)MktHEa;O9!Z9W<1vSj}?<}&RF`5EbV!maeR -z<-1DQFpz3r(Q?R&7I=Gd?$sARzCaaqo&x4kW)K0aiP&X|gxH6N!n7#DYw|CctMKwPnEG~{Y<&}R?avoWy7l6RmZP_zJsevwAJIB^E_+)OAb^wkSu|1m6z6ojz;hGSH7z>(IEunp8RUIy}965a&J9Bdt6C>IGj6;-_N>@uVp@X_NVGKsIj}F -zp?g7pUU)z3eyOA2>b1D=%jHK}x99!Fr@meJJd&?YZ$Ck!BY{tw*IX5a*K~ya-^WqH -zW|QK;M~AWul>BGM_#2lqaxGHS=6QnH)cvL#=br^6e!RtLbn3tp_tfnI^aJ -zQnwRKr|Y~Z->Ta&Csm1AlrWwQ%dL>hI~{X3pVk7lE8ezPj-yD?=JuOIc1ENsU3n>} -zoe^CIPqV%4&jS46gdDfuB-bQDt7A`XCjx{jYvaCCcDIwn+CDM70!d#hl16)iMjkzxrcx_xBsYNlq%PZ`Dt20n3q^l -zqXmRxBnlDR`4V2kzOE?^W+rNwAoK(ST-2ENhm~;=<@a?PRr!dme-SZI1#DnRHgl); -z_LNckZXOm|qF>xvG&K{aO~AG{K*392khUjbUIsdr5FcVyS{5Zh+^LWtw%3KtoSK96 -ze-J1IIxViNO=V2JBvLG;23xni3WYfJGb8eM#Ab3GSHchddN-w!j>Dlp^H3R7zTSkG -zj!{@FdFF5Jj5&?QFPcfdKGUGwgHJb1-CRROa4v)|B|D5uJ*1){DmC5a7xevtm&%bC -ztjn}dNpp)?-v!gUn4;9n!fqitXD0D+Uv -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 -ztir-bGCS%JC@fILAs}F1{A2)h^<&b -z3j=GQ4x>H)!Og+N(mRHifrpU+@uVs923_7}5`j0DD$k%L;Zn}Dm-)Kz@^_oFA!ffU -zFV4z5PhAPgGAuBgE45efoF^IFuwJzRhO!7IJGVrN8wY+YH{h7;%$1J5yci%`Shsq+ -z*4^+*Hu%lB4_A}m`Fy?{pl$1@!P_olg=|*8xOh! -zhq8^ehQwiKcPq}c^O)D2tYR&qXpb099^KX9*;DW0sC-R~52D$OLBUWdV?p4i7&{MF -zoJ*wO7W0C43#A*!QORsWzEE%A6le~L(e*T<``sIc19wK8(WU;}DMvghM|{57kAU+R -ztpx7P(r14cGJua%J61sKpVhmosrpB<W?$f0J -z`~%kf&DQ*N$|1Ld|0JWHL;_-{zWE=1sg1_b0RWE=p2-s_>@y6ptzHtyBuS?y_~V!e -zOLPkwy#ji+gT>J|Dd7|Ng3&+wWs$yKsP?9<_I#R4^G3i$oZOUpjx3ZSqJyVi5tn9aIV{)l{1whCH)wVmtEsPQgZVlT1uy9T -z4mp%+Q -zoF7;HQ1smIUzmrOa4zniS5~Lx$5M36LT8w+#~kJERj@rjIMZ_fMyq3HCaEy|b#b8Q -z+&)3WE^Fz{mS@(|xxMwgp1r-ip-lhW82?<)&_KwC8ynB44>d}XXXKLY#sh7|gjXrx -ztisaEK(1$)ptq~G_gvhR&s8|GTYNWo)B1ZV?V3%0ByWFYmeX<(V#EepAgCX)g`{(GfQjFiY0(~wUbR0aAu@kO7GY+BW -zm)h1s^eDd5z1r=9spZ`+du;UW>Qu9bOgW&6Zb3mr=91M8tGNp1)96dVN}c`_5gD%5oWOJXY(4 -zO=R`%714-7al?Zi!GB-T6KahE-!j7hdb!bP^9*g)Lk5&0vmf3^eZNJL#pxX;wh3C2 -z9h_W;f(bkmqk7785h%>f>L}~JWMZM$VMFd!H8RXY>xvw9DVayOQV&kc*ax?E*}2ke -zXCXX};DJ?S8C?{9e^f(YH@L3i-?Me0u|x -zcEU$##J=wm*r%V1vbO88aJRDsFJ2S^3{)B2ONgo-{mcXzt7l{k|`I0dcZ%;oPuhntW9se+&oZ`Rh*z`lZ9S&5r+@T@;9jN5+nX8!U2B)!hr8MafK+9b? -zxE{3L60D3@49ExX&5;kCX*{sG93*AI6T3D*x)yy<Nz{XhjFT2vI`nt8sM}lAc;tc!Ah5%@XJ1WY -z-|KKseJyv=6&>t(eVkbgLWjA)4pUe79dcCA2g*4FMh_RvGeSTflA(M!WK40iC`S|c -zXk3FQdf)m5aJ@6t4f%j4BViTE+0H+s#e_m~lByf?Wl;Y(fBH!8u{SXP=yb(h$N8wQ -zuY54R>&Mi;a)Fc*p_(G?fAvj-@hqmJ=0}1X@I|MX!k>UkH6$6&C8<|z^LR%&uT)b}UE -zzR*Ph`}ms#Ypn!Mr{Z$+CG)xR(6iV5xb(NQCEQ -zho_*cFsTyqjm%F%R?vAW?KqleBaYf&m#NdrHXY4qT%qWL`?n^&EMZe(qddqC7e -zd+$hog*1p~quh;b(RZ4k=zp7sqRSRB@x2K8`dH*TrMJAJJY77V_C~LE!yg_c``eKj -z^mf^Jwm8ZIS^qfyNNK4Sz9nzoEE{e6i(&bvl4zr!=5+JUcJU65`@wYU&NEujPvHD+ -zJ_F3V2c3(vW4LWWFA7lQxXTYYfwUb!wBc1@zUQV@dIITXW_c-n7tR3 -zdJ<^@D&Q3wjH&CID~gLV3el6u6PUDm@3LU(eUTg*+X$7L{Wc{ -zcTOZSA*lq$AHusZ+_|v>5hkeuA2~mNwPjL%5H}X7)o;n>mG0Tc&G?hAp!*6a9xIqO -zj>&OedMo4q^rcnE*Q+of>l0OCmL{*fmfYWac~L~ZJFrcHpX2_@*2CnguOSlIpm#0H -zjd!eC;##{K8*7J8lyR-Y4-hKtEbGDwmEO7g+qy1buaeYVC$9zKfb{1{80%UwVq_eM%9EKi4oR-St1f0o0kNcX#4FJ8)dOSQW>O#s>Z^D( -zPWuUJCWWVtKrjV#3fM|5s-vJ^SD_L*KY -z9`c9Z80J$X{JG^j7X{cFUfoj2o4aOx@ng$z*3+EUwrW$Zu3_nL>pF -z8(_Xb(d5FJ9mO$x!+!QDBv$^}0I$Qc_pDp?I98W&V}iu$kOrHw%*1f-)sf%p-zeN9 -zJ)TIJ=8{8&=1QE1ZHfrzc{}XiUN$KsBi*Zx>Y^_BC;HguZ7X_1cfj3_8%~3cTQ&EP -zCwK5MLA1uH>cFXhFUz|lKZqidquxsRjH^I6T%J0jT~VH}Vs}WB#je>Ml4KXHfSBWj -zzg_=@*nYouT7AHyml^Dy|9r-1EGEzER&(@|QKc -zZbkw3j?R21HOkXawDUX2>lA@m+W8Hb5wZC%jr}+j*M2PIzm0xJ#pAdLP__Os0RIi( -z+a+{6k0PW(4VKv=+xNF_cN#Y>K=qIwy5&2X-xshGMHk#YRD~xiDZhELU1)}++*!+_ -ziWu(oF7Bccff3bt -z9etYufYNjPf)jbDXNwr4cM1T;ZJGzUh}X(IpfaEI8e)QE2H^x0SgxDtkkVktF5kjZ -z%!NHAbl&{u8O1nhsL*RF!?wt4Fta&jpfm>AcPV=9UCF;QYY2oizQM`fmPItN7?ghk -zy$vxIpi -zD5YY%z7QL?x6=Vr_ZTLL$8CpN_V$J_E$F>!^{G<1X&I$%mt^wRm4QGo68dH04t(V(3F7 -zns4PcQdOIsvbGH%xpC)fx0qIg&iZR!?99M1*(h=spdvHwyW1NL5-(fCqqK%|2)F??a` -zz1s1)iLMw1!<|%?-!K>E9nj~5`-~~d+058f(X1I3H{b?DG%)a&Y>>h`d$6uIFR|+k -zT1j@h>qrcrlpQdfGkkVPk`q(oGZM{U%l(zAa<#|dlWfM5QPUa=*1+@Ayy1ck*_8OX -zKY0F~)P@9}!gWo0##;8gCbwe)Rp{ -zuy^4h7Xb`P@e3^m@(UbdMCo`w<4Ll~Qgnwp_LE!QVr5O}IXAF0s@gd19?|v-*yw*? -zK)n4w2>t>#rUUXWk?ntA@dar}2U;{1_(0_t_Y8)-ElM^PDlDVmf?Q@{z6N_0%=sv9ghD&>IdqD{{j7@rP0Ca1C{B2ATmxfAOa?# -z8tDfCHC6eh_|*bu&?nr2|LMVW&1TI$DG0M4%h~e)-(UK7*Q%scuc^n^8_b -z3)NA1<9?XF#>PL2QiihzU~EFThHK>RL$!qH2RTGojSxmiuHV;b*(Q#z#U*IsC+)8s -zBV4(Av)=~p>D(C?l1kmz9QC)dQiUyjL$E=bxkpY~3oRUr1va#Q<9`(~?>J}T#gM33 -zLB%?8#D5SIyoT&q-!YQws2S?+E!BUm=9bM0oAJ(85ge>Ivh)^UtkWmT7kd6w$3Lp6TnYyD5=u_$%6PcOpVH#re -z3^HUBf)LWQIu~NrZ7E}n(-RdxMw%OyD>#SWvbs=G9M#Mw+>$$dy4X{$QKQMwy5ub~#bm;P40R)2iU5#YX?8S=;wYP9CP^<=Od_t-E} -z_A@xTM1+;%@>6Rzjq>8cxWPZGZ!%T^-)s=3w@+gA*aO$;8n@pkAixF*x8}E^e3K)kukZgaLWpr~i^o_bnxsk#kya7U4k;C-THyE}Ntyg$q|cF7|-+k-p%kAKh3QIC_PrOc>LRB`%S^+#_VF9vwdR!3XFk&D_??lVuRc=I)Jo{a=V*+uXf_g_zl(2GOmC63pI -zzW%=;?z8pMfRkvlDQh|7VwX$kVlBGS*Q5713l0zH&G7{~+mF;FA|totvRuk-+ozJGu*m(kBvfRDlG~oCkLW;S-; -z{`>xaug`hC&t9L`_BuP~e9rSc=X{>${hamEhN)3>{=bwcuouqZ6{a2Hrg!W9+h`K} -z^F?uXKNJ{R;vm~nuZfTnZ;N1)=p -zcYJkoBgah?Yy8UYUn-jyb&aVnE3)Eyu-ZqQ$Fu(YPCDC%RD%DT^S_z1ckZ@}%S>ay -zolu0oPj>ib`;p<@!T$FawkRBV`0Ya0&?l#MhsJ$B-a5XnG2S1;yEx=~#92P`&kZG? -z??Ep@y0gYng;^dGUtW=Y&v0ygiX(xNy@V%c8>HpVf~hTISXHDme34m~#Y(G}zS}DH -z`HqZIUW`c$9UJUcx}2vnt2CXNnmUG$G#`wBdB^DlW^F|WSA -zjQ;71xavGct*YeH>n@H*pho1`L8!yBz+A>9L-Kb<@Y{9>q()lfTvq9p_XTtwo=#W{Kd@&6Q>g2TV;f -zEjHBV2r3mm53GM^vL7I5B;-vS{@i#%CScQ=3{1|yWh+AJI0FAyzZ1!81Lt>dq}~sL`D%e^qyWX%o-39eJV00?oUc1mNOB!)L-R -z#4fMMPsU_I6x+=XaGs8B3jwt^9FX$l%7tjPqYrRm#}q?g?SNudKU&^z2rYmNX)DQ^}*s#^K2g -z_YZToIBg8_nr=ADH5$p<{Wp8!C7AADv(>OWx;lNHEW?OVYy^J9O=>S20^E&4#jv8S -zGL3iK_uqZ|;uz5);S7B!`opdgALnVtrOKY9$7IjXU` -zd4wLjI0L_EdgQIf>s*a`C}8tbH0x!7!Dc6*`*u@zcG~ZUKPdkKQC>MU1CJ4|U*N4< -zgFY20=B-!wrFB4}Jp+$}Xsm2+2k$36g($7)wO8&ZJ%dR7wW)>zu$*}J8}Wwr&;z7c -zh~f&Qos|eVdhYCYSH+YG6jg_z_TgZ)uO@Ti5lTtecKeL@+NaQ5>F0rr1K(@K= -z)q8m1LJ^_&8q-woMt{b$Ek>8E8gd#*nXv>9yXKaBRlEM4EW3V!a~FzUv)7|8VrpCb -z&k*;>6KCxHHDu|nv0fKV*uH|rpuVOzQ*Y^85_?h~#82;T0k*RpJ&sG#Z}g3B#iSj7 -z_^{|D5q6@EhdCqof!#^Meks=j=W3p7j`nOvJbU1+I+!-wjz|*DIyt6$-gbV>R(68l -zbT@O3XQ#bKDi6!=f6?I3j))$VkF -zx4LBo_88$0?8pCr-j&DbILp-edxYz=2ThXewcP0crqRo{${7B3LHZraCe%oRvPoK4 -zxQXwtF-QH9(6n6jh7&2zS!uZpp?v09_%G*oDJd5v4^6&gMl~n=S+ClB&f8Gsqk=0b -zWc7d&qtIBNZ8(6ZPclqO>XxLUap%mzs!+3$ubMmncTi%lV~6ytNum4m#V=pKiJ_Sq -zT&-7le;75)9=$w|eA26vhAr8sv}>6_v*3pZ1#wyUiZrQW7}n2 -zhEj#``~O(8AAu^-ehl9ph8thfPIU^0wM7YJg@T{WxDnRj8PF6XqvvGlB@<>Y;kHEt -z3AhjDdsl{9kzXF3bKzw5!*aR_7l%^AJ_0X8Qx^k&)YiAK)q-_Lh=2Tk@?7#V&UczV -znWzg1U|cyu@T8owyLu|PMAM2~c^>VO*TLV$znWNBBXqoKc{+CjxKM+C!%1WMqMt2e -z^$rkKVjm)#(6lqYuX2%3*^AHH9+uQD0ctj7AEo&&lpJCs?wq!zqJxY$$w^s&X>Ykk -zQoUSFQ}9f~v67OGEk}-g^pQSWpLQSMG36Hot-m%{bDxHWy^m*9_ZS+h{7U9{5Fhl{ -zkO>d&(YigFZ+tFR=uTtncb%FG|18lMsZ_!&g+1e6yb97(*8A7Xc$AS2W -zrHhbolTs1BzsB09-ofU8&%)N4gK=|KHTpKWB~ST83lZ5==C=RA=So6eZYYKq -z?N8U*g3{c@(&shZU-Nls^leSImw^n{BT9WIPbIf>IwltM_;w@I#;?tw$}>Zo+%_T$ -z3pY0X1cY1)@^Ag4xGa#P$~%wnn5r7!WPD{ -zLYa06@7N`VN=be(BT~3kgh-Z@I_vbrZUvp-L`XcvGY?|p%YM{$;eZDFpYg6l!A%;DUoFQ&47bOG3%qc -zG2`Ek4vh;nP0z_50M&r1_3-07>F4v46AC%2sRU5SUdqzvW1KsOrzTEKpA{MBg~kR) -zY{aMsyG?U;Vb6jV+IJ+!CPs?23}+>YuTdr?Nh>r+BiT+IUPTF~R&lc2r&W=bb1FAw -z=YmP8C#KP)wk`xWH<6s@6IE7|uYRd6$;3J`@9Y9Kl+F7^R=Oa)7vk1xSE55I -zExfATP*XfJz`JMB2kj`~J@}mfkLnT02}Lqu@s!O2`7L`CWXUqr6N0)kC0oeWDw?ES -zXAD=>W5{jpoXnaf`}!nRSkI+hhyiKNA=}lL%El(~XGh4!&VOThCU}cf$%E{_g{(EK -zarf%cIRK|=5-!PPeT4pk(0B&+Y??`ES2O2E;1q7s@5GrLrwJ%dKjfOm+vd0qiTB#E -zwkb()^Xzx<_&xQ@!v1?d|1FyAJsb<}!Lirggwu1L_M@ -ztaE4hX9L4O;e*Q?ryu@|Y^Kw;Q1fA@Gc%DjZ-J*Rjpuw$d!N7graP4xyn*th{}@51 -z%Vf>tB-24tMaRZ8_PoIh9h$fAX2AE`?;P-@;)winsH+@_v_t-UgCCZ@ -znb5SW|2_(GLP~NA_)k7?;LXhcO3CTAmsf`J2JUkFs9UN9RV=Nujt%?t{qd_R*yaCE;!p>=#aOBO -zrd{&|M8;hYM`>#+@KnLJics0Hi)5wH>+JOG>j-+7C9ykIfDQdFIU6TX>~{fj53Ff< -z@0!KTs4rQ(7nv`-n9y%xJ#UL_UaV(r!jiT!bawpK+aB$;ho{uUxzH -z7E1c}0eW@+)vET1!=V~cjj54nARbfl-ZFs1;_njHKNXY{a}7}@-CMLBzhBewO}OmC^2Q$J1(Mg))#AS*H9lZkJuA9Vg2Nnm -z$~CBFAbmHt(U88c2(tkQoi|cjh30}nVgG-KyKt|S|8;lcgA-LLm -z!UM!|lYubm(L3lh`bTh%fcmkrsrE-IruH5`MtCq9aUwbxmTV)w{b1w^;Ardmi&*Mp -zVYx^04u&_b8N&|kkO2PAC8w$1m+rN49yAL~_{>^xwm=G-P*?$L6Q8w-jhqxOZW;-f -zSwl98<^K}TGn7>)!Z5Emn7pI5+50#UtNyi=0^3Y-ucMtZs=6q{pqukZ@}hhbAQv&jIaCS&-U??dtQf$ -zQ#o;8$OL*j$8yOe3U+&oAF;rM{>rFJ+yNGZYMKoh*rX -z5vxRL_?a-Ror!iWIru#02caC6Wg%47j$gU`JG$qRBs{*E;VL<4T3Vg*T$ig}6754| -z?yMyGZvt2vLpJS|2S^@kp~@$~FJbOI%kW~(o4l>%iEQ+_lB#OH(0unPOmJojD`HHAXl5o2_N@+D}jyM5y -zTc)@fzx>(D!kBRfjwSGxog;{l9}~r>gZ`O*W;7z(^eMj<(*?JxP0g|LIs_V`-E~pRt2M6e(|0XMkTb#zSfW2>1IQGb -zDMvG0UR+*3^vRjD%?!k@U((`o6mX*?9+dO7QMsV`Ml^7Q)b{5oSM0i3ikv -z1r$2|*CjKX_-M<4rG_rQT1)jWrRAD%^|#WU(i=aRc~s=DX0^wlq20tA`gaHqPQ~0k -z1}~mB>)I_*8QKFl&b$zJxc0$SlRXs-9Rf)gnsu -zUB;!Filyth0Ag_bn(roSla>!<0y&9G*WDaKoXeo7I(%Pcv1ol|CUO&aBERKdvBkw5 -zbqmQ|=Ma@g-wucONo2ZE*td+T?1$;`QkiOS!kc_)HR8b{^y2-m98(fclHE7hNTX7mgjeic~BqV*2mK#QseCjx0bP4MbhDpD96FY -zwKPM@nsGBvS|T}MXhB&gXg>z@9oH_|HbxdmQf1nJPiX^%}ZlcP@r(jN!Bw7*8RQtb4Qt>maTHx+%yZ`%5rIa^aqEQGKTVJjKc{g -zK-ddUW!=@yj9BJ_jsbjK`4Gd_ -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 -zxZCkRzSuJ3={own`-VaCN%SXX -zgE!k70+bt2IO$-?Y!_h6Kk$LGHNEl);mK^-3{{uMvub$FncQJ%8m;(ImsZxuJ(JSo -zV`6q6rN#>NHCgYsmHy=g?^8cEavXnvR_&%Z!#gBmG;WSevV{G60H45@Ben)OIb07F -zHt)+Ff&>}(`60j>GY|T?6FanTck(~YhJ5-1z-80#Um4l&o|3G|RCRFZ*V=$c=Dl6L -zydE|!WQMk)d&sgwG?MCKb&}|p$(jy*2WV&uJ)+@rl4!xiEv{?`XEZ$s4l=`={)d!7 -zutD15tBw_WW`m=8O0l1Q=C@P*0l1{gQB9#`$(sE~_W3zAhG_??pXj`zwy7&T6X2c3 -zAEV7Z+H$)4Yz@ZpPxZaSIo44FREJ3M70{`r(UO(gBZ;f8ZcGg1wUP}7*o9D^dj^jC -z7XHktvRJy8qkd8!Cufhk?Ca2Q84wbxa!~lnF3(TVcgGWdk0}hW6I;KhoiZDZ5N{%T -z-gCphqbVhfL8`A* -zy09}zk^D%pNJVmHfC9}(WSiomFZ0a?w6Zi=HP|qjA;zY1vV0kN(;!lYUj2CWZ{v#5 -z=P`Lbqzr4kebGmoHQK&fpG*(e9-?0^CnZXKvT8JqLK*^RqDInO5cvYhoS49pqr{!2)p&Rm;F{g{%?I6RU- -zzX%rn(YcnNLBV`+2KfX?a=wgDobG=yBD&>si&&lo{~9$%Ze@jWNAU!n=n3CPsIM(D -zoD7Uix=QlC^{YBynpn$E)2DtCif@Y2NxX%WY%;lnQ9{p4U=&eU1An^M -zaBbUx{!;5Ga+?i9l}Y=nxiZ%M0?X8D%4cun$K*I1}E{NSQQE -z?b8AvF|dqu#th=Fkse+r{;9Ku|8|pZl0X>te+8 -z+{)5#65s1a8e63}Mn>&dXbk^Bp=A66*^p1p>W~Fd{uz=y+;5}%Z$Fv -z%4S4%pObhO=ULaQ9sgjAz&yi%dQ0-(%|#=?pG7$zq>PX}mwpgi{&F4q$3wxB(LX8y -z)u6vYi2HRTos0KDM53eQ2h~cRg^VBV#M}X4Rid*ru-ig0D7f{#pNq -zP7dR}D-fMC!N*^VT#jJvv;I*}4wJkqaGk$No7x%dtbdG?!({IYVyBnDs{*|i96j8& -zIBOlGh*)8PR6iWp)1`+lw7a@T(5JVSM~=ffrSSiV?&zKb`w#I>9;-I;W=!m^vIl_^m?3nRqxbLUp_r&jX&h9V@lE&APBIt$!j74^8k -z1eh655aN!#W@(1%Y!|Z6;@&@7O|d4W37l8PwASc8@?AtTwQQRGicpJXT8cFy0KiR2 -zTV-URrS3i7SNVmwfg#mZvyvQ^Z!YCwl)|XRhbW(0<@vOV@q7yJ8w#&G!tzDO@05Tk -zJ(U>hu!73G$}6n8qQME=wl1m)MxtUs0=Xt3zN@Q5YCcF_CARaaH0wkZ%ZUL=$F&Jr -znUceE(eXUDI|SlMA|i{7ECbpY@ay2E@K#aJcbF3nwpSuYk^FYdCh|k#c&d;ayfzkEK34j?Mk1{)bZiIJoXviDgVAtcF9-1}l>SJaA#&vd4 -zUl7K)Vr8_fJ$Pv=rF>pyLs!*XmcRzT$>5$325;Iy?08tyvC0RG=%I-?1dx)AiJ^-& -z4GqYnRR?Bmx}(P2&4NB_u5b#9i>;-fpt4=Wb)w(fNLD6>=O!%fzh3=rN&N3>At9M8 -zm)a5}eIzBDGKXYBX7>!1^3dR=Gn61Hz=%yG#xl!PDAW=KxPSVX5+%@lZ}1_5alSY% -zAuI!U`1cBHgG&dB)kQ6zxE8%h;8+mUg9v9>n)GqeG=gSe0FtvhMOc9_(Z8#M11$%t -zsF@G({>9$OB$+wEBQns)Fq`CPx;M11v0p8&T?5Fdr1Q8%30KuJ!!N`&`uU=LxrOH2 -zdMy1)t?{In8Q9GK-R%utb?EmQtMaF>19A9zmD?+eEnzXqH&-;CV7Rb`x-aSyCd(qq -zh{CWC3cgG|{5!R6I@y_9EgHVvO -zFvqbfko1WJ*{t7%V}|mF9$=uOl5_T!-K*0KSTD-05vXD2ItPny=K^xv96Ia~PHvfX -zPOQ;Rv|eWH5(;pRyv#ElZ#DX -zF%l$}h!88_fwDU!$F$!NQuGKJf|J4&`V--uOhdVvAMuf0_o3TwKSlo$y7mlN3Frin -zL)veW<3ya@2pRW56_FiWr0V#LUa-AWpF-|Jx;(J7e>n~)rv08mBr6#((>-Ma1<_fVYJ(Mm22gvg3@ZcoI%7PfN532XD{KZ>^XC<;x<0D;dV(7m>=mpB35ZGDypen)u1!axPkEF -zm_7@)mZ{#ke(!R|ope6_sDH8Pe4YL({DMew?)HTpL@c2#1vqK89h012FeA}{?9yCG -zry-7ZhO0`FVu#)`DpNs{+p%p;IlaUx=I#hnK1P})etU!w-_c4WUOPGPfDPy!7K4PN -z_%icRE7*Rw0rqY^Ko+RNZoe@H$fd0T36ccVPK2+&^5QEspcd`DxJmd~4ZltzhiOh6 -ziphZE-+I?E)0fki3xiPd^@HDzj~E(Zv@j~-Pipv`4$kz7h8Jsjbt_Y>DRLe2;d0tC -zrJukRoGz!XR-g;eb>YCNQOVN^akKWM63w`SuY`S~(+?ks*bYg=bX1^=?uaI0+I}$l -zfj3y6yP&%Q -z;VSc;bNDJhwFXFrl0z>AX`y$$O>@MR6_R+lCVC%9cQqPVrx=?NHOhY3!S`>kQZj=( -z!$1e+El>z#)oyRfi16dFY}33g6F=C#3Hi8NO-hVNshI!FSLaJWbKd~5alPTH2U^w>8>JQ -z{s#Rm05snCYx;Wk|W(Y*gAiIwjQ -zFNiJXTg+aJ7^!utY{ottV)#Toit`t|Yy*Cb4#;Ey4RN$y>f1tP8X(7TkQ6>qDY&S<|$@G@x1@@*rphwiE*ORt1j}CsfugJ7t?f7clR`_}0 -zfhcV?cpUDn(M_QVWE&E~ZDk)lEMd$FH@Rg^ -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 -zRyMc-MdS>W|BJ -zLJ98r3bKd(GLo&eTT7oL*)LX;Djdmf#m6fBq`%E^KX4Pj1a;COAjMn!tm_3TW^gvx -zXV@Z~10LJian>sCTL$LpF$82i<|*d9A5KXfwyY>p0lY=H42sHhG-F!iYy{2D_jM+; -zuN6}pVTF?NR8YPg!cr2$BbF*hMnt<3m(GabIovA|=6pm4(+*OL?qh-w&cO7SWg}H! -z_y|;U;w9#iAHcjAp(pxiEB>`S#U=(W;I`t-i9rHm*+t5iZIDN8DetSCCLZz;;PN+mf~Nh-&3 -z<=XbCgmSGSOOBC{s1-@XCTC3Ms8q6H*p}GI?$77<`Th5KJlK5f^V$3JJYR2`KqsdG -z6*5T8R-i=Tc>C6CtW~RC-xfZTLL|frN)=H`YJ>oJ^T9O}{82Te^jw5n!?p_n#)?Oh -zxqi$yjI#AZCaMZ#Ebw!vMqMugfB(eBK%S;he9Zi@z&`bpn6THy4&E+Wf?Lz9)`XEj -z?j7bE8gM_kNt3rNSfrI~W8VZ9^5jmRGr5PEZ`5TmD{vZ(FWkUof@DeAT4|Q>u%KKc -z78o3gg7nad{8G}p2aMZfppbOd_V}dU9ZU(yL!`$@ARTH|(yWDx1@#gUbB==*kNDpN -z&;1&TQidX@$}%0in`Jw#4HsY>qIbwslRw+^IjkX$%|+eua}x&U6L)Q#RC~8^##GkJ -zIF{0=c|cihSnd_h=`u@mrPXjT=lG<)AVdGzz-gB;+A>A7*CK#NxsY^zPp -z@*7I$mkquXUXg8!^R=0Yx+evOWz`ZzXf{78ZlMh`m3i_yN_a+Qu843}Rf}*7Rhn^D -z+X%~hkX56B+^HRY}M;E{u9iSj_SU{*S>9a8db5gB&_?=?n#+{ -z2{7|zx_UX#_@oM#`VKFTx^-<-^26G21(3{iET_fn!0lG=3y{O4DwFr93p6oYMs~vn -zJs@$)T8l@^B{ncsmN6y-Pir?_ki+vHD$M_{|Ez^ckow%2$VS??Q(n}w5-^SbVw`s2 -z4dxNBrLkIvcCG+<2U`|>%Jx5njZ9m%qLKx?afZ%kt2+>B{L+625w4hZXw~$(#!u-Q -zEp!}RSO>$tBEii#M4LgCN+=YRT8R%36?V;#B?b%8eIO!T9iRITBbcX%L=1wTwbKIb))q2O -zjE0Xto~Bf7Km%SIht{&TGHM<5@>w&daCdB3 -ztAIpd{92YNgY$W)KfvB|O1)6HC}uC7mR{Cm(ociE2Qm=rsX)jM#%03_ajXC@ap;;; -z<`U(~;b=*VvkDOoEEfjyoYvATrU$)>S%rm%00O~?O%@k<+80Ny7~ -z@mtEG{&@(TB_7U7@}07#p#k8uh}Oc7F5xIXf`ng3378`|gu)Ac(p8VLxtukCet{+# -z4gKnvRiVc;N6fgK5TB{Z-Vc4q9bncUOfrn|+d5`t+YA>V3o&Q@O4l$jxQLyoSa|;1 -zU(aWv{l{o8vM~4ORyu$+Jeny%%WyvS1mw_(I>m{>D99E#WV_x4{oXl4|OUvLmRfKi_(*gAPWhUC8F#h -z>{dS-8{{Dd5N33Q6UKEA=gYR5Q0YuyOZ3E1A>@lNh!acpi6LgJ+H^=`jA6;_7@SpI -zru<>uVZBhw>wjP?;X{&ro6tXn_)vLB5GT>0z8T`%TVMc#xQC~q$KV^bS=Ww&9pa(Q -z(2jO^B_hAEW%->IYWILdA!ElZ;soLdr95W-6z#6zt8Z9?46^=9mZv1nT6jPZ9EZmY -zPP^D@fmV%o+;H=4xf*_uDc$B+zu~IatJG%$)E0v95b`-^&>bicS{nYDktbVA=GKuo -z=zJz{$1otQ4mBZ}FUg?3Q3tvlpgsrvx%uCw$y0%d#_H36@Ho7Tu!K=|s87vvJ7b>> -zBCUn*?o(WebFhLJucJB^hi)sOxh6*!OHcbKhJs-+W(7X~G)*XBI^(PkP`3~cHj>8> -zUBb20JSIl?pl3SK{=Z)Ym$%Tzqli~PE9Nr1Z0v3mbECP&PgLZ~;5Nn?!f6Z)BN~_6 -z`E_Fc>ZvRgdW!v+L19ohUUxo_Y0n%4!IqnfMW(1P`=A}I=;!EDWBIeW4(K!4loH|; -zI9u+fY~2j$reO+WHfO+lG<}jJcFmz&=8R)Th#OIbt(2R79sQ&o;2m24aSxueQj#Kl -z%;Jx{lLT15nQfgrhAE0!oB<3wqEG!r8s3xfxfN?DOSSIMRJt4heo7E;)6f`y7<0r* -zYG7=Kaf5ukfO1RJsy|2)TO&)hm&Y2N;7x_t8WPsNAEhf525Gm`6SKi|TC!F2Yxgz2?d#o18(r0C3fHay5>YR0UohF>2g+!B=4c -zOCju$Ws>18kqdZ2uvlW}EUzsA68X;qcfefIJjPnBi5Z-7f{}{_oi -z+bl!^yZR$0&0)wLa`d7x#NY)YS*~nsn~(tT9 -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 -z`ruX)DzM_Z@ROw>yLf0PadX?8aY -zyR%?9v3Rhy0d)|5#&(I3g2hFpDC`50w2V0^8ZNP^dC$1eO2@rEaG!jhE?FnJTFF@w -ziYS*HCm6P$nKbTpz>$BK)=qHH-VO5%(b%$J%-HY!$=0dh5)?l*Qul9Qcl1)0BLEDP -zs#eEXsCP{%+w>7jXzu*NkKM`Z=MPRjWj>;#a#?U9Ho5nZ*I3JX@=_obv}R{MoOxl= -zqS629{2wmzC$;gf2;6`-2eF8;mKV@b)rvSYT}jbu&OHt-MS2sZ$xr$7N_*tNO9nK| -zrjg>laU;Sm{L272)d3t!6kq|afBqC{NIKNdz>W8AoQ(w%XVI6`@y^gPtRuNSCY^U# -zt~LZOEcC;8e_#yUC*Mm#ouE%jPR6+2B`RryxjzS`TFM0>cXy -zQxpp*qYcxq~YGrMYGSLl2%4`SQET1eM*xCDt(Xm>Wq|eiFxXZf1gfG$}cTf -z=?u4sz`c}JB{iQK?6qPZ(NGs`=UK4#iC1G1z^rt==G@){IapR&Np64+U3(6vo+wR> -ze7?NrvHabL?ubvh0(QH&_>m^SirnN)2{t7FtBP;d6qr0 -zN5YhVuCOYaz{A7X$vzP*fK#!gKILyXGGu~(Q8p#4t+It|I*ag5h_CxO@xajub-uQM -zH4^a-91DRn&cbb0gpDZl+nD7In{e7=DE8dGObanSneeZ7l_eoNJ-H=F -z*nI+=Vxs{ukyXT~5ypJ{(JG0xE?BBni1b%lJZF3s8tWUnVm>oiS9bEr-AT0LXtt8p -zzB%*UPr|r5y}wW~Yhzd7^z3p8J+b&*Vsr~sNESpk68yG{ -z8BH~%w$zw7=*z*Zx%LRKC -zh@M%`%4@c-8^|-O)o2$S3qA>oG6&RC-z^JL(Ihw*)kPQFe^yLPwd{C3YfbXGbi&uK -zqDEKR%)h~1vs#WgJw=F%$|+4NQL7koptVGru*mPz{H{G9-;L4d8)V4NDC|O6*l;BP -z^FV$HX`B<#kkbBXd(+fjjv7Ij!7-jR&~|Ftll(gAQOebfJJ{#R7bb}X%b@I8C<$x` -z051vs8VC)?fd^s(n~MiTV6p8u8I2vAh=WRL4diRD9O9*GGqf(^7O~BWp{0q^GFoU3 -zE5^PHYr>b_?HCvmtB;Ec5Z3`rEP&pNThjOmCID~uDo`+}*PuszpvCCm4ykkX2pw^_=YaF$rMuD8rWMsg6P+auQP=Fo`?sI=F$2|dzhIV -z^&?A~0iZI%H^Q^=0jC`er_2UC^iiK-kJ?bO3qAv~@p8gF>RB%WoDkdXvA -zp*~O0{9%gD8+2uquuAF5Wunp7JX8b#ef*Ck)m+nzIQophY*&{adSCndTx@uwXk0c_ -z#8oe-;Lgow3*Bu`Xa;M6)cbYpzxF#>QvC?;f=*dT~}@O}HH7+g&j -zEHEF>hL+)1ldy#mgpC1&QRyzRE?u3xya8360tj2y+hpb8dhr`(60ynwoL!G%l)WSv-Hb(?-`k*xzY{?Cdh%m8Eq4LB -z82MowDGa)zI;2{G*JtO8CEGitSJ$cS>z|PiaYmoWcE>cjtMI*+kpFrS*@z8K;0Cz4 -z=7v3@^e_*}*LB3gvd!Q|d};}ZZL*=O<7Ih0wxAcM_8x;IOc02$xdoxuQP;_%;VQ7Z -z2=C1Ltk}=dW^Q40Gz|_|$?75uFLk2UP;+PU7>onNoBW+`rlbZga{MW3cl3q_GKVzO -zwQ}fU+ya%3`hMFsze#_$#AKks113*b0wEh63$Zew3G;&dwiBhtOaT{8P3I*`_jWj> -zy&!-11{t?P7OdPvvFHDLHxDEiWg8TfJd{Ll63Je91is9kxRioiE5$M%Vl-9~^nZo2 -zQ}wn_P-xLWtqw+9lAMpxRfMFvG<5Ty%>!}?j4Ip-!CCHo;PhxQ*Dw$2N>E)>v!><ten9K*%^cQ>0yO2#IA+HzI{aEKcOT9d?$~UWRr|`7 -zFG}z)fGjz>B{M}qtIw8YWlX9{9|=O!fQ;Gj9)HE+Y}C4f|A4QSz=fS-CFJ9`kws1y -zx=3oL$vdu9S*#5DVCMn;Hfd&h8qlIchWCr$s7T3NY&9;Yqt}bDT!eDxk52ujeNh$g -z1gR2g8mdVYK&6|**!H}O^2%oB0or)=aEz+P99ZWw$?kH%87P$IfQi^CL? -zE4;*LxOVXuNr!KJJIM*_Sxq>9%Q!cNrHefTal^6D_c7MziP)DrViwr}IdoFHg08y% -z4o+Q7{DC~UJ#uYQuha@U8<~SZE)(W*y?W%BU7;IET#WbM=z9M?6|Rhz%!O^1PZIxZ -znfN|t$IyW;O -zDz73zvE)YzOpb$~K8&Z&WbJY%oLj+;TW4@dd8{TFkPpR}+dcp@#v<~>%HH^$7GkS5 -zV|%ipKl_1TIX(vH?p1D^T)azOO>zknbhl>JoJ8zLOT_8kFHvASTHT&o6meN -zf4>JfvR<`Ay@-yQ@Z1X>-l_^zc%cTxCOPEI8(^4XseXm&6Z3?E?f44YI?TDpj7Nva -zNc26L6V!2D@W&4_z1jg@2IhFfuBsii~xCYvEIX$haFn7YLPq -zLl;0_lUUD_cT7N=rScKN!dJGj%-+96;b2W~(b-~DkdQO-D;xk;gIny*MEjzg^2PrB -zQ#<5z@jLDNEC;RXG$3?2iR0lv63tz?i$SV+-r=IY{EPMrPHfq!kGaUPy&j`N$vW#P -zn}y7nLf&ihX?`#zxRVS%8=jlbcO$+RE|9s#c^eF_E5dUrLousW=8gFQ@`KTqWUZBV -zP=&Nhx`@R9aYL&x0yYteWwZcxm|#KzhsWo^21Nk-guq3z3eLbnL}p+6z-Wdv7Nk^S -zV!?fy%)89Cu`0YiqZZapK6(3mK*ZXANB%1EEtA5L1mlq!jR;k8fO2X+iQ~W?G3F(# -zNBJS+2v+(qp!xY2z_ilExn2S+&jH?@6>hP(!S?Hfyyr+vwUG+%5>|)MdH=I0y##pq -z(Uz>goaKaQ;h5!FFgzV$(XGQ&D8dD7Z1{K5k9qYqXe{Wz+fIY<(B1(S^>j5y4O?8v@WuIqec)h*Ccg$+>FVdJWd@Q1 -z&JD20Zl|z?_r9>!p+2OZ@gl^6$R&i^RM%hj?q6g$_&g5=D4%fHk4FxNsqpT<2(ZRL -z>G$|WNS=MpnW`FT;Tf1S0Q|j}9L^RELOQi?%wwc3oP61|2kz#oT0}VFH}s^^1#W<0 -zYd-$}ke*}$^uleeP8<*`sDaByqE6i2MEGN$P6_N(*9Ghc;X=_VI%sCWkRF454a|-X -zJs6Aah+8LSRqENn0xISh>Ui`IOab6>PYE=!AoC7d&KH&(=jNt}wSc0AXXUwrTs@hb -zu@3DB4s&TAJAoByPrCT}In001u$$@zpumLwttAt_r;`gY5o}t&CbxDC&7H<;S38Qp -zmj)CUnm=3r8qJdj_3|&+YJe7M!^V@Hu-|!`!1_zy^xLOigD+JD3RlN08O{X1jExGc -zB9RLJRHx6_zDD)eX@>mnS@@hi5F%9;1CU>^T?TF#X3?%eIan{Kg$J|^$851{N~gTg -zs27^YEwcf2?Y^XA%1|M~0QjplQ1uS?xmc!JP6Eh26;YOCwAnqUKC|;G9O&%*K%EShrFUdUT(jfJ -ztzj>Ik3^Yrh)jOw1{-~-GLqotY>FjyojkDLB|`PVw(OztV4w)MRJEm1hfI0M3GRWv -zZJ3nX!0sez^i!HGM;vb=mglXH$$h6%|IvYL0M!}*SbrGXESfk_a!3Gi13HA#h)Kv+ -zt&QKV-bZ{c9YAHx5)~aqs$$7p8j15>bugDf+uC%9$WaH@+XiZX`-P(#FY}99z#+YT -zPYk1WDJ$PeN+RLA{nNNSbxkXr06h5{Q-D04%rAnDKu^lk_>8-7h3fw%QAiwcEQ24F -z5dk^AA)da8%m1PTBvQHZLwD`NOP{@&%n6(t31L1|8$3Vj(-M96gdoC!G-AHwyHk{;9`yk4tT(#p@}|{eWm4K -zE<32@$C&EcP5?L~V)X!1FTEvI*+LsPZQ$XIRXT$fTi4F#@U234HEW>^p&jp%-y5|D -zTA!Azz#qqU3q8^sT=`wXg_%60nH*-?#WrQMX4#dPH6qr3*w?MBn>`peY{kbkM%rN& -zLvqVm4T}NMT~iu>rM%?N1ya -zh0F7Wuk|54d_ooOyV=Fu!*ct9I%tQVE*vFtKpmGxWLP~GP7AI}G9^BA*{6*$O)KUQ -zOaP`H?U)Jp%VHM$=?!b{JZ-TKWGdClpz)gcAvb$kj%l%36z}%Hwp-!X(s}7?Ni2i+ -zQTu5xPz;q4j!0zmODeS4JJQg%)u*<@6_agEhiB+LH@fIDZFZ+|v -zWFVZ6;B@dt>?<4l4D!DU9rOimk}Da+hhfL_d5htG8eN~i(P=BH;ut0RTDpCO=t{%G -zsEv<&7+ae)dZR@Voc$a1S($JhfW=`eK1HWlQYVAxvUEfEt#i%EzF+ayGUK4 -zu6c8RWecrzknEtlqX#7XCo%e1omGr7@)adi_?`xt4**xx?gIfh*R5k_{QyVy6vGQ| -zT%!pT5WKtqOZ)AH;1cytb{_j0QydY3K!V`kOZv3SlGHTm*@hPpAfX;*moF!V^{~)d -zg;PD84WpeeS-`ot&BF(J+J4#F@X+1_gyElG8=*%jvS-z?_|N+}`_~G6;A+L{c25rx -zK=KvIw}MGFwD?{yX-#y -z2>;awaszoaXw#S*fm1{-O+dyH)(8P9 -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 -zxf5AGQP^l!H=yZHvw>{FmV-a} -zdqtdwUf2j=tl}hx_w?j?s0>Ex7Z};^ERhYq+_U|xrrTG*Mqs8r=Ktc+?1uJ(i$TxN -z(14o^vl0UIWE2~4un9s5D7x#d%9Xjc8QIA!(igj_*QVQ^6)MNNza~(Zw)ar4{xc7| -z74X@o=tCV-a;nD&Fyn12fBn>0@~78-?v_;nUPJs%{4HjMLTWhTXtq(YbWMR`sa4W< -zD~a}H`M(?4^WE7lr#`%Y5^?;xBlX~>F7_iF+3a8frhhf*&Mm)Je^Gy=Rc;D<=F!L> -zj=RbW&_-V^t=g+M4LLRREbY2jy=~K{w?{cAH=Ub=$Hew;&@~0}C=?CxlXi;qcxK>* -zqWQ*`9z+MaEnrVv>wWw_epk>!{^Qxo;|qi>r7I9d;Q3<=%3*#8(Ym1NK$tzZ@w)9L -zT{mC}>yY5+(kYeAnVwZPJ2=$J2<_J^>&+`%y{={TZj{7)`rhu+_hb4T3Y&Jdk>_82 -zCi?sPi|0vNv1HXExP-uBn_ZPfVw>Fvc~#La?h -z&)-$A|2Ti{if+y6I(dJ^$s;v^9t5=}#bSde^K^e#Q=$!-U(%XaSrUA_Td?%e@^&e1NE%<26D1H|=f -z=QuZplZt;C{c+p)1?%)FDl~JJYQQgSTPHsBbn0s3lM(S>Sy^V13hRG|KX#5yUsvt@ -zgwnBUO>G6?aWY{O-jF&YwN#1(=v+&Wctuv8ODsCMNGJD~6x{^sgk`N*1}4=NwGXUA!siY#}AO -zcJ@o}4B?i+es1vJgexh;nyMZXqt3^tnzQIH+-MuxU2YVg`nyy!ecqTd*!q!#xZZfW -zi}u*fW9syQ-0P}cgs4a<%XibTyqTN#D|l{?r&D0hsvn6C=ca(DmqT?fuj&1j>+8Nd -z*qU^3^Oqg8y~BMQVKNoPznmC3_451Y2C8n&FfM}8y||`*p3_ci*211&;Sn1~6MFnx -zF$rZw{0@`V9cLLxc0!MGWWi&MUMc>_so&lqGdZ&u-k9sJ_&N(>$<^Kdz@7kxApWZ& -zUmLopA4_~LY8C+2&kPG{e+%yPpw@?(t)lMmu|0x`u9zit9Wx7DGIP=Iw -zhB1}lH|?dCn3Mndv>&4^RiW9H{eOHHoqy3z&nXXhFxh>-qT<0@T>ZDJHb%obXF*_+ -z4qytXyKfENXo-l077YXQro{L!)zJ%_{|%RQ%}gkhe{;ydQcTfb*}S*$?t)&jjo9av -z_1J%ggupm*-VHJj%9dAHUxyvJv(V@@#k(>nDPGp^&gv;#(X$yP@SP` -zl+lkKCQ{#N1EDNiz>!Bti!5F|K~5B5U$;*?9P^(`EnJze@yPwWdR1KdHBE$(hFx79 -z31Q-_6?jcA{jSEZ-V4I%8@sRp8xTjQj7xRp2!GWr_t?E!2JGN;L-xvl?l;$a7fLV7 -z_k>dV{2TUIo9eI~_8zKoq@VDjm>$W(4tx~G`ZVR90p6HS1}%hSyP=0gYU2^eBmg;m -zY1qXCzwX`dN_7s3w`Y=pdnC^!AFbn05X9_mZ0y~M(;@56CX{2h%eHr$?d&d;$`@^_ -z4SfoE3Xs*RPQg?XCPnqb_3a(}M$E29UfWd_J8?ha(I;hbQ|`>GQM)(s&#pyI;f*70 -zQL~Ex$L~MZhiRu3ycT$04e+Qo&NzFOw>NX8`rPwE$ADw|p6kfWc@l5`<;_`tcfVSb -zug&US?9D1`a1{Ti4QJj9}xYbitiw(y#F^u9A-UM-lV(&bKZ!Y -zpqsLqhF6M!q`z9v+P)#2e>ebpg_dvF*7s&c>t;f>44r@XFr;gc<|uwe71#IweE7#P -z7KnGYj%^N2{x+K8JbDOeO#HWKOdoS)`=TG--(CdW*xJXdf3oGuZ)ED;6GM~HjqR`G -z?fzAULmS7mD%RxA{?$aQsorVl?^^;D!J4~kW5vW(xfmxRvm4RbecdWXXXj2L&8IS4l!t<8K_ -zy_(^1OTON~mvJ}y^7az4|F=)O*3Eiqa=rS66|?8BUna~}JnJv9CcfBhMqA@{!}af+ -z&m9S{PwOv0AHo4_7SAO6RJSCh>bNF-XPK~j;z8R=}c}8(&r_IlA%De5K-1Ya6-*EG -z-GmBN;k72B{Ip%u-Ns(@tt)5TF8BWqSF_&bE1ZwJt2bB&eKAg&QTpz!U3K*J@pCDk -zUk^P8C>QgT5mD*`Z;=}+StYzBZ58a=u7hERKe`h_YwiSXdYqU>&G -z?~L@KR&*Zo)BkuQ|4q+f=@If+F@z}Z`JQ$CGoxfz=Bv`vS$|!20=_imW^bp}AMBb} -zB!ydyYckL4a>ESei}5Z2O#UWa>uKAr<=2}ufS~u(@4nv`gx=W;EbQSqBQ~+4R4LjL -zsk3V3kB8{NYr}*hS9wXmUit$k?fAfc)vL?FXg~zrKqtG1cjWi@B@pFgH>f?e>3hTK=Q{ -z`!OKMR|{AZG;Dn1^}t?Uyn}anV-+*l^o&{1t}~}U_B=#{-7VbzCo?g;qUML-aCv@H -z<~945-$tG{Mg6tbDsKF>{KCGLcQ@lt6jfNL-jimx3ynu#`7=g7<&fT1J^t|6(NVdn -zQ(^S?+4`G{v3VOQSF2yY&AU$ea?4=bYxm{My(2)w0p`_!8*bBYF`17|X!qBSTeXtY -zFBk|eRd1;*+|^LC*mlc~G82D!Txd4D(UUxG2`}V;d1Di*=EGB#*{+9ena9n0+W-4- -zJtesP*5o(HBy8~dxZ9(hVP@l3J!iIj^yx-V{>E6v{T0($qa3N>>IopLs;bw1BFm;H44(m_qJIhQ$A+ZAPn4c;=itSd@0I&fc4@}U=h -zioEM?JMVFrYvSGf^1jM2y(_(u{zkJH-5yxY@-lon8@gB=Nz68FUPJZHr(cI -zIrY@nxj8&c=0D?p-B!oQIdpYo(C@N_Fl6{}CE!CAw&$GDi*pNkH@gk%bNo&6lPR-r -z=FNM->l0#(EK8qk^MtYU&Cum1;rNv})1W-JC>c_Ik2;z@d?xcF9ssdDqf{x4F-v*o*ulbO#h -zblJGu2KPMQbJF?34Q%ns#>F>o -zc7M3N_%@*lyq$Ra*zJY$Qs>j>In8sQ@3ZpblAF7Lk%LXMx4q{_&p)?-xwvvc@S@%C -z`?GI9xV?At!omiJ#j%Wi*WJyVbkl7&5o-5LZ{HwYdG%}X$LK}2%Vc^ZyZ+lWmbUYF -z^xg|1^QK?7X$!ixawcwX9_Bn+Rb%}>0A@g$zqx7t()Ugl=Q{&-v4;Fd!hbWQ+Xa|w -z(kK5J@ZSyY-2rLR1IL5_ -zkXw!^0h9tFfGD6004jM*CBOm10HAEg!~s=+YCsKO1fUi$lG=Y9FbXglFa|Id&;V!x -zYz7z)NCH{_I{>BuIsnrFGXR}{Ie?u2y8(6wbOYuC_5|z&=mG2v$N+i)`vCR@90)iR -zFbFsda3tW@fD-_J0Q?bf65vl}jNSrx6z~|}aljLRrvOg_o&h`ycnx51GE9A0(JmQ19SkU17-j^0W$%!0J8zT -zfPDb_0`>zO2sj9EFyIitp@1x42_Od;01N^SGks6%*X0;%^%!Scv7vDqhTlxMcP5Hl -zFppCBZU#&R_<&;oS5hA$y`2ii^9AtxJK#dVMSzO|D*%6&n6$_&ti{H7222Ai0ptMZ -z0e`6(tCtfkF=>))|96z>Lcj{ZC4fr-mjSroJPL3SKL&6CaeHXaQvIroo7UMIG0q=h -zG(R~X4@d%tJ{<*koyKaxe5KWP4PY(cSU!~Ib;$2}q1_>+JLjBe1JRCm0Ph0cGvP;Q -zUXur5LcD)C-1~qJ03QNA0(?v~0BM(_EcE~nur;6$a3kO*zy~z1P|iM6R;m}x-z^b$ -zE5O!(iGUQK8So>*Z(h*n%i#AU^7xny(acZq{cqzYe)J8bSC4QW!Yu@J0k -zNF&FZanpftvw%wj=KYU#kJhr60j~hw0K5%&$EnD5q#I5aJ#G+Am%~T6QdN#?Y)5}o@i<$~g0uo2xp(cRZ2&eU+ZFq1-R*+4 -z#*bI>O@#~cIbiM2b+W_v#R8j$gVqK%4}TIvHZ59@umrdrln&=l!sjoF);L*qtQ1hs_L*zVeujIR@Ea}>e*AQiZv9ZWEZecnBCS(Qgq4<) -zvGdnzeQAcDCNlOJNbhu!>o_Isb!LAZvL!4->?_5f_bhK=5!oaEBK+8;%I&fUM%SN( -z&X?Nv>a|+#u98(uK)NoqTa;XTG*8F>f;cPrB-#b>_6oP4Y-fl;=OvDnMy8!V1N#Df -zTdvaz#yv@8MZH^!_I+;8*ZWM75od`ZU3^I8fA3no*Wd&1$8Hur!uSoZi@|?X6HiF; -z?T%e8+IcBL024#+IDcV0zc)sCJdQLXDvz^~$KOOo{CU@+WsrIi}3r0hyF-*RIgtv+Dj?S)jG^){u|c_H|l@Cb+rh8N@2px -zfAI#^Z6=Id56yOQi4*(I!T) -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 -z*Qr2-)L~m?1OI;r64wt{wW)3n?e3UVC=G`V -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 -zDlW{qEXSN#$)@hKQ7D_h^w -zJCT0jzcu|r?%I-md3J7%>vj5bhjw!4oK&Cq05KhxG_vGVRE}9^5e$I2L3bnV7_V<>As*L`&U-+OK=Twmu -z2I+iGsdDmXY_bTIbAM-4X~?0D`=JD#$)aq9y6fxrF~oZZ;6Kquong&LaR -z+zIi}7yhL0p{5zKU16Od+Dj&wC&s&{0`}v{Dig*Q+vKuPWw7*1l`6kRif@LcyU+r>SUEiU)SQR*Qt}e&PdSCL%_#c -zjATqLpH?#0R=L>vy`o+l@{di@m1P&&$i89boA0!mI($+a*yT`}-vfVst{R6sV+`z0 -z_Ajd58Bo2fvzPidrx_(n@dv<`6(twZ!)D5W#= -zI~Z!3^^T-A#(3XZ4z;u%~+?dxkEjy?bL$xF>2Pw*=l_x -z>Mm3$J;U_Q(v1AhQeb~u^utfCddGw4y=2`f+PiGUXisR}-d0+VN$G=!VLx%d8GJ3= -z-7V80o4+3=+meJ#Ivz%yJ`)s#8G|x>K(;=>>-0b;np@BUiy}@@ok}(absE}p%{qtC -zFDLEkfY(_|cY0@?!!6ByeZxsVS;xRn^I4;acXJBf9Exq!GRc3C4FXZ<{qmZq3R>mS -zvb^AqgxZaoUrc-8w`1o>F7LoP+b+8sx0Q4%(r+xZyxdL>c=y*z)|=S2z?L_$QQPfx -zJ5!Xkrk07K1?8ae&=>Kr>YneYyPzDh0=wA3h!C_UB-oH`3};(x)cOQB-rKkp@dOAV -z)K0Z1==WOH?*o6%BQ=4I1<^4x9@R;J-o_S5XLA-sQut0OzQ-|ZHO=D@1%1)JQQJHX -zI3I(D>Grmj%JQU$o@{66iOYJu9TkVOJ=!E;=GcM=ji#CTajWUWtc`}ha&oDo^R!I2 -z+b$b5{iYG$D$0WP62wQ+t;@ZUVq50)MtvrY!n?dx>KK2TTdJaa7$R|&tR!oGO^rx* -z)18V-b8B<7g%8>7^==H#7VQ=-d^e$gqqb2T(q`(@oClb(86 -zGU^}Vxs+6w*g*y_KGKcMk`Jw2OEzk|3%ZeNM`iuS(e@vyQ+z>LmTlB$4Rw3#o-ySz -z>-zz8Hxz%32sI1sg7)9knG~|jBf7X8>He3->+_@~{epErp!Z8AuuoX}`ATKiNpFAo -z4{SK#3|XzeajE#|QFOO?`JNt&B|NMpv@l~vX3=v$&frCKNT -zikdPjsy^*cl>DuVNJV>vI{W`lg>*k`tEgq&D@T87>BIHkDVJ>(1GKh-;+IvlRUFLH -zUkxyKP3!IlFg`1}u)TtGQN7W(SOnORN~OJmY*=+F>g`3ujZ{pn2rDdEiX(3?W8y4C -zh~{WH)8$C^`tOXAL4NIs(@-&+lLQ4`d?jeY%Vb42CNzurD=D113&`?j&EcfUq#Jtt -zm*Ic!xgj4RDx`9OkM=8cx;v_}w5zg^`yjaa?;nld(fD1?{1+OUrMB7Ce9w&=jeZ2HsOx}x -zv42;f={<6jn%*`$VzjuUOt^)rhiP}!pP_#>z$ERGMBOH8)jJBwDu1@t^oCgXY^-dd -zozzNK#mYkd0W=!+4NVRucWASx8hkr`L1{uGSbBE5ygk$w0!KDm(;T`Zz@MRM&Svo4 -zPSP7Zp`jG}h(p2X=&yrJ3~so;Tgy8vFPn7JwF=NZ$BF!&3a?U>bXHyO1nWONS1U@-ci|_X!j6rKL&sG(f8_q -zL+{>ze~RUCIF<7m>ib&Sak-E^g(2+IP+tmq- -zcY055EE_NNJ9{yemuuEO&SrliooG=yT*u*v!*v{`r&O;E>o~h2PBI^da?LtlRI8QM -zd2E7ywW~(GO2m~N*{e3)U#HIpy~kTxAV-KVHV!&Z0H6GHsD!%xhu%5-rE{h|$Y0xG -zbz>~8AbWImz9WA|(ez=4cgx{##L~N4`rP_i(M_Fgr!f1Qx#2tWr9OYR{+2nnK3|ew -z>=)19=somKo*DG{RIVyX83B)ZGW)5Z9z{KWIIeRmx!B_75zs=;45OcCxB&^H1*{JZyjR58e^mOJ+omtT6fk -z&YlK-qS|}TU|d6@=-3PWTdg$b{`4Nml9xvKoo+}v_V~QdcX=PC#(p{Vk+?d#**noOVN=3akpCZ*&Sz`Xg6?^UgxW)+n6aV= -z`5iq1=HkNvlBeW!Fx= -zbA2RRkp#6fkcMb{O-kH9al0W#+3qydPBGkvdin^n!c#;~A$)^KCJ41;>_Ri^JCDgpfntFsl2R=7o<3)J_~{D`sybgmQ> -ziF_>{XSaWF>d#W9PY6`o`t9;?b35IS7Y?z3j(eihmqA7Y14%)bvUsQ*zZU`bc(@pMHgIM5Jsr4Zp<>*Lz(w(U9B`Ko -zOY&S>!v@ -zJs>%w&OV~px80qeoKk0BQ(EM^wL3exWu4tQs>rv|-6ol+vm-S{zP0XV$r|)+sK~e6 -ztw~1f?E8vKCfv{#p@)bnb=(G -zd#`_N>gqywS2lHHp?gj?bw{DQBb&Op(A@?uu+W{#rfw~CC$p&=3f*2db$g+^Hk-Ps -z(CuVX*A==;vZ-4N+-fg29%8wUf2cYW7nn<3745Rr0;4?Y8=IliEW;0XtUfrY5_1njTia%iLK0Df{O4E5AdZUHz -zhM@DabSDMV=R?%lId$h*uqVLTJj}V7D*nEb_L@4B{r($vJKqZP&}Bom^h9gss=t5J -z150-sGjmqf`H^hpZ6uXs37B9id;2o7bkwt$>+|{keB^Xck%Y9^G(&RZ+Y_^moxsJP|i>7Eh -zAb&n$@{j;+oc=Fq!b0q*2HZg1e`7U53M<1)YKm?pMHVEW$mM$1Mh~GFFItGLJh5IJXG* -zd>(fMa0eFQUd`iv3*1dbxOein-vRfd!D+eVW8k)=IpQ@k@CnE^daX;6Z*1sIVNoor)|itbarje$ -z;Z?Pqz0rT@TV#(c9ezSS!xDY=M6OP@LFsh)r8Fza|?$CHjAzY|$BTuUr4%e=SEv}f*o>Zs~)N5>O~pR{8U -z_JPssUfzMQwc(ZzNALUEKYy4;-?dxK^uJG(c06^I9j;=_kI*Tx<;yyry|c>N@a4hV -zKHhoKc2ECiz?+kNibbO*-1=DONv%&ERvTV%;H{q@cKgzxT=su6OP`uI(qtesx<6%?M%{nt_JoTT;s(6!DX(yCscxH*9nb#ll%*%_d2Oi-*Ahu*xpU8&{>+oq -zB2=b(M($m@P(FRwGY^wbCyUB^;(N>eWiyw~c07tzX(7J3GZmaT<&>0EmO|aelwso~ -zY-H{2;oq+8%@3A!{4#K=AJE-nbjyO;UAnm~=RFb)nKOSfem_FV%T=frb)PF)79GD8 -zh0$-sx=QDrb#4%xMd^-tWD>QSg|Md5$yz6dS*d@6{R7Tsq73Sd4et=Fa5ssR+M|jY -z_l-i|a#0StaqFl$zEcTVZaZrA(|Vx_v;I{U+}XFQdTEvBQWkTGPN=LWDNi)8^}LSz -z%|kaMTnT^9p{F=nSoMsLZ$r%S`+bH5O{kdlX9$ -z{y3#qtYJPsG)TX6fZb2$tfM2!Snp=`1+uj4aDJT_f$@Ggzn*@>;ad(5{}Z*I_s@lL -zILv~gh4P*YObo}waKpFQRglhiupYL0ZQEfyXNO&8 -za=3qGe_3N~+}Io{v)Uk|Hd_@ISyv>ho2}A{8nARzEsNdLlq`X}OnrZx6!$zjBHZ^m -zR?wx%&TeHh$c6qId6zHGUovMD``h?{$;awa`h3TJJ&_#Ubq^Y;=B$l-Ty-C))p -zA2>fov0n`97can@I=kAu;4P-xMckaFTv~L7{U0K3-ms-p>x1Tu`q15%_lrQUcesDl -z`_V5XnK?;ABRW=K+wq8*zrMFrSw+y-VbV`5)i(~&>o|#}%9@yC?3Wj~#w&imMCBRJ -z=l!(MJcREolRi5dVHZ|vi_W1tUtS2>ksqec4%6L7T-_7tDxF}E*6Tk@tFLnSS=4ua -z7G^=^(EY6Xg^&*o-OKQ0=#TBn=pKKhL79<<$>7{fLfvljPI*Gz;e{G{Z>b|K8m6a>b?*Plaa?tzxgnk;lG#3ke@ot+^|G9 -z8=-xhmm!Z2>6TP{`7tVY236Ot<#N!O;Bs{Xs6GW}!nvo)?$}9)c~_;Yd@_H|5warR -zmm5Xg*fvmGpp2f{)7(VQZi}AP{$D9eo8o>g%j?2N=ErS`G_(?Z*3R|b>nmjW#Dnr5 -zUdapQu_NQgPRjI)cW9+o^mfeQMf*M@g7j7R-wy2odn>rUljJS6lOKd1Bjd*2CP+V9 -zS$MZen3e;{{Y!vZm!mpvy}aI!D-g% -zza2W6FWwuv8AROxLOV^Pxj*B#lI|i-u*~$cWYYEkOF*>0JANxONQqL5<@Mk*kjHka -zpN}wh5YJOjc&DoKmv>c?_0`e&GoL?lKXJ4=^Qq1~cRU;QnzPPxbb}70%UaNXu_L7E -z%f_SC`A)h`hDK+L@`-aj2IH7hnimMp_oYz|I{WB#9H-uYsJD(2G0W?CM!i2(Z#@IP -zWKEU6>xHzZh3DV559zb%ZB|tA_4=%=t$vfT&YIp{B+)A#zC+m($-JJfOxZG!q)^Go -zc1KzGipu<(bTn@Fk#TdU&vIpdCo|}5Zfx#KmEWM#=(7ARvP1jV`{(=di2R*2pw;Gn -zlzK*bS~{CS_c4N|enV$7)Xg5w-j=q=ZfViB%Y)vZtrQ#V_@mWTL#HB!%C2#Tne`Zj;RPHgx&cIV -zb%!J()>Z7iplh#d#a#=y_OtN(NTL$jMyIn8keqq4Lhn~~ZH;lFVP_fayw0ISc4-uScu7bHgq)KFWCEnBrwO3jFO5=C%Kjy~9M<18 -z@SUk`5647lc84`a*j^?+N$#pc3){77?&Neaj -zuR?mRbCx|tZ{Zq$xP7gs=uY-j7^lGr+*S;2qj37SP*yL;q}MVw;OO?jThd-cg0$|5Mz8YIGfCWFbsN3@8fxA=ArzRy09GZ -zW$k#>GnsZSr24!TC>i^TXgBGd2{c@8p)Im~RdQa!a$XExV-cBnRz;gAcjBsSSuOn7$)%S -zK6;q$)fFAbgsisLUe50h)QMXT7}V)f+xC9Icm`}1)jay387A*I6 -zY12@=_t_HC{hjMr?8;BNfOyrT6}wNDdMvjmx&gYK3mvdOtw2j!#qMQ#KbhglH4Sq8 -z3F4-Iskp$nz;;@3&Y`-~jkn$c;`ICp+WdRCwf2M?a6G;r2o&cWp*wTL%>uVrV09qC -zxTaPBaNYpiT-Es1*L|Gsu;leOiv}9m5T=YwR5>mq)jP*>Q7)#e}R7WlXJLtu>iMi7l8FzvVX1+ -zvOM%B1PZenok92=XQ^U{gGG4HnGKQ{ -zAVj1qnV(lMlz7_szP!cYZxS^+9#i0dD+ZyvGzNW}b)L?(mT`{~*Gt-%P!=G|^xm%H -zb@Wo&jwSH7!b5h}%JN(SW{`G6ywxw+cO*;?zJ40?1K$?415M=Ce -z=qqneUY;TCGGtYGodwN*_V|fz_vP6`^YRw9@z!PkzQzmd^5y%zFW(M6SicXpiw`!> -z2h00l^EI#T*IaK~vi&tS*Q*jX8TazSdgs-6`?tu~hXuYq3=%JFZy)TBzI+R7yn18@ -z8j^=&U(EG@5%b+kLp!Y(3!m)}YVg>Kf86yma)9iwh(E#*bPm3MQy((dHsPJ`XqQ6Y -z&&Z^?9*-r@C$T1uk@bqx2RTOqOE{JPI>{w!M -z#f!Vl^S0tl`L<$z5&DT|Q -zenCs=59m{x8JVorlPPd}O+gOGMk(?gP=z&+;vJgOmuVtJqMRa}BKy)-^zWMm9NUI} -zo$#-_-2dxG?SBONe}>zC^%nR>L&(aV?#uM~6mU-sa8Dh7uurFwX49DO&wyv%PfZq~ -zPF|EJ@Y*(@HxRFdGS~_c;CJBwB#)0kaUL9PYiBf0p+$ruN>O??QQ-avhtRX4J8&gWu#95toi7_Q3^kUYig)xwUpDPGWx_``zug3R3 -zRF^iTDVKi+iIanP`#6f+|Eu+U?i#(+xkogm#ks5l$1WO>{YeQ+)9N0?5v~jf+5*Qn -zX9r1t!BR6(Ub|xhYK`9DlR1qG2z*n>oK}?i$-`t%jR7Tlx_*PQCzWUVwZcy26#XcxX$`qnG{V@|JcjydSxT~ -z1=JnAVuYNfG;03+efbac<@d`~4w3y*a+MVxnTq0t9T`YTJAya*IE|IWnSP^((-`4@ -zHVK`ETlALMaO!BBXj3TTg*bZTgml>>s;2>5y&XC$Al@c8*_Aj((Jm5Y^>mWvg+;XYulhxFB+ -zd+H`w<11l(3m!Rzm>VJVjW%HJSB;^YJ-qf?-MKB-1r$EB<(Z~S+`{DN0*=!v-O1ge -zqXkj%3Pz1sa+E!Z>9&gw-?Ml7;M5+Ic;|@nAM(L}r;mU? -z=7Ud*mVHW!@qQ|x-X^p%9Pd>y-nV#k>|S#B0_I06hGp2RKG=+?m*#lW3$tfMy?bbl -z54ODzcFMPw2eyL`_P#IQjy~AOKG^SkurGYDoqVuweXyN5EGYGlegasI<7T%)|32aO -z!hE`O0xbZym{mO9>A6jBXemU0P*aw_#?X># -zL(Wmm%%PWzm$^lQ0sHJ|m5=vf2NiDmfDgwSA52Lfx*ZzIQ{n#L9t!X*Q99WZAx#Uv -zqh8S+@}`a&*23EpYFMX#IDYkg6P%t5U(&w}>{xBBWod(eexK=HVu|DXR4K>u<|e!v6`mEqA+J -z=zkdU)WQw^=gJ^|uJ8UAAUwtsei6dRkydp)0pU2n&*AU^`?M%}D%`98A&8G@DUFz_ -z?n3{A5LY!y+UFpC6Rn)?SqLW}-Fc7>?{u`2dV;L)5j|t%`|r^4s~w6wzs@--K`=5b-aKzKc`ym|l!0&@_g(rNk -zu>6c1>XgOWb)b+J-miC{JZj;6I$AZFufM803t`53U)KjZ&xi(QBZkqf7yIwgGf~v> -zuOrdAI{oS}+6>K-;@+{hZ->3C`s2)hN*}amST;}hl%COx -zdp`xKH}a2vsC|+w=}DgANgZuA1xeq$2XwFB@>7EX-#|I~U3$U19sb=7|L)*2^?&Gn -z=AF8dYvKAl7t%k4=S%mafaTuEP(sz)^H2D`pPBsoarnNOf9HE1;nv?MlSx4 -zeFKL$JugD4du6I8;Cm%}=ewWRr*fO!ccaD6?q_s=?whe&okqyR5w10Q`%cK438Orzj?5aXBt&+96W3u0&KpOYG~Tkt)@fB-PXv9UHNoh$ -z#Iqz*VfRnckT;I8lOXmKh;_Q}gSJ?3o4uwxd1z1l8+@LPw4i*3?CYUcn#*_JuWy6e -zDjL3jYF~jZ3Gtby*YKGK>Y)1`F8>>}XVqdKAA`Bvfq%UOUpvFs-0p|q{CZFy%x+&B -zpmV#QgV3`O+6h8V_fsA7ovp9ukQrte2y_4#IcQJ(1o -z_E{`PiVbh-n5zJ}c7a2`XuqKs?bkWaP3L*u2ns#XI{31CHq}x8XK{8p>oS1qqE7D3 -zGH1uWfKG=sFlbI>T$8Btf@sR&{t(QkIK>}hnFQWX^>iTXFoQK2{!lq>6RVJK%g6J7 -zx1V969eH-;#FHu->tW5A@)hAaXxrl)Cx%hXo*aE3F=XDbO^iemR=Q4`)ehLsxD1qd -zBg91$$kEu6Td@s7+|4{)W|R8ZLq>gE+?a9b<$8`$#QBZ+8^1BpHpqazAoDqCim7}p -z+r6;fVwOQ?(M7@CI|3(=+;&Hhy71P2*}BMylXBx`5o@d5{rJZ30Jr}3AZkn>m^qU~ -zD%vXyLbng@p6SDwn@J?n9zko{c%NqS7fh734I!?5fUiC;@yP(khoqd(TFrf5!78=- -z;Cp!9Z)!E4@7+nVt$6;v4X5pYYTkm9d3n_Trn@yHXtiGRU2f6KG1qW9*CzP>SkR7B -zLqeayu>~v(t^BA~N2^iU&uSTU8bo{-oCr$KZhA=2JEB}h_ORa3lk(j@{_QXfUbNQw -z;Jc21zbE11OmRYG`c#9j_3QVr-_h#s=1nQw^zwg!Pf|kc!KKg=xkkm)A-<7sK -zc+boOCJ0Y)kKqha^m~Lh8VJ|29zq@PT1qlsqc+F8zPs*#kl@>)EcIPIE^X&S+aP`_ -zx1Im4*3?tG~CrV^DtZU-`CM2 -z2EKa#0$cYg+^+radVIxy9u-n_=LbON?-Q`4KT|dTCwSrZ9s#ed2Y!!-6kqQHpUm?t -zU%uS}!)21^`rzFo;1~JeJtN?k`{4Nz@T-0B*(2cB``}JsxJ>jW-?$V4!}%q*`rv&d -z;7>Czd`}l{$g})zZ~o5yfZgSn2|wtCoAU$1WxkL3+P`2#|DFkdm1Rwodk8FAAE4Dt -z4Sn&<*cg5BpoW4<|Id)3ud%$|fS2~3>iX$M*qngZhQu4*eCFJMm+$Z|AFLQ49(mw< -zURZXofY%PhC%(4)J|N_vV%)y+!aC;#yt2X{efjqG_2E|^Y@x3YT3GRxe}OaDV8Y)Y -ziwPc#MUoyr_8~}ryD{g-L0YOY^v_;H96|vDyf{X=1Octq(wHu-_6?bz#+8PMlAlXI -z$zk;-!meDVGZ0Jb${#Ssb%h1)H_*8%*|ktwpoST!i{T5@zUE(nD!z;Ym71@l -z&OEeDeL2^EEpxPpQD|dKyg8K;P?n#ukW?9D`V$WPf4j$=6K51!byl*U3AYgIyFzOK -zzMl(w<;+f4*sCZ~G3JzGnN>05@K?*w7z~+_IJY)zKOV+VIxcJmp~q&l|Bkv&Z*j;t -zneJg88iOIqt*X=Y(#tN|Y$P${(60C4DD%UTM{8++jNc@tSmBySUuQqLZx-8s4V!$N -z@V@G!zXJ9%HYV_hkhDKN5Jp@6Vr?0GjZ^^z7GP6p65`Ga8{B&Gx%dk=;5qoq7CX;| -zt8$C8k0cic2hHzLCmyiv@9{TKGSB9Ds&ulfr8!LUvl&B~>STar^!yyg0MeOjPCzY; -zZ9^-6NZWk$RrCYH6r#)yvMF)q5Y`^3C$hYNGnc^F&w?IDgC%n;{6>PSmcA7TXtI?- -z*-9c?Nf-A#8(tXn+DJY@tueaTzA0?}U)$2b@6*CUpRm{bP0!gCq|f>da5~EP9dG`J -z&qF}!e4YzwC*iu834JlpGVM;9XyNbhm*%H`>uic0CdV`!L!Q)+F`vkuNU1#~&0~^J -zrj8*H!)=;dw3P4Ds;EUu-A^acE5O(o^R@M=u#z2XEG}hU*oN!nSyrF{K5u5OEN@P` -z@@9j1@#S0G^DoHMiZSFldl$eKaM?_dsk6*V-eEe^p^s=GZ#wRg-QvQVLIvra{;Q6E -zuUUJi|E7!g8Wz0`wN43Y8V6ZM3tDKytx@J=ag9rM-_bSB=P>yR6|^!z0k4b;8t(zf -zfp$k9aC6oS%b5_me?g~H4d(C)9QgnanhNW8e<)9(5Gtxrb%yc_?OFaBjW{%c=6 -z%G*W!7rOTzcq6RzL!Jj3?|Ha8nns>~vs|t!V*jPmQ;{Ay#cCbDukH%_y(rq@R=O;H -z*tD?Wup} -zDbJ-X-85hGG@lPkgMS-G)IR&xXJc(+XfU-MMn+#BT(9B> -zOV;<1uiR!|xt}y?o;6^|SJEAS5y3lGb?dTjZ+eVpo;5LY9)I-BBf@4z6fXDih_`t~ -z>nC?T;NMQ}c>UxXuO2u4=MB{Rn_I8a{GTi9&D)=FUl6zP_hS}44~C@B0IO#-e1|0e -z>)zaR17pu=)c-Os`?>93=WGAsh}0ppe~`KrqO61dOIe4zW&Ou@{`~iUJ|zC1;*>9! -zqvblnF}0GnnZi?F`7JO0oe)vFCw$*(USB;fjp|Qhj+W*uf0|IoC~1c4z-_26=gKjg -zYku$3(|RMM;{WZ7zc8ZolYa2U_kN>%)O_lTS2RH0{KgmmuaJuW(HDQITmE;x_$wpo -zZdvD>+w0u;pM3E*MATb<)}MuCbzP)T@KtU;u~x#I(?Q7X5us-#crhuMfr9;`Ua)__ -zS9JE5aE2DsU+Km4*Lt7*8T|X4zp*XAtQQ+T)(hjm(F={A>V-`|)C*1D>BY=XdRfo? -zg^0j?9QzAs(`KYM{Tb)k_NG7A+i5-AF^g)rHW|Q6=I)yM#&leN^9gE3-BFYDLcRR; -zCO{o%3u=vS7OD({)6PTo -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 -zepc2q3SH>&2bmx5t)x$lQ|9gfF -zbZ!%yzP0oBR(@(C?edj{(%e_!|Csi*&@BY5g!is$fjLA!&JV?+{QX=5>8A%$&R-dS -z!n5i`S_ya~TAI2$X!3En0=|C<4yZg)ltev9N}cD2w1Y%FUfJLHn4|+Ofiq|v`+RJI -zSf90g6>7uoRm3F;m;2uw7vb|EKJ$T>mfs?#-hyq7xIa)1SsIak(DAP&ruc+gF=g)y -z|E9!*UI1Ed9v|71smyEp=4C>E=>)(bl$?F5n83#?$r6AJbnYc(?aDX9w3v8L -zJCHp$l!JMBB~(x5LzxyG?76VAs~i1zoL8A5!Vg2qJ{7)kbv_%K&Us$vRd#W2MFQ5v -zVJ`v^X -z;dTxbChrU}ja=h>p%w}BP2Qe=6sOl$hkfbWVeGsNdEZ67>979#=A_gv9&M(`mk^l{nKet~G>zcTHZujI7M% -z$t7f^wlZA+Xqo4DHk7+P_Y*dg6;iVpYF7xV56*HuqYFzir-YihPKL$(%^V7+ZOPo2 -zrz_b*JhZC_nI`^1FAnChfjIZ|ZZGAbaWcm-SeiM8hX(9JIE+d8^UUk;~GZ&bTO5@-3IJ`?cubT-Ifj5`^0o#zUxQi8}Q{j4f1s{oDW^|=36-;-;gig -zd5~|1VfEoS-U<13=KJdqSdmV48#ZV^Qmexn-W$%sefTOJN3MX}yRv-q&dmBIm&SL< -zyTDAp6t-zU*>hOB9a%rrUXH^S@5K4dPBW}dyBjEqe$qWG#Wcu&^*c}884$M}i@WbD -zAB_n+HV*W@ooqyUv)eN~V@u}#JcrZV#n+Oc#9=Lw0l+0gByU|ow$>O>09TO3*~3Gq -zAFk-H7h}TK5%(btqr>%PVOFFrX?7-*XqPpmcnb7)S&HdAN|;`-JW@QbU(zD4l(ZM1nEsrXWaItZ{PKWvL2gKzd{~=Zh@~8+qX-cxOUHbJ3E<> -zP*IfOnK%Qz)3;|GTtnKK-UVM_(qTYs7sPU(038~({*N)nty5uYu16AfW_B@Q1G*1r -z@k|ZomXb&VS6!Z93Os*=|Gc0GL+UDdu5ewyxS+exyS8Itdv}$(D`l;%4&;}mc4T6_ -zlj0r+OhM;=u_g1WF!wUl5ENnit#E@6rymoSHpooe7Zt>>5!M&->Om@ -z@Z6YYL>c-aY=P75Pq7?-U;J#mjU<^`3%R(o7hywxPBItjd^9Hfzjd>GvX`w)<CTW)mKn`SiGwd;KXk -zT;{KQ*BzZTUH`3eD0^JSjK0HP|^j$Zko5<-q)wTy>$_A{{193^w -zUST1BW{`UY1d6%ABH -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 -zQU+uXLFskBO@!X_&3x|v -zDCZTeVZ9{%iK#p -zf3DYl8gP`%dx#}qsmh+pf1utY`JQ?<7Ul0H@!kgfRTKED#_`uJfhtOWu`YsM0dl)? -z{_(?NKXIOf0eI`=J&E(U*iVZj?kaD%P{l-Ykt`+Lu -zht}XKduhU-2*-r4F8dLGO(j!g2_K86_)Xk9?+;A)V{_(-(MQT3F(aG-%1;V`t5J>} -zi5XyAcRk1bhdT?!49vtCFdvKKi{9J2GHcuQNl<1#U&FAP=Pj0B@`R#*d!@Ein(z|u -z8jE-r;2&6OKR=shqK4DL#qyiuVjnpD{p!T)U+nwheWEa%6HL;7H~$Z;{Dyh6q&UOz -zP2C?D?vnDG4}>>+;0Ji%>ilX?3OggcaAsLal>Q=*sxN&2>r3MqatoXxnP6YK#88sa -zmp+&&yM=^wB?UjVWZ%a1q^2TIwMVQiybo9L@qV4@v@KQTp4hs3VjFm3>n#fqM|dM< -zXtXQyiB*klT66e8vu^^Xh -z9V_ms_kHGxb1JNwm;lX!{w36eyN3M -zSs&u$q~hy;&SP;>*5N!eDRemTg#z}$nO9zicnSvuRg{`QoV|xrMF!uUE&R=i&A&U) -zdy0uNaW@ohSpsJl_t#Rgw~RYt&%Tala)9fo3r^;xNvW&f>BU*v=$KLXSBB(Yp>(Sy -zJ_P@t6rV5rfvxlM6t7Pzp5i`C+2TaV%}Id^4zH_!`oGkLYbd8``4rcHDC@4I)T`|G -z<62g#4Q?tmW|hOo>>%WZ>>NK%Qk68v%l%MT@_C7C1mYYCos>tC!cJz%d?KcC`lCG< -zCdH=xSTPOve0mYfq_@$r#A|4l<3anfjDd7qv2kCv4X57j$DI5%@@$@B5vB-0icJAq -zNCT#Spkuu`A5Zo*cl-vK_iS7(&&EEwguf*iem1_J6g>5IeIw!kPKLHSbgubY2^d9A -z2OJf!wn6hUe0iZeY52BZsZDV%B$uy}K6|N0SMT$rvKfdNVlSSlu+kAz>;+5_>(_j5 -z?Y~b7c}K5#Aj5YasQ(A2H0d(|w=@rCN*@V-ae-fx!rlPBhRFf7X?3=+Ib745a|GaI -zM++K@c&Gy{jW!(4(2F0oyj@3sl79$@@2%i_6GMEr!T#He&DM~&AWCX6Ct_Mz&UnBV -zMLCMkj^&8&8eWe0PQsk-$+|gS1XN+;5nQ7a&x#C6EveIR1mbv|ug1Cz)aWY9gp-zk -z;;SAx>f1ae*QvGq@1u_JypP(%Qh4g&0uMFMBwkxSjh56UwT@tp`6uYliCk`gI#WtA -zVsT14=hO9>XbJoleK9%a5v+yVw)mRkxJUXVSY;iyHcRrH8~(%`8+x5AWlxFeRN0Ee -zG+RNM#axDQ1mNOtQ(X0gTOPb1k|yH0*{Mw=X8$(7y8Am&|}2F -z_r9y!Qg42a^1Sa7^FK$;oplt9*K(Be$83*1p*~B|sAu?S)Ol|FslNDq-1yU&*WSVY -zmXJBLYZGC=oddJigg&GgdS~c0Phu$7#<#da1Acc6e-Y00cc2b@gR9AuL0&q(zty%zktaxh^5*%hB|AK? -zw78%Ztn)=V^3=z2q<*+1-s>w -zZ`t0*`6J31xo)~ftQ$L}-tm@CfU@t1?c-@_yHKt1O;gg|cf%$8Y*aXmV_z)!EwzcP -zXN_-}k~UbZOGm7ck?s54h`l~JC3rK4@tK@1f|HJlGnsncwQZep{m3z|ADw9_sUv3| -z&4m9O$6Us>3rhBXX50&E5g_7JQ+?b)j(f4;XolW*A-!&LDui=Uziu&MkJ+cQZFql= -zf>_+&CHsX~0}*mpq5G3hiS^}V%VR4wS7^O<1|6_}AJRD2eJPu!A!m9*yo;bdglNYe -z?${l-!Lgf{Quaxv#f4uh=>sgK^bnUx{9}t+v1^Zp9llI|lxK?a90;Qnqn>OE_x+DC -z)KAFP`uFjHZd)!Jr7e<2>(0S4=Dj11N(uTTZ(oGxTuAxwcI=~>uo;qo_48*TqqEOu -zw(?xlC2gIir+w>xgpBlI4`!#$O!smPOI4CqI>O -zt#BLO5Rb5b@;gV>_X|=A-@|=Swu54D-CjyA1^9GMHyz7mXJKgJpIN7DA+)a(+Lv7w -zBdi>A7T4w;GWW_59zFxYKxcK9SCcdS4CqxIMY&6i)M-yw)#+OW2D6Oi&}*ky=jOy( -z;?{$0N^|=QXv=@INy=`_f^RI2^Wxow{&8+ITRh%>&&vJ$TT02+&SYvF@o!~H*_}C_ -zq1_p7Nl@CIQE6^VNqaGvChf05m4CNNBksge?atiqPvaYJrgVu?LRZttE@SBVRJ>oG -zBu4@$mMqU3>Ok56(v-}MJ4$H%JVDDTRE+A!vu&u#HY(F;ms?UP{SZaMe5( -z8}5T;oqIka{P~!AEst9GRJ~>P_`u_`S#RH_jXsaxq?FyB^L%pMf4lJ)FmF44Nhw)9 -zw&PjZ4uj{<=pwZ$gI20HH|P7x4!H3r_~I*n-1yUd@unMpp)bD5jX%a0U+2c3>x&;( -zsm{IQe0YDO8-Ix}enO=>D=uZqCeS6UY+GuJN--zGN8)qR0wwaftGJ~+8%oKtPcuSKNk@d7UAD -z-m+GZe*JigI!Da_VL+b0{A~vMR}nd$jfoTn$uBq`W-h2f5zvJXhEgo8(bpz2Ikr(uDd9Gtwp#e -z8AA50l<&Aaww*3y1^aw_9Ssy2+IBjX71O7&J{$058}MMb%~I&wE`2;J>(MY`SOaE4>Y!LEO_CH)F -zXS%W+c)ah8>Z(d{P9o{>7DSptC2AwnJ6jYu)qZFH%N2zSjGW -zVVxZNqV*Ss<>S}~xjt0M-kRAyoA+P(+A)O<_rdj@58gJSA3yov9lm~W|BSM&e?@u) -z8?ZNpb{6%^S=sOGZ7@z;7t+3*Iq55qCXR_SXDZ8jcru|XK|?s^RSdm+cxl2|mAYrE -zxJ|49`T< -zuYq#6;B7^mHcJGLQKcQf!L;YNe`%Gz{KP6XM%PGQRZ+XzGe#|LS=T~Y*LlkN^N6xK -z+_J87%evOXw`_EMs$CELyJ*CGPpk66533mtpXGxeJ_5dz4}Kvl`)m{N-KvyM0K)&o -z^V>9|;r%xbPEv(<|V9b$41a$MOkJ&nINoQb;xa|*cvbFG#~6{U%s<_f3Q_P*pI$Gtn|Uo_vJgzS6|$uz&c*;YDA*e|vl|^krX$-RpzB -z>dSYkufDgv`^vuGcZYFbz*P$0!IgeF6TG7>V|3V_{>Znd50-m+GuYE1*wdS7C3DaC -z@N?n|-=03GX867Gtq;C*1pG%I{K^sc(yu=FQ6ute)n543Bk~7*@M}iE+rP6s@M}lF -z*D!DX>qfw%zVgo>e*sVW;FpeopBnPQ4;j(FYG3{fM&z&a!7m;G-^2$$Vnq23KKNxL -z@;CY5hmN=>_W9mBepigRhc@@+|H}w?)(1bb#_JoDzr(0jKCUJKUd(-cXxGC%SWf{9 -z)OxtDk2GnbA?Yu3n`-HAv3~{N=a$uhoS6RW8G53`vg`EEe>xi)=SJomJ12HA7%gRg -zYRWS7>9&Gl9%sSztf9UT88qK&LJi$rf*M6{nOQ9pjs@$;vsHEU?I3zwG`U@TPA5u# -zi<^0HnMvPx&&iW&Y>$n<9jg^i_&4VDfx++9YPHY*25r7Gj<5tk_!t4~K>U5@Mpj2} -zo`s&dg$=3#e}%aV2sN@ZBKc&7p#K2$`|hm0ktr&&U#sBOnb22z -zt6BD~jjzTx(wuj1WX^jxu>AYCvHS^&PcJL~CD}8in@b7WuMqb^gtzyN>8(3e}-&vvhHdd&)-Gdwcty=Qpp^bt!6y)PEWPTj?uC-OFU2-IEkv2hp -z2>IWw-C3>Zv>SZ(kM6A&^i`jAGZW*D6zYn&f90N -zH^c`>dte&LPrivcQ*PiEn^5x~EjBGBk-+LeAZX2PSsEtJ=+%_ -zGreSA2Q3&fKZ|?)-+WQ6ctd~nt?6&%8EBg)QPhzTmK4ht6qEA*quKKQU*8=oee0jA -zh2BuvP9*A7*KmEW@m$~QI;o?Dd+S0be{@0k+YZJxv_8RgFKAz_CPk+3^@YAkP+Ly^ -zYD4B}p)hKgGHTE{!R_0!<6)N1#JEsyU!Zcgrzdnof}}ojB1J0jZZgz)Rw#U3G+4^+ -zVblO7k}*){v-Jtsd(kPo!^$`wwd*r)CyerY%q-kZUOz+Lek(hw>iw`)Bjhk8fAiCT -z7}ql?+8aV$KBs;UR<@Cog|WXJ&lF`hMYFo_J%;6bV~jqe#rpoMZ+(xeQMlNhQ05^_ -z$nUm@DfykkJsZ90dJkoG*XZds_oX{*L^{{kov+@*N7U=Z)640O-C(*7UwOxEFx_^( -zbbpfRwj9xq8NPlTDf=-p-LAfLe@Bf-=jw*|>RmRXUbVO8X$t>1xLT5=8!e-4W{k`VXa>%~0dNxSe-fa^>xMxy -z-zD5P9cbge+}AT%+3%XbwT`YCiEG_C3a+KfJGn;c-kMpi*My}W&4`aLb#z4GGYCC~ -zdG&WHezK(QZZq0#<1=-#nra~iWf -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 -z;H#2{@k2uJIV>M9ba|H}P@)VXv> -zwvZ^>tHH5aR;PTTya%+%9tq(aMEFEGp-$MpMCv8y%qM@LWv?>*>`JOU#vl$fo%FM7 -zDf&X`qKMUe2l&f1p756tf4&;R%VqdA2wz3}jr~O$1LHnp%Ii#d9R6IV^wvM+HrYz% -z!UUCP5x2!%Cu}o1S%lYcYDM?>jLA2D#>##+ijb;g-)ab-NLkL+6<#G&Jbv|4SX*}3 -zFgYK*Qya+6Ni+leBm-Z3ZX0FX`beYZWF?hjzMH@mxtk_yrvvtzf3Q-D07tKj-@$i1 -znMJL&);9y$>tQ`R&95>i_ZH`aS87h{t0)~w2um=%TCw#_^xp%cS_!A#n~>@bql*X| -zQ#hZipwH)Xy|Zti&po`)0Z*U%>Ao^ -zd*<-?>BHi`V)_2>e>f%MKpI&a&Cmai`xr5`eE*jc`jrRzrG#Q0XWrM`GlI#}IP<=6 -zLtnE&^Bo;`#~MN?LNJUc?ixy|Gyf}Q@t169)04KrnKTonL{CWUNH>w8t|>D$Lo|VIUb-~Bk6NiG~Z<2G|$xuf1c4|^H+n)os4+Q#|g2o -zOXepDub%%ab?lu2C0bsE5tfB -zj@7mBm0^o*5)igN5)yxX2kN`7a}kyb2Rvg004HD0dD1 -z239>MzoPi{e>VSG9*swx%Rc4UZ+kq)@gu;JYbZh@**e+m)MRYw&BiR-s{A;9FmnTMmao6%$-4^t0t$`zb?T -zZqWO=f4RgT@_jB_pYBY@JZcR0M|TEL7TuACP} -zGypg83K-GQB+|R$Th<;L&o!V9hIw~Z!0OK)9NO1#uEBkA0Qamic|6?i)v#xlw!<1* -zl}8v_Nuf(KdMY5iGA)F@y0u&bGhj?2lHxJ)e{%ruSeH8ia-aph9j68YT;p?7^a#~E -zKyt?m3UsO=;@e;(oU1=)*s8O+N5mf(;>5_YYoz(VyvDYs8xiG6oes7IliW}HVcf#W -zrX1s1`Op*#aEtWo!63~5?L0nkH$`7o@QYHXioY54Q6UqE^1T+}yULJz?Q)2%1L|FT -zf1y+WeaE4U>S@wc@xSFRY#_Jd*PuSVF8Nyjhqf<)Z=<*#p4r{m)k?OtS|4%jI9|zi -zEa#NvII#l;=i~^7qpSgA1HvJsK#^sWgd+ul0|_l{NeE}4l&jE|%LW1^+)&PzmZKak -zP@w-73N8PpT%{Ds_ukBow6Y!A@AvyYe}2T;oq0R=%sb~jzYcA7wdWfP&KN<{*>L9c -z+VIAuTOWFN$!+f>f_Lt->Mn+{xF+k=M>j2~mNppw3pCZLu%D*t%;o((mnY-kEvptZ -z6Vg0M?i&cp?Xy4f`R_v-N5}%(!L#Q!Y(c8G4lZe|JI5 -zNcU@CWF4rZ6LtKfAnrH!cTnxo#EE~v3cf5Xo?QAb)Y%%smtw}*PsdoRZW3~07)@vq -zfA6I#^Vid#8>7$0)w8Br-VOgOSI=h!^|(oRkKy|hD6LU8#D-(}nm?PMW~md&REx3Y -zbgGgc^K~-axrJFI55FM?|5FcMf8eAibk8S-bzzw1Y+poK!`0GX#zo<={ydKI?4p1M -zQL@gtVTb#K5VXXWYN2<*Jp1q2#BkW65g%{x-D*j1FH`dL_NFk>+w#umMF7)`yjSNY -z1=o13wn>R-PUo`<`WmR!o`o+zE<>s*qM?R3ufMBO_SQX(9qc=Vzk(BxDQAwQ@V_MV;$Ppws<{T52ZQ>}1{;nG&OG>N$uZ4lA9s5Z5^f>m^wsKOPWb?8Klk~!V|5_PoIx?Zla+Ibdm3Tx;8)sUVtx4*>Yi4_M4qKol3>7&v{0Z@Hg? -z31H@UFwE2QyiqOg&vjFSwb2T~xqmyG_<7h-QM;y-thEIyj>B%gD=hSW|JK43t+NCt -zDD*wj?pWG*yffNM(nf*$;Jf@4L)@uHx(jO*R&Br -z!wHpR_4efx)EDyZ;9Vt_Ke+Z@cd;K5e3f_te-hu^h#qhQWPQrCze6!(gF}$6| -z-y-m~1Y>RSw=d!3xdOR2+NWlnZ&U*2rWW(_2^~`;FL4)Iu|j3^jB+pKex5Q++!VgO#PQM-PPsz% -zeZtwonqi}ZFfme(PEbBfgA -z;#k{GQYj~P7itnq$;kw*!{QOF`N41${qfp37c*@I?OyrwEL$m%qph1F^wp>fwRrCc -z=kIYeXs-JluBoRC;?;vND7VE^ -zGNnKr(UbywN>u3CZIqF|h!9+&tEM!le{qTokrCC?!xNGJ3!XpdC@hJ;fc=VLJ-)Pr -zQ0^(B3_V4(X=Nn!(&t+D%Q|3ghqy1}mrKIP1-0pwB=z#=+Q{m7sr!=H7s%Hj?~+_? -ze-e@Q3{OKZx$esfb6*koZatI)T-YlDL#`*?FNayX9)VLmOx)inEVXPd89A&6{-%~T -zlaYoV_!}>Fe-oTA$9;t|_f>`2lkFFANcrUSV}8b%*s=%%ki69)Gow#UstQ3PsxMGA)s@{>am? -ztOVzN|CD=g#+x>Y40~G%mb^t33!it>U>JF`55gthO$wkDV7>Y8!C>l(Qv_X#f4ZWK -zdqWugRmix}Z+K^BiU!z7a}WH@I6K3ZcV-&=yFbhCbw<|eH}c&U;5Xa=Ur!M<^jhO4 -zo-Xb8znbFd=@HL$o>=KD&RE+~!m9MxP=`3h?JqbNHe{W}?Sdo?5UTO&!ze19KM70! -z8rZM08ZQox4YZ0f34Z^rwJW70e+8u?{zY7lC&4@gsg^sS7NlB63u-$%tmNeA{Qi!t -zk8^~#^4?3koM|-@UjU!acd88y)T|jjRlU>=`-`DxWOpgl -z$0m_CRfP^Y-wL;qb{ZlW(KT*h-jH=>nBjTIpU;8kml%EvJBxqG__?R~f9y8q*9bae -zzzG5O(_@!GkH7G2$~T6cg80duH9|IyBaPD5FSQDKgp%nj*43yVZrK>P2rGn>xay!9 -z&yT4^0aM0Ensm~P^K(Y|sdbLh3+ZXH(3iF^r2R`18e@@`buJDIO|e#h+ufQ%+#X?h -z+%DyQN7l$VnU{r8ub!W2f0W=ZjjQ>6qGIlbmf@C+qwx5cpD{9$d4y#HXZq*4rAzriqOujmu< -z&O5nAAZL?WGmchqTJ6GnGUrYJGj|Nk1rxx`vz-FJ#TSi-NzAu}f1hGG2Rp{YSZy}R -z)rBzE)Cix7eRdc|$mUp@a_Q0M1kcY@46#2@4>?rjf1Wy%;Z2hDUR%W2Jyzqz40NC#+Djey+e4?Z0qbWaitirLGc}S= -zs9-K}n9y0>UE=psC1ohTu8}g73gF?@VtLmQ^IocvdcR60{m4vWCAs#z0r{=GJ(Xyh?M1~h(~cn -z;Zp-E@-^R@#rM~}H7jn9)bMo|&+RWMAKPcDu%WfN1OxVQ^HgRms#P#vTXC322(_-% -z6i$Ooe`A=NvFf-FK9q6by{v^fxe}MJ6v;g}l}S0Kv{PH=_18%(P=v0(vzUe0aY -zC$A`7^h4Z@N%(BEyQWIsuhBaPk^!+dx~=J)^K-2xCcG`lm={M(^>A=HtkshJsqniR -zLF*2*qu}vvCvjc|BhffZTNISjiP+^s)-Ov?f2+{44!+QMEQ|LeG;b%{KUK&UGZy9d -z>AAGrsze_Od~^mn>x+{v&cT!t>17aO+{ZB*vvWDrSj)OGDi@v|kYZS^K-FSQZJ^HK -z8Phf~VM{GzmJUw!^ys8m`~RCB{@QejQ`S$FXIEGoa2oi%;-nMc-pZhF&P>bl{8V}I -zf6t~$SsW`12RwA8^u}Q+X`fIpGCox59D$Y3VC2ta%P$GC=@?!4UHO#G4 -z&nFT-<5X)+(7U~vM%s#tNQWLI-73_oYNR71EOTrX{wG*Uo7zG!?l`n=Q;{a%N+1Q> -zcf*EY>9$a)w7oPyO7U(lZ|Pb?e^G62bKkZ#Z+mxBWWOnK^$HvD}6q< -zA7?SNZ_ZdBgsJos3}XvpX8GZ-3(7kWSa*>7N*R0q*!1LpFHaTmG4U>Oz~{r-*qE_O -z5Zfs3DaBeciMyc0qmLFSfAJ3ylMv3!{1ItG((XlKEe;3#_+@AsLvI^UvO-JkGI1{d -zyts`=uDuEE81*(?c-z2Jxee9`T^JYV@_R95f2iHmvRzMvhc@*NISlVB+r-Vnll5Q; -za)9yTEd=94N}8~SNS#$R`cI+qZZYDo_n@y!kT=P~-UaFe$I;-Hf0hfN%wpgm=Mi@h -zW|Ai17si^-CNlQB7c&`P>w)V#n77MaTdcY38c~BnF`DyBP+5!~sALn*ga=74l;CE= -z+!JKR>1TL*6WeR#W?1?L{A8+-5v0k9G)+&S+0H4&Nh_v?Y1W#oVeG?N7E=#Vvd$~v -zI(VDO@^?}HJyqy?e{I05&z95y4+k|W-Ab)m20Oc=7*l3&4lJe|03|#XhLs5^n3{1a -zxmQucD=SosGE2O}H?7#!@!l=Wi9Tp0ig0eaJLj-=jt%D(p_Oc3=WIwzdTGr(t*5gY -z((1jmB&M;RrEoSc#q`+>Z>rBGZf7Isonz!6#a(1+*~D|+rQo9#TXK>ELPI4DD -zLHpjY9MZe6iS;d>F3)!2E^K6(#F7Bz%;Ug0wZdk++lJmKc!SH-a3n+=lw^^hp6Xy6 -zVclTtS<4^Ce@O6jZMBj|jur68`_y`LIn0%76{Gib%YPqiX|3G9jpFR!;}F*|4$^ei -zYd86L$wO)dZPrI&bR&Iq4$I5PyCLryE+?5;>=Jh=tPBQg(K;FBeM^hcVwPK*KTwSG -zix?Gc(W%mEi#V?hxrlY8CBhdD%7x}sE*A01KEN{2e*zWv2$q0)&+dh=w`et#JekN6 -zZM!8J<|Q(ICmltyR>8_(ArfP-GCIY|SW0>!6>~Dyz5!9f -z{?zRZYe_bpa0^&m2ac^XuaDh|SQ(`j;}MqcL0=(dSV9{^?n{({CA2V;AO*=whZ4GS -zCE#k!e>l^jghIYu>h`1zeyFzeKlYiwMQe4gdY -ze-pIz!?n^j7Hc9o`-jJC11K+dGS78T!KVf^rNmZ&qZOSKnC-D9%ep>!@Z_QyI -zk5w1JRrUXCti-e=OVcub^XF+;n|MBR -zeV5wWT1=eME(NK{TG|Cv$!AD60bhbK^_&LC!Tqmb&Oec3VRskUTzr%}hnKLtHRf19 -zE@Hku^Ty3}_F*=U>Ykv;(fH#m6qfbZab-!^e~+v8g9%}IxMoM%L@X_^i9o;We}!dy -zy2mmCj=cA}n1%On*D>hXNE89=ah@FvU&{*q#7zRzb7P^z8bYI*dAE*Wvrz`BTXqYos0HeyF1aK4M(}c?i7i -zvt2XvyVkTB8mH;;c2DbEw4$Jkf6>27w=ti!8;rD>B4$P(oy&UE7Iw!x^jn7|q8B_Y -zadjZ9N}Kg*PTpo+w`7b|FW#La>?yK|^Xw#W9~tL18)ZT~YBgF%am{mz0JTAZ+Mrt^ -zJ<(29PB(TwWo;onP6z9)Tf}ndTCKjljpD&KdZ&l9mTy-d5oHDkept+E7aAesDf( -zD`_Jh$7=%JYHb9_HlRvI+EEXU-?iyQ#H%fwx^FERd1z}WY{nyN>H9p*Yn8Pv9JW&T -zts~n);n22l$b8KzQMMV1HF8$w=pOdvJ)@VH&kT+G6 -zjxOj3GO}G|=oL-1HI#qOMY)pRNxYUbujMd?bidX~C-V`@a@(~i+CJ#DI^u|Z@yrV( -ze-B{`+rpriAdMf=yn+m%Sf8kxl@vI?14d)Vm*@(NAzR91~(%11< -zA6ad`qZqYhe=zY&cDN3+y(p!1vh9YVT^vv}+iW+06G$}Zj#)zPJZE9IKD=PpYw|@6*-iwD}|KKczUV6XQn7y+b=pCKL3?t`_9Ak*Y8KI(&uPEbjF>E961oe@yjdwJ<1!mXEhV-YAI6>n9x2vI -z%RVAnYyBdwLWc| -zm0%@N%*iDFODq*jyEYOjn}3QQ3T&J -zv#5=Uo$E~aC4(=ag(bE!OQA}KVvsxbe;Xcp+TId{74$a!1I|zDa1X4~%bBX2(|1i# -zq^Kf{Jt+#e1J?^DPh)(sSH9}m00SSIQk)i`aMVepXT>~bm-ek}W$2-#dnMEgyKMt} -zcjqZRE7ziot`SO^9Cz%-?v=PFihbW~n0)8yJw59PZI4@aDasRG3sR-$NH}qVe}S)( -z*U9&Fg7d!FF2NS#9g;S)p3wJNza8bh-aY4yCl^L6wuOC%RDyH>fK>h -zkp@cYT%P?_5>|tvRuWhju#a%|`B|g-X%8bR{plbd_4lyj<9Carf`00y3s|qRFZ0Vm -z%A=B&Sy({JR7a)mI>#?MABCL)e;GW+uJ3glIIn?A?1A%|ILdEeYR~0`_eMyH#w`)Wj-0)UQyxK -zBAZADqG~_n4JIxxOTt_rU2p+D!SBWZVxJvlLPk{TeY+ICt>844MHC8re-=>Yc(PmE -zgRsqvWyTtMM5!4dt!=X}A?;`zpS -zI2~F}llKNlI&?6k@mPcmy~l)^aTBLwo=2=@11>>q1;0UjhrJp?90e^YLL3FZ#Urn` -zX{FrvO&RlWJEUc-MlRb&e><gT9EB~xcFFb>=USsm%Rv>dt**>$cH4PiP&}q$q$h1e{PXxg*Hw)_|wm-U2k`tGZ6(?;}M3 -zW2z%X0Kb8e%_D2jnr)I6q(BG4(@ZVM?;KfLvX{Z?YPJ#zdMlB7h;K!O?dhO(YbD+R -z#5-eQ;v`Tb+D6Jqf33Pd*NJlf?{b;oUXd -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 -z?ZxP6kn?Sxv&LuJy1ha2`^mh+F_7$w%I#h* -zf;BT_wdnX3|4YQ@WAC-x8b9G{_d?#E_=z6e(-XqIJ+8coWm)ewj4kh(3E@6ykaxjP -zMBhP{uvZVlI)ADQ&~bM6W7qg6u*P>5tnm*Uggzv{#;XH`Yy5=V8eauzPw+ITJMl}) -zFTeUSx1Oiqtux-+{CYmodwa_AuV;OlT&MMcX#SgV>$x}w*H8dAc0K2HvW)?hU!Ca5 -zub%Spl?YdsD=$7FT+a4tnzZGD{yNWEj!$-y*Aq8=ZGRcgG`UAkm~am@j>|8Ufz8h4 -zdt>PQsv!T%;Mn|MTYmo))j3`5Nqf}iwoV%hGhUy&V4BqDo;*&UdosgRsn5-@LF<1e -zPo&SqoIg(fZ}qtuD6u6lR-cP4UOr9U+d!B(+!ula90p(es5i3m_cpq6PZY!{d(D_3iPtu|BG+)dfBH6^s-k?ljrxq*W!)qa&XzN#T!2! -zSAX8bc;mKlF)BLDd>p+OJz2QKDfdnr -zi&JKe!6^e1;FRn*obvN&5~s}OIAx#!r(`F@DbME4_We1o7}x_&c_{~XKmpuXobq}O -z?ofWtXZL_p{wD|5H6dIsu6*u1^4dQJuYc^$mE(SGIseF&GcX}u`S-Z|LcGEn$F`#o -zuM~~T&*K%Go6<(P?uNd0y-ywoH?dt>2a`O&{{;4=tEp|=vt8PtPghgd=(kIIr@$_) -zsd21b+FJp%OZ!7WXk!Ndqg~oNfr;$Wh9vd=k>-vBk+@A{I4jKcO*WvvkP^cq%C*arNb>-H<(1h#kuyOf?Jit-1J&AV% -z$OD`*h6j+m_VJBgoLF)qSf<)N~4G!*-xe^gWXq@ -zB|D3hwA#dNl#*zttOdDGl+9)6J%1I3PHs^}zw>g*nI@@daDrgP1xX)h4 -z;@Y6Is!HB_^mxQZA!875A<}KF^VWG4MoA!}+CZmmqD5!E%@_XXZ@NppZ=@~86^+8S -zBKJ)?{|(A0M@_ojNE>LIaRc4CPA@k}K}^n{F{z6?mCJ8}-d?!@%Docl)PIc)D)LLl -z##+*#4q2z5)(r6cg>d$NX-zVV%pqs(q^+chYzEj(+`rkrq&Bb#T5yUIAVITk>x`hS -z(7M*`c+X-8Z(3^^XHY>uCS^Lxe3QooNtupv-4-IQ&~*e -z4Aj}@mVtZRS+68vw;oISwY^9`TL7oRyHtf;f2zV`y*N}!kldTqfu#j9)>oAOIz-t> -z(2r3p@GWAuXFK;%;**Wxh!P19?r#gn^|3}lD>~UTpj|Db);I&bfPW}BH!*q!v?Zxv -z^y~SU0;{hb`eG}ks@2%4U_`c7rIDc29YDaoUt- -zVoZt{(l6(8jpFVt?!-D$ADkv`#nbblhHU4V3XK7Wt7?3o5^_!F*Zq_G@n!Ff5`M#{ -z@jZ9~S#eCPF4;YH8=?Pu -zk?!bOo;}9dFmo+AI}B-;(F<@0BP=k^kv16)Kx1rA$bWUC!=7CRzU3p@7JIpyAZ?~e -zeNk-#p5Lx6Xv<052O_rR8}N&;b4>0DI5OWlhPeG$;&O#YkX*Hqd*a7YTL7FV-Uk8v -zWG{fz?lr3N{0;RR$}=nal*JA1u~=4%$>UJ=<8#8~QO={{t=W4UjtnbLM>E!LYVbM) -zB-Sz9;(s28Z?jCi7lwD>hnHj$AJX}ntcFM!f@6Ik*L -z?-}gS)RNhYgI)UgC{a>)BOAF8K -z+<#tg;(Prh*z1${IeaE+#0t*g>*5}7WKHMi@R{g6F;W=M;-(zTyc|q*fn69Sw|I5J -znc>Xmr|y~P`#$2=P+?gCUS=pqJ2sh;c07;yaowG9A-8v}bD_2@*T4)}M@NJYIKxXn -zKQh+m?!9s8bN5`cx^9XS?rzXS954bv4*)^Zc0HMMCa{M}7#VMEUM16>$-SAo;ZtbYfX -z`iNR^hj@2f-ap<_aR2yIZ?3A86|9Q%>4T1{`TekcQIOv|E?;T#=O3BNm-PmkWWC=m -zsJEoxyQ6a7>E7NdYZ7r#v3IB^Dgg@kb?P=_|A!)+5^^pNqLlL6f?{y48nT{xVdDxsLPyg828u7=zv8n+*; -ze7!3t8Z+l4(;;%qJYQH%(oZ_VF;YRk`U)YxX(r%%i=VLwcTAJuD}>!>uYCb?oC_)T -z2tDy$NPDq=YLqz6wUAmuYL#p0koCHWoL(|f4*h<^Op>_eI1ejGQ`9OCD?`?)WeWG# -ziT>M8D@*#;^I((2kr#OW-G8#CpZ+^-T>hZx`24Y--6YSx@3CIx`?ZMl^1>y`O8*xQ1_3yZXQmqPkQe1ES*ucxrPmod!ASTESB?@Zm^B+r`*eSYi2 -znR-Q&@Dt!V7c!S(oy#K@UpE1shGh|qoz0*3j|j*?YrhC7h%tR_u77V^p>Ny9)$`*f -z&)1%_mAT|n-|39>$Tq0=AlO{9V7hnxvnu -ziwpd8-P}7YTLhyMy$d)BV>A2}eq%~j -z$tF4@3Q!U6aoi>CLVuoZ@?thxyLm(e)6*rr2~z;FumHXwqSPKA4|!?k0Th -z=2WM9?xifX^h##G)3SOVanHMm)v_N@uT^>`aZ<$9gPMCDet)sl6h1Gxk5le3l*bzF -zUPIi?Q2X)Fnl(u>x-NBm3mIKK--UU0w=tEDHsCFOm&h# -zjprRfuszsojmzr7WV9}0{nqB5(n^6EkBFy{MBMP+l#%F&m2v(AFn&I9x3|6roZrKI -z_0o%c{y+cGB!A<8UR>aF6@AFWmlsE$wK=dB-m0GmA9g -z%eKmOoEhi2K$K&Pg&bR~0Bmt7$1oZnfe-A(+zWAum+pGl*(NbI2vpyq2>RAJKzB(@ -z8-i7}Br+FP#GmcOh4+o8%XpFN;G4rD4yRc}Kb+~JAAfa``9Z%w!D-W_Kfx7|vAzcL -zc`I{yat+U%UTE7yJvnXjbQuSJtpa%wln7nM^16$8)4hAN&Tb8@=-X9V;6<~KUS8l= -zq(j!@{9W_M+FU$c;IDziN1CN{E0?qH#WKzkHR{uAFP|>=^VJ13Y1ed#Uv_-0+~=@y -za1+aO`hTWNy!!(WKOdR1G&2CN>FdsJ}_kKmnw9|+H)K&g%& -z6TdG0#9Y6A!2J4=f$2hK>{?d|UxkU&ZAc$R;S4dk%TItq3sW&Ejmm -zpMO84?oX1`eJy0<{*lM>J}0-0o8La~?&yHE%o`U8d-*unqjIqOje-5)bdP@Funh3g -zl?>tb9|L#exH5bB`of46UAgro{=0elSpC=E6{-Ka!l(bbeY)g3zX1O78=RM9p8o4@ -zZ{ORyvt1`dgpNVRz1$a(*;f(Tvn^YT07nXWV?XKbhdmYwLW%+B+lr#0P;dX$EMA%pEm6>3VT1-l`TQ=K -zulBCFn%V!dm6lzzNq^`HmRV6ow_I5i!rLm<(i%DO0IjCMAl^m^k@)0dHO`8Scz?K9 -zHD*+4z&kL*7)%(NtG0z8|AS(~xP$xt2Y7`v8g_MCaBq^_rIPsmvEV6+yXtC|?O7H% -zaT7lEYx^qLpG_AR(X`sB*ni9|7Vo2Fumf$Ie -zL>6$lG|;6d{(!~kHN~UF1Zbo2KGRJd1~%Rgo%^4lab0 -zOUkYxMZvZpU<-OGEmH%;q}k5D>4Vp&jWdAy_*fr=GyKd*1+NLttCN1n+%?y*HpAfQ -z>tXb-fs`Fw;=9Gf`EK)UW%u#oAf|Zywh&RzzA4mo2>dyykM#M@z^|sudw*w(xNKpE -zPY&#tLFhAtJYc{&jKdY4I-JUbv>~g(mg`f9_n@P>BhwrpmJnB1OUkwPN -zjV)ROKZO+T{bjK!^fXKO35zs~LQz(;D9$}BS)XVk!q-ynB@$07{$1iYDBX`!r_2y? -zvsz^xoFX4;Sn7at1hl<7c7Hi*QxJ!_rilE7UV~4D`HI46j@Vl9>Fk?ki2YVefs%qT -zx4bwr*tgj;gl%tk;)k4%>79EGLtDn9%*DXF;s{m3@70ipHrz{*x(6;5R*N#A$atOE -zL^84n&d6gT(E^&FeTI~cAI+sXJN6)JUzmeCrT}iNPWXTs636_2>wg%BoPMA)_?$V% -z!c$xuaMEUB8&Wg;=Nv}HInIMT*7VEWkDMX#tvC;R>?;{U^^Ym9e_VNKue{?6$~$p} -zl=pLP-zV?iR3Puqjw^4KSKgX}@=lu}`L-Ps>IKdomoN3)g1+B8!#l@ePBYd@q_qK0 -zrtnu8O015cZI`4IE`OLI<+azryibPT>+#ka=Y^)wlVJ@N@z|`jM}T2(jaWIk2)93;A^oX*S$~1{=dZA=^FrJqz1ELe -zPw7ppr|c(ePjTIt7w_RVC}TDs&mT`vZnLJW*nf}#t!4MwAL_l<$9jYo(wNWAka3=GhQ98OjE(dBLP7qY$K}6LkpJGe -z{MQTe-yfI%c0vAM$K}6MkpGv6jLRnX#$UXC%e%Wh)=q|Abnark_T4N-&V+OG?Fi2Q -z&CKs-;8SnUv?;{|eXP3H-BA8{d>^1aWRlDK#QypcV1HL)8@g^|cGQM-0IRR-4%k0I -z_`RKAJVEY~rFwt7ezNyXv}kc<;-QWp!_txh>0}Q|`)J -z_&ZbGt`V=?TNy^X6Xk9cy9rfeH;+fKh7{~4p9P^cX@qTT{ -zTZuk#4SyTXmQuVGN8F*i`B}hiLWTb!wO@OH+6=8*l(Hf%t^b_bpCR3JTp*~Y&4;-@ -zuH#&@v*b%+hmxB+NPp2`u)8lS -z>n|$O+ktyb7ahZGexBelr~(8nex6{#BD*H80+aP@HgQ{|QBRkoIn+BmiWO2w+u^yW -zB(4|_ro%_`yia*_DUtUnDGEd0L)a1>XmTvcc+mJ;zkV3EHc~3Q+JmC@8%Z$I77?}I -zh<~+L#TELybg`)QWnQw*OMV$@O&1?MQF^$v7*4j|R*hzsJ3;xbr -zX2x}V&p5v|mk}HdKGM$P=EtP1B*fnat$*pjI~3^|=N0ofNP#t+_(95KI -zx;Uxuj$)?!E_30f&{ixdvC}ML{q%8)-a{2yWTwfp+~(N~1W9ruj{H@?9TgFS!hgJt -zrpXHv=W399SDO54;#>x~JJaMB6X(LYZ`_?Gzn(ZZ2)Vn`-Uk6(dE!D|K59rua*(HS$QLQD -z70gZ3-|*+jfgnvQFY)K50P^fRpns&~Mws_1MwLa9!}4uIm6MAR -z&Hb~?6tobof_83=adE^SbN#zBgEwwc0bc|Q?*7xlJjB6bdsfuo=uJ?-=CNG -zsK7tbWBxqnP{v2O -zGGOiUzP$lu3~|2#7^T9lYkva=#;lzT^7=F-|PJQAAjGIrw>1$DPzmQ -z2wAtmzdPXH?eOmw_%{OoZY`i|v{{0#LH|i27Tpg#Jsf(dy(N;j;{p0$mVZ5bTCg6< -zW(oSf+xn@nhOxwH4V099C&M{WIVC>@;GXC5o?a!jZ708#5rQ4kvvnuKJ9R)WeQ2wt -z8eo-9o1|Hff)Kq*kbm`Dau-WB1W4+Voor|M-K{V*36j>2;wdNb -zNOUkt)6&5{o^mtaWm8Gt_Mh@vZ#II#2h5*hwU7fo0E|$6+`eH?(C&6HQu$9DuXMZT!&hJNdY))MYIi24x -z>%9?WBel@4YLeOteQ_qic{oE^0ILe$5pHKin+~J29x(AdMuRRF) -zXF&dfz8ydHQfBazqnFEG8b~^{g3Mh$nWV0SI%bqZ9kWCo@ScKE-f5wPpPqu{?^3<; -z&D51U8A9$NB7X(f#5$A-;5n)MI&?klzMguzDBN4iW(nC`)_o_ZCl2sDN)Cm*0gR<( -zz1gTC&D;EQw4FTcezo30+sOx1JWbtskHd(4&*V5XfzRLPn%Yd_5p{Jg|9qaGaUS-i -zo#mxH=u6w;r9H&c>`z+*PLZ}6_Q!oHQg`TMVi~^&4dX+v4z2Rh -z(QCXtm9_pApxh&XM8aUsozPAICW}6uoZZ=)Y=EwaCvI|gY2o* -zPq^qq0qK_Ino7AJ=D%f~|B1{;D*`CDZ|E^tVSR&-vF_|+EbL)ULN?42`bM`4>IRHw -zmv*2higVBIknca@?o|Fj)379CmSE?>3WcbwSZ>> -zavqd-G%pXw|8mZoxGNs#6tlQ#2b5guaW<6rqY6AJznx}S0^&lhDa<(k8(9r!CCr#I -zJiT8%lF!&Q6(gAZg`|e&6YMFM^RM_*giR~b@iei^lF>?-xhGUuBg#BGBA@B#!i@8z -zT7LmgxK?rXC85r+nz0_oe0})%)TymxmaZEeI;Mv;zpaemGaqLTNh@zczr$QMDP(Dv -zL0{*{v4a&*PwdF3Wh?V&71^p#Zn5XCe26VkRVADFJkqM8j5xq;#%VpZ>B9J5;Q1@+ -z#NTxf12|n*!g@@weUB$H(%;Kbj@;ADA$IO_j`l -za9lqA_tRNYSN$;8Rm<4Tw?q1V=wBtvV>TOu*11gviP5QmjgM&p4jZlP)he@P -zFN4->Sc!P|?uSh)NRaKtOqr$)IWIIVB;0cFU6>Dy2duUvuvG8OsLR6Y9*U45=YN%^ -zD36J78?23ZTorzL6mE6C+b;`waF*0jJ;ZfXx))9FF-V`u_4OaXR>t_&b&;N6Ch?be -zg2Jg#Tdc;X7DKzw(qi;!mbEU4Q&OcI8pt?5jH3qihw+7^N}HvKr;K$2yLM252!hdB1lspIZcX0ahNx+lQ=?N|~dJ|}!3OG})q1c|o -zp*{a>g!XW2K0A_eeiOGyKZP$6vFXhu!euu3)*a?+T{EdtMeCYn>(nZG7H?rQvDJvD -zsF}*oubV=(p5Bz(#?KOW3u8b%WvwX+>Q3)tF|r8e)R~TNPZqpA!Sy*}#DCwKC47vc -zd>G -zIDNi5qH?+fWoq4t$KX^vp9s9MmE(;La<=z=5r5yCU}T(i-c5Zt`7P7Szmez1BluQD -zOQ-iM2Zr$+u@szxD*)n^Mt`9NV5FQ_Bwp?>*KNk#pCc`8 -z`P;Df)&VWs8}AP{^egwV8sKnZibCMrgcE<*>Tz00)_FHl2el1*_5F~SISVEWE$@+! -z_%u>VrYacKYN~=Zwzky=qk>~Mkh6{c9#y@4P&C`SBf)1x%!Zf=oPU-4Y&_=8CGPEt -z+2YQt>-?O{u3~7@Z#@Morx#M<8jO=Fa@{Dl@iNbH_f^&6slzQ9=QTCKaiQtq0B5#{ -zVd|zI;k>c%IhQ@B$VdmC;lACrco-A4Wm}YBpywM8vvlC;TpqTaOPUiuqg!Y&0NAK9 -zO`hcW2G_KSJcFVoB!9Ki>JvO~KDXKsdGl#dg}l_}IL2k0PCuA;b3B#rWrvpOHnCLQ{GyHY4t`>on-`QyMLjP^1#M@vz=c=^i5go -zA5dFd?dgA*3H}ZF)`hdhIhLn28sV%HH4|SnyWtp?+yJX@xCNhD(W-k1K4F9ptRcD> -zYoOd#iN~+wyp;4kw*u-}<<-M@Jx7yh+NK@kP*SHf1ltV*J&QE~|Dwce+?ApQDvu#? -zA^%0HWQnFzQGe@xDr&zZRigN)k_H&3-oqb)Q|+Hvlfn6)sWIcHaOQ}!j*u#POa-28 -z7M$N(uudJ{()^@@-s)MWCccI=8htAsW!Nhbms<3S70B+_K)(+1`X%h9_aklEBG^qW -zS{%4;(GQKsO1qH%;>_7m>;u(;xjBn!K@Cwi@FdUJT47)dQgpa;IwTALzI -z>m5D}f-UcaIm}vr -zmYAhWf;xsSqLjA<~l -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 -z)`X48J@V!FokCUJ=2wq38^Mtv#ai&#{x~ -z-;0?uYWHF%?shNMQcEkG-gqvt){QcAt=>j^c- -zHnURSC;CeD4UX2CSFeldgW`RTx_YZQ-qa!$e7m)Z4T|@6i@lX%-{Gi_i?_O66nitp -ze!!bUn}1f$oS9f1f*pJxT?~qMtL01kya%m(EK4d8v3ws5(my22&vYm3?0=+MK9MC9 -zETKS-k4QUNhCkA!j&38X`B<0--+LU5>vjw8*wJpFAo^vdG7IH0ttrGa;r_A!_d3ni -zVYRxGA?*rCL)qarhL8!nht{T@rJzkVqy=zaEH2!@M*7lGqzPnrJp-6t^|1~xo;lsx -zDE%+|66+Gg56xlEF}4fa6@O$cw3(s2SJ`|KPdr$9YT109-pb}nI%!6k#T6gxY0Fz1 -zN}GZ`Xdo&CdH7-qTBJNX&9s62lCjV)lX?K7;p;*bXZYu9+v)z_;xqYPGzQINuc(80 -z7)!M^7=ylXGzQHi%im06ppdQ)VqQt*6muIHuJ{jizyO)ktknw1kAFXn<)qxg)av)@ -z^u36yo+Mo5;Q;)?B_Cq%8@+D?+7?@|<(I^V=}Vw)Pd-YXhpd|6=|mJh&~fyTS1tB_ -z1Ux^EphmdqC43@A>ibB?-w*YX!^=yTE9Mk;pAX1R`T$)(qQA1hnFNfBU*}@1lW-L; -z7O~D^@nd~t*z36(#9klaOhbR2m6UsstaA<3i984HK}XM!zT(T~vwDQICgd5IDaU{3 -z7ij#GL~9ZJDKz%Ijt_H6DBWfNKHRd7S#RZf6RddZCWiLwFmGwgCT8hYD0BtCkBjx< -zJ(!geq|+??I@phstNr-x|7SloRr|4y;YpqB$2z|s8h^m=$GSj2CU}4L;?9G9d+lS1Zozw`xZ)E%0o2!KcANEL -zlvnz{@viRv*Dl>HGqH)^IA#n<1kD*^;VS=v)tp_@!mMI86@qqN#M*dzjQ_Tk^Ksia -zA6r}ryHF|}^W(QE8=v?{EafSuzy;~g`1{E?l_ -z;_6m9HzRxka2|*EYY>015w0}rOlg5tXh)cmh_Y$yC$!Q4zID3^M)~dQX+|O3gd@u6 -z42af(WoQ;dtfN>e%f}j7v2PvKV||d_5%%}@NLrI|#lE-oxxjys@LO^J#((B(?ig8D{1TMdQT!6L -zu*1Wr5wtW?{5pTEr^}09TF*w3W#=NqjeKiMgd1aVHI88hAItcj3Q$xyZg%UgU7>yX -zTN}lQ1z4;CxD7^aER68QRC1(k%VPfta%%NRdEHto0)F#VS=&;a16|8tU^%LK(`?PRjDHgsv5}t-4uK_AyhR0 -zh7C2h>9Bv6mjJY&WZh0&H*vDgIcH1?%D>2YDEn$7ts4PUCCt-MI=+n?TCuo+rK8(; -zSfgGI6^oFT!q}ZDZs8n1;GMt}R{*{R+`f@*H5tcQeg?l*HDQM1Ec9gPtNd+mMqdFO -z--NS?IYyecnr0Ku=QA+~#S~_e-BbSR$oOe&Gt7Te1MC7gPsU8i3y=@1v-uAGBYr>P -z9^~Mrd9r*qjHyfsrm`yq1hx9kv)1s4KC&eJI?h@vY2JmYuHt{OusW~8db~RwJ#$bP6JWVTY&z2u-K>Y@?FLwxQ1+_ztat^i(8(iz^Gzs -zUTbC+$=Toy8{Py>QIvMzcD(+F4!0+MvTGVUoz=%GfZcHilc~pfy@`6g2{G$WrK^87 -zp`Ccm`V)-z=IN|0fm%-37i9v2akt^uP9e6LLUo5$C>?;&f!m-~)Twg(v%Uc3@=_ZEMzgxtNgoH$;%CNY2B5oELS6&7j4@6S$%!MDTS -z`$o<|Di7df9HSHP;uRaAzG19M?$O%Fq_Q~`-*iQcg<2GS8H+0hb9;vA%fMdGP$?RU!DoaFf9HODq!JAKn*+$BS*crh9Sv{`!A-fmjv8 -zi(ntgCxL>y3i|g>ZnaKu3?rX}6%UX!U5B{>Y(zJs3hz}StyFFg7HLg4VW^s-wNT0= -z7HLsh0iQ?O34Uis06%Q!iUJ%X(%HDS4KW^O&w-hn1Z&fZ1XsX{Pk5@jG89;6P%pNF -z6iz -zC+qp2DBfQSXr-~NpP+w4ctY8=YZp+0_C;3yZMCmAE3EJdRT# -zyVnfB|1#x3nO8@m)oopZY8{WFyPez -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 -zM-4Ay={ENsx#EANT+x2q -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 -zuN21FZVKXa?`m?&E -z9l!~yo0%hUYzu#cRbK~ujbk=ZjRUOcEsF)}YCNmw6~wAfrWMlNI1X^QwEaew?45$r -z3r{Em>tBU3Sh@kiQ#J0{6KeF1^v;~T}folxyjrDoB -z?+VVUbN#z6d3S^O1!h^3Gh24P*4#%k3tYBJb2~%A%|vb~KJ?(c#%W$#t3EFN1oh1# -zU&U<%CwVr3p;ay2vl~}74^|Ls51DIP>FKO$#q-OQ-AQtGNr0-=t&`D@3t$**f4E@U -z&QgERI!>fq*uzdOMGit|=<(0ekJ$a8Su9sm|+i*|OgVy&n+hHXN4mI$8Fq~_Fohb!=fxWj)` -zoaQ}DHUMMSNS26jywh`}?IYZSTRd{>DoJ$5M! -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 -zw=d7Mwr-7oRlf=kP+ -zd@}D%+x#GS4yT*kEgLCS;qrerfBA{Sf)~>&FY-lsJqPnWk-1xjs(HGU7UphVM<BzyP+Yuzs{F_`r6q%!1a4^2hY9C -zvNIjt2!}Zfd4?sG*A}_<70`>h+)+{UDyj5zmoxLYqoXh9r1FQoDWtj9(E?>Xlj?g; -zIn%{6N?rieD8FwjXYzmC5lQ9GZIm`tRps&}gcjrzw;w#5xgXld7yUqr?MpCf}bgZSJo% -zb;6hJ9OzQ#Dmqbm1|>V#a`Pw=uiDzaXuf|If02j>&O5fxm-0$(;XINE| -zD7I|=j`@G`>u%v{k#3N&zYWCh5Yqp(P4lkNDVHGaxn>o5l&NrqWT8~zw){R_Ki}6G -zJ)ur#^p^R)-x7m!?~W3m#W>IuP7YQG+PbuOQ$R-kw)wu_xbsC9`Hj2EJBNJ6=A&pW -zxu4(d<24wQvUyrk>Hx*ru=5<1^ac)|Dden{`ry?1fEZ= -z6rQ)u4&zD<#N={vY -zdUJmrKqD#Xkc^9lNMF&$Zh39P!)R$=vWwZ!UxD_XyfSFU*X2u9f -zm-_Sm(R}~j8+))zu-)_=ev=5MvrsUdY|wu%@b7%TBboy1ODvG{>iJKo`XU|#s6+V- -zvwD{&^T$3jzgd^xZ}+O{e!Cac-8Ea){#@wkYAOUTtqY{@h5p4`0Itzv*ET`8XHR!A -zewj{Rb}AdIytUv_=QQRn*@kzWigtf8%p#(;$et* -zbyVCGVva``Cwm`_MBSxT*ZH;x@|j;);PaU~fzLdj_{>d#bNm?#YIgm9X4l*GpR>T{ -z8$N)wdk^sq2~V%I2h#qCcC`U>Zq$EHvT!VFKCizof}wMTmFlo2M+TIO1>Q;y@Jk^5 -zTEGJ*5~p!Fgsy|o$rSn?grxi)hE9jjjgWRGrJX3+m75@R7C`raaw&vvhR`+&og~`T -zTOf1}a32He$)a5wfzY|O#s;)gM7w?sgif$^HlSZ7R_fCgOBkUzGYpFFel;hMg~ -z4zWSwAWGTHV#a{6RSX)31j1*F!N>{KLn -zIIrN{?zyl-4>|XZIUjmCk77=QUSZ5>5Hr`03FBSgMQkuUvswycE{2$FUCbpAGrun8 -zQs&o+p|haYIn{OsjBR2)e--_`7=z)HIMNK~Q~QI>r$f$e80n*{BVB(oE`+hmDHIkF -zQ4$xx2p?=9&2_Lbfquu+??m`*54AFvUj{ke5wK32j?h&2ogA7Czf(f{LfWN}HWhNU -z^XmZuPQ_i_nFQfMK1;DI^#9PT;0k&Z_K-o|saS8IhX;(yrjV9?hvH|z*L*+G3_Irl -z|F#(9U4if!5dMOKej|M+a8uZq3!z^5c7biy -z`IC5Nfz(TK3l~FbhmMrrC1_tm*C@`4FNChReV2%ZT;)40i=)3SdN=X=(O1L>N8T6p -z=0+x?-*;h=6#(kzs|)14FzTQ-(%jJ*jgy3#NRMd%Sd)J|4F`yuZ6FVW+{UHp9^zzx -zLe!ERIT=ms@y=xAnK=jkB})8@Mtj*`yzxbj4(YZ~C3Gb}F?1gCQVg*Hv>YNFk>sZa -zWRCu`K+^0<@-tJ;d~BmVSvom05i((>Gv|n6_FFI}6GIML-g$iW3<~Gqg9RQ9lsUd8 -zn+@++%BO!_N||p7xAPoaMau0C*2AgRB**jMJwhh=u7AT;12$>2f_D#;sqN7y`ykf= -zT2JcFAk~0pPuN@RE6k)t^(wMn$19x(dG!!{)$YE{f`7k%IqH)MJRAKUyv5*ct@$x| -zDf4v_TMLq>*dT7SPy;HVsgL=`e74vbd -zRZD+cGFPaUE9|9JW3V;dYYpK&YkDWdjTQ4T%&B9U$Esx(lcm>pv`JVNo|7T$_q@hG -zEG+ovS2>+kqFmIf>L4#&Oo)eiY%+6sy?-lXKi( -zknn90g!njzAOdktT*8FwoF;ELo%b|{`S5>@efnxa!gml3rTz<@ck^xz`(7vBAtHXa -zIBFFU7A^eF?%+PuIm9=qfp0sa;OR;PXwU)k3gN@}%YbDnj*;NrTO@(Lc2)Wf!7sLh -zyy$@S-8vbI4Nz~32P?=U;#Xstf7;w@D;%n6Za-xEV}*a;E_nKNKJ{XPE4#;=^r{yz}?69#(zDo=_F;Bl0aqv{aXM0Td -z;o;PRq|etnVOST~cUI?VHPDZ;HjV_20ed+XTp~k{4?RB>tq(LDabo>yl?mJs5N_yJ -zVCG*1d1tn~<4oZ?zRU!k(Zdt=?+ik{!*^r*RP9j)k_TR@Yw**Q{j6dL`Tx(yL86uX;hp8r*->4?ZQfZ2n7E -z>g)wg>hWd%pR^_SeGcg?Cu#q9gyPE1gpl03IpLQ*pv;lv-wSr^CCIJ+#^cuSMBHDE -z{iPQ>F@&)g^DE-^U*u>UJ(o(b1mCsmlU=u&GXG=V3Aw?V0lVF9HpAQPkS13oeAD8K -z1o=PqWN&1hk1@H2w8MY@pO7z0)L3?xo+n)QbWw3*33KKEl$74gs-fIJxy~JA&JJ`IbRRro<6TWJbTQ;j)L{_ -zs*c(}bneyJr3ls!Fz%i365P1vW+CNiYcg90^hg=B<;zYG7Epid2FnXNqf@x$E|qX9 -zJoXOncRzam&pcM6ZC3Ba3lb};-b3$L1Z6Q5hZc+-A7PN2b -z>}8?SKDwHAP(85z2YMu((eGR(sAu$z{>dGDrwZTHA-@T&^0*yWdhfOIIvnblhP+xdWby-2X;QL#4&w2m5#Jp*E|fmmZy?6qQ$eZ`Mc+7yVht`q1N -zNh91=hCUodv`$wh@GgV)yg2ZlBhb5hfHzF44|J5BhmeuQ83J)~#g6_JMzh6*(}g}P%= -zmW)j495T11V=NXeXMUkv9xa>q;~kLZUf3Hhn+#~Cm}=>kv0nTKZweyuNX>S@ci?-n -z#5?IM3B(xg6|YW34SF|o8_fD&J*mGgz``=-?>h5k7FylR?ZSp{EEmQn)JZWdufe`= -zJ`TH1Tx);OV7`+{ -z-{(S^10_$DbXVYa3OehzmCY!RkXg-#6ueDX&e8V>a)xmg))c@&On2K== -zM;(9oa@gk&F9iND3BB;b=HIbw2tz|Y-xxv~s{(&D$9Y2tCCfsAI7Tu_WFvqduu%8T -zAg}3>=doBH-nzP-_|2_*aPqv8=VO>VLym$*9#W1Yt~MQYGd~pmX$0Cf&}cj=j+N*m -ze+Tk5X+MgmIy2+<;7VNc_qsa;Ll)ia3J!*ilM`Ngx1-$K3Gq9hzhvOGAX=}#$H(N)v;%wk?7AhSm0dL*}G)y|tptkF>PMzjP -zr}{Qfedq@h`FO4({Qd7rOx1SpZ_)U?{x*NGVBYh>!Mw@PLu8E_OFe?}P$54=br6gU -zF{x+ANSag1j0xf^QYf27;Re=C>!gYG63*dl8HH^&fO{_Pz5Kh;6S>mgf)CcuPl@)x -z-ytka>qKGC!Mr^wec!^aQKeA;?tjSKp}>qg-|%MsQOpPUXg#dtm#3lC2$X`zEuDV^ -z6#cW)dOeF0L*}$J_B_2Ojapy@-8i;(!g7MYQVblm%`j@#l-%JNs;Nj893IlWT4BXM -zq@#vvry?a;P#YLa#*N)ua9cjFh23*&|Et_f{#Usd|F3d?@pE%CqDc`J+UbdR=m+fJ -z{O;)VfQ_GzVLmGa3wgZ^b$lzW(`BJq -z20ihnmExn$9 -zk8|f1f&KxIzlp2E&Qtg$P|KKvQmwn@46oAyqKj^J)BJ#a(#4z`a4r -zkvtimM0*3P?hW@w^{U-g&Sq5GJL~^{+Mbj6e{avfhwkb1UraXpECQ7t&?RpuGjSziqx-AgxlfT;raASgwh%+o19ZL(4UP-{Gl@ -zjF*xEMRpWJ>kBANHvl!Xv;P3}+@@}2?I9qZ6$@~nd*a=~5}~1u;x8(m4ZS=SWoB%i -zLTm6#ZdWU3#{)d(;k{DkZ`gSh?{N8$GXeKn77xfRAJr>)V(Z@)N1p?6j&PV|!C4<( -zgu9cfNPAEI97;K6!_$gb*X!ATjxm4Z=|x#qrFcoQ&$QU`%#EUyy;WHME@kczrOci1 -zcNhHK0)Hd$ce8Laz2PMPXhBVCZVDU7{74MUyiE+u!WsBA)~c6g-XsQQ{7?+c-YHNA -zLBh}J(Do(N_G~=+4z-1TtQ3#9S>QKijSzhQll)W`F@T#G<5sR0c&c1~9K1u|c!ZJu -z8NOarGE);%m|M9)SnZabhrO>jcvm$C?gbSmp1}KBW#UpPO*=db`EY~I2ZTUR{46exY!(qA` -z7%YhvPd9&CxoMc@LdpA0^wUAtOmj(5axbZEp^;1(xC=_HOUT`B59;Xg5Q}Q -z4DK5^FZ^k*uXnb02+tJgBoIbzT7uV|EB>OI?+c%r&*upq_V6^q6=E{Sxkx7)o#t(# -zO}R)fJAbr;Hu0Y9_3f|T>fN14S;uF3Jv~@wv5_K98t0{xrDG_yjBn-4QA$=tYp+Ma -zIuH6h_?5=+mBw -z-E{|c^?G*znMMuegZ=N+`{Y?y*&Ivu^~%m_Ix!2DGrW3#+mvhda%Or0%lr60+ULuN -z{kG0`fD`iLU#*KbtNDLd7r!U-<9}Zl|I@ww_-E?kk5T>jS12C$0_6Hqx0$=;X_4m*z*k(Nrcm}p9dhOaux5Sp0!vt} -zp{*N@`=F73c(~T?#6DmC?EZRt57qbwsxm?NFWo2Mq3Aq|Rt*+RN0p#}Tv^1Mhv|LZ -z9#(lq_`0nXb5SCM=SsuR2zT8RWMewZio=hJ;<^{b&TMi0!(v3+Iipy4UW^pn4Nr*T -zvMgEJ&#{rkBbnlc2gS(DEq&8fL+w^AwuS9&7;LV8(ZIH(ryF6T8$w$S-W%S?izLaF -z86K}X2m139x*z`owELolKCpj*+LUxVcn-7Lv*x!LdWo@e*~})==PnMuAhKpR>6=eu -z7m<85ln7PKeG;gzRb2U!xJC&n%_@wqhNqTW*uzRXGMyYXI$}a*NK)p -zzP&hq_^f!q8OqE~6jZF`S%Fs>xKc`MUJ?kgf@Hy{HIn6qr&?SEtpO?+GUuTGL#?>_ -zMX{xSx~A##v^XoSdKpsHPf6|8=Cjhu7hvUnBP7s1oik6gveMv7qICGnqKV^I<{aD= -z%E0Tcb&d~hgw`#{@q(byGGD^8lySTD2YBXx4Ix2%awDw50~12QcY~EyydbFdl`jif -zTO`yJs_F&L_VrCp52fh5tbx`-7SFr^_H$%y!$RC)H7PaQARjXccY6aBO*WTPX&5!G -zc0+#N*~EPtB*T6391=%dp2vj%KM$f*9zdu6R!luEM$EEVMtOgZ*id?Z(IMrRkW#aM -zY4Xk8>dRAoE2{Oa_#f8iudDC&`Lb<~)UCJ2!+!iPtLu$)O8cbDLaluR_JGX`im7MC -zgJxRAb%^k&kmkliCa%c`%#&G@C*O)=zOB!fS$G9-$Ry_WJmK4SFFZrqtV3oWc^SeJ -z_y0rLx4_3$R1eSG*K9UPbN6OpglXC8O&CMo*0zs7W&~ -z?Qz2*A$!N0v)kNrS%T}t?qJlv-|;`d|C|GD7SR-}@A~uUBL(y05B=~*t%%fXz~7G- -zDIMZpYE$UVW`*|k#ktfhnA5kCUs#S^MP`H@8r80cRelu!+X`g{b>)7!Na@P`o8+46 -zqIiy8EOq7Xfw(BzJ8wFb?ftHQLwa(LTRpiaU_R>|_@&i5a0h%n1HWhC{Z9DZWet$O -z0nieyXYj8*;JY2*U&i6jGc3}x<8iBZ -z`!69pqd9M*7FCOhXZedAE{EOqgq2>3sh)sTcUYY}erYvAuFf5I@H*t|dRQU)3~v<7 -zXCU>R0JBpY1ra#kXRS1Uromp=ewWpmyHn^s=kDSs^f`MrLL_UsUYbVbNp|Y==w6_i -z^H2*hl7rk2TiMigk$qv*=+gN8kr3B{xe=b>qV7*W1wHmHd=GV>`zv_Ai0jJlU}y;d -zxL<%a!M6`SVX@Ewm}i=N?S;9_>_=*hR5{gQM_*-X`ao(DF|-nYvuDXYR$Ti4Fq%qc -z=pKA!-6=4_`I|kBn1Qphi2(N`epZH~wvluup!F!!H36+h(bmW2iPD0N#`Oar9j4*d -zzY~w6eg26yaO8Ig3-J)^C7!U*)~3zBvUZmy -z9R-iW7N!w+JmcekahJs7FyQg5kH_IrcpM&shtl;raj~*3eUGpVVaG`D?7U&Iw9#z; -z&Omsw;Z#8V`gGp#?H-glraSUuNYM25xE|-f^5?~y7mGVr+w9YrL9loDNNoNy*J?pa -z@Lhlzasy1B%ZBN#j@NwHI!Y|LRa(s4&Wu3+?vUeXo4t$QL;bVt<#n3ilY?JK0eA{G -zk@%;VHjbb;m)rEfJI?E3d|tR%$p5#wpJv}B-o8J7THerM?h8+}DQaQh`Bvsi=>Mzk -zvogkPGTf3e>d43eZ2Gf2h)o^~Dd|E_L)v!H*0 -ze;w)ShPSN!8bvDVhdC;ndJ#R(xl6PgpxjsJsoV=D{}QRB?TIDYjWCNfM~k@R$Rys- -z-9Qt6-q5cBk43!oi|`z1|DPp+Bx~Cf@$Xte#E%01wCHQjM=S -zOQa{KC3w~{05HPlA=8BQ`3B@&j6;T@jVu{XAJQ}k`zD6zhjd*VN$>91U71b2K~Ycm -z>$<=_T(IB0d9iOFilKd|+X6PEOqu3KkY)jYPjenyB-1=(8GKIF)t#Euqgd0_BUWD0 -zUxl9aEF;fl35&wO1sNn6%}a*?wwDD7xof$Es|UiozF*7mM*`u$hHz-#^`f;W$#I9@=%1APNC7@+q%NaFOV)WCFr51; -z)nPVF(DKfWP%3&v+<3Qz6pK3^Z_}^&yD7cJdwdsk(0T%>df4N=0HNp=t$Y1{At)P1 -ze2HK3VO|2#lRx^U-y?4$a$b%a<$UBIBs`nI5rpqexChwyTPw5akSH%UtZ*Qb4rq7Z -zLss|t`>k!M&oZ>la|Z67Si?l@z0LeRo4SncqWSf!c!@aY+~$6cuUCq5HaQmzBLjG3 -zTtR^|!TWF8p!;yG7Fhqvm&o~l)7_KL5B)yKZ{W}4QpcZ7qEbUN=cc0xk}S>H4Z!r` -zd>qp_@8Zi)lx$|&60z)d!coAv!G3v5r{Pall4b2}s6ArhSD$&RhJFb?AN9B=lNj0E>D3{J{s`a29S^H3>T2>Z_mGY! -zLAxP$pV_N9uOmO|(XiR4^>E&_nucjEwLaQG`^-;rPFX;mKq^g~N&A^N+c~xbarpyU -zgfj7oe5VogZ?#0~Guw!N$z!_E0h&1%X_b+AiNQ{9)6D-!`!EImx$KKcBZnu -zu#8?PqlvGN4qa%b2>L%7uusG@EF%f@d#vVhYi*y5q8%jUck479X=okk{KY@@yoSfD -zr!<42$}jdaN&+(1ZGv=PXe=dykBvo6q@ikNR=yeCN_7LM9>j -zYN3C1x`uj!@U4rTRTXbTt-$8Smwh_@U!R6m|LtEQ -zv!D)l`#3zqak$gMT~{HV5Bh1Io46Jz -zO#lT_oX@!Y33cn&|J5ot{;p@;zZlK@D{DVvP;T#Kev3DC;zYfWTyeYaTB2J#0>gbkAccc(nL#{0^jp^7`{H=YN0 -zpT=(!xyU9H?JW$DT~V>4E8`ZEqgp-MCzYpWDxYv!yz87q`%T~ -z?q{OSKw+<2m74I4fqeOf+G@i6a2V4_jS(?_2%jgm@V?*X?*$hwRd;Y-wa|X|XrIp$ -zOeG(D)t4J$Ov_SbgZMQr7up8BP6PLMxo@VWLT}u4f5pA?R1oR^mbm0@O;{Zg{&3yO -zhqKHv?05LA|5|De*4)M=PPeE{(`@8%;@l8cWK1_bwIo -zy9;3G-18Hp^W67F`w@Z=&wbbO67N|9oyNpeb6!6OaU2T3%j4*b!Lf*VRfr>hE73Vd -zBK`mP_^G!2ih`FC@R~ThiTqo@YocMUw>m(+X7igYb?;i}+v*#(U0niW%i-fo@mtp~ -z6>C-{xd-Ora*BSTa;ZzBwifa2*ncOOrZY-Wk4L3Za7GH?I0bN2n%n*H3%I9#N?pCs -zH^ZI5c&MB5-Qe5)FUbE3Kfj89|6M`+tz+UJDTx2snD{3O;(tCS{^nRP{+DCopDDp;91;h|+>-V)=!hrVm| -zXzvH^)t>45I(VOZY7X+LXPe5N?wWh(A}!!dU2dL32f -zhXD74STJAQ&-bq}FsCe2wj}?BR^22ICgzvQWkQ$BbB!XPCX(@l&PEW>nElmq0k8?x4&D)dK#d74i7O(nR$38 -zjDlAdfS0u&jH;9wYO<#&%|&4yyO7+P=x+YJ=D=UVM4pSyCW%8?0S=*Wrp$nY{P61oD|P;rWq;dZ?4|wn{0=kSJ|vhqa>R -zBOFhq$n|)O{%zH#xvql&Tn$aW#y!|VPOs_T=#d1t-w6R9vYX|Y%ca(aZQv}rDPh68 -zTiaB;+ZKlXt{<;|#_YMv#Jq~}3EUOg1p44d1+th+d>HNH!nk6YT2I@37@11Kx*e5H -z;QEzi(q~s{jgM=Tq8EW~`gtwyZ{x;g;(kNM-GNrs;JFK)yWqJKo;yjVa*%X8g9Wzu -zZds=6ivEt<6}>%LXjk;d%amQw-)R^dv@81aWy-E-V}V_N(Yux@`=BFZbc24Q;!^)N -zI@+#iKHpEHqwR|Repw;!qj3~YxxJ=dsu$3}p=IOS{(MH#x3K-0L0IlmJwZA(UA|4=Izrg4FD(;3!Fw)0o+0ib -zQpqBkx37tR;cYR(E$2t|tqw=`634N@RIerYMYV3cC+Vw)p2)hj6qNtwBpk)P^aK{X?@5-6dg9*y1eTYR -zSj*-8R_6rPr~$X;oXEV&CYG^NP|sQ`D9nFehF`9%o3y0dH83wYd8ed=U* -ze@VWd1hjoJ(6-Q7qq*MHCwQ$y?0hDzw;BC^wSNm$hf)_o;fZI>8*WIsi%3z2d* -zn`b^m`pmCW)UWWkKg+{-`al}_I@A^GfY`4dCAO2t9^mklY&z?%<)PP(3T=f@uVFrG -zG-0)Az;ZFv<7uy?TmsF|;@=7$GQ=(NV8}dk3hWK?<6yuZG{mj|!kTs&Z3B2_xeRiD -zWf~gT)23-F7*_*~Ar51qStemT!eMlqIluwF-D=B(l>4ajS~hh#mvZ;fFH?MvLM<0S -z8_q}DZBQ1Tfb5i~GC9;BOWCn@$oq`|ro}-_A-pzbn|0BQ+y?mVgm8zB4$%# -z>j+Bk8e=-w^=@E7x}J5H$2I`hf>8c{#yOy#*>f0vSDJs&a_)(-2DG#i^8!5R)ysW< -zTnu^1Ab!2qZkcYE{enk`K^eE}6f><45U5Eun8~HJu-H?kbyqA9aa-n0EvFn-eq1Ekw)HBZ! -z?WA$P9ZFxAkqpFT-ApV|aGv|C;_D>%nhsyd68uJPTg8cRQOg+63ARgw -zJY^X6JR>A}ob#?pOS~f|oL~2U9tPa!^7dTF=5Z^7DO1>iXkzs?~VCv3HbiZa>e`3 -zW!OT&vxUDeSGv|{&vQX6D4Q4Ob*-_WeEy$4ta)Q#z5O3yt>v(k4Z{zAA^i;AR&}hA -zM1dz-t8toxaVhR$K2e5#Uh7yNT>|sitWuk&g_XJ#b`sT1Y`R{p@sLz3Hk$$hg -zk6`!OjR78^c!j`G-We}acxK%&73UEh1@(=rQ1zX|km7=S!%2SJe1>!wY>VkD1TWI# -zoWyYb0(uJZQDX}V3)<6vs97P_EyVQ`Ea$G14Ss~_+PADB$6orABUskLT{EQs^271x<+&N6ybrARafzL|dXpYCYJt6q^ -z5_8~tVk|gUwXYEOs`9YPh)6r13F{ADVm9PD2B9!HBKTJx#wja*1dqyLKoE{`fJFr! -z^BBK_4H(R2Nt6H895t84l>Z_8*SA9PZxt*k=iRhI`J}fPzj0|#3vrEBfD=r2rk}1{ -zrb~~TZkwNO(#OKvu|n?A?E9jqqZEgc5VHjrqw4+{*%!FKk+y1Koct_`Hgar+^P?Am -zT_{DFe0T!omfJOd&bevaTY%2;KBjh$Q(kmbd6%tF^0-n>S=7n7SC`lUUsbo8avx+r -z7^OasEd7jz)E?;%{vK&;+(Usl(KlE4edDqq&wZsIKC2-7T0i_4rsVPX{q+^nC!l*Q -zL*0=|@<+{yCVni#@L>9HuTc9-oO5%j??!DJ^lNc{v)>*M8(kj~^PplAnEqH^&;&%kgwIWjQ8l<RpR8 -z!iwMPm9laxOwxTOapu(biS%WLCE-4|Lg@M?zY^P9z;GAx=6yqlh>i=>`i*hjE!M -z)5^>uDK#oyDfDuXH)4`E!kXb-8iy_nF)|clp+lh%p0rQOXrG6X^Kf(~Vy~x2I=zsT -z>uvCy1rYvXTBvbtKZ#F(@+W-iLxvt2sUF#Xfm(|ha~Emw3_`tR*+|vM_K`&+7iZWY -zY1kejBXdV~;4Y*Y_1>13g=BuJ;Eg0k1~Bc&z{o||SG+VfvRB++;rGB+im|}8@PI2x -zYv|7du++lv1S~ZRIOGV!_~2NWxl*ksC2~FK=6)_jOXtrbk6o$mSA`kc=1bec8pdOP -zQE}tMmjR4{cWMDVUluSXUC+4b7K};PJ1%}rK7Pdo_&qN1Q}!5_u2l9I;|y(Gqi*gD -zTSyX++8!(oQX6``!<*laMN#)NlMeGeqr=bhTatL5FWNxoWhh+Mt`zbrq)Uz8|!r{CwIIap$pE-QvL0zY`f(|4fDl_svb+2Bj{PXZ~_&k%LJ7CYSSZCTuouny!c#eRJ^tFmI -zEtmRJ)C+}~EF-j!S|OaDOze+;!EC16+%z#`?j*yf4DTtkggpx^@5YtlED6iA{PK2U -zOXwje&(X1za@4F{CQ2;lC5Cv3n~HEAOX3VuG(=eumWXrE@NO(Ies0FvL58=ETwBH_ -zNdF-}f%3X#c_CgN^oy)tsfOCJPQ{$%l-<6~J^s(^p-;*m9uQ|1V -z2Ytp5uVInEy|8Mc?u8M5nrr$6*EB4WdIHZwo(uWCun}|9-l)Y-NxCAe(h^!Y7U}7# -zEckMmGqdW98R4F;1ccuU>)Y3&T@XGIzJ3E=-{4A0z2w`(On@7i$K^0tvr+>`7jfI!p_l9K8N}GLg#Df -zNqUde{>AV;4AWJ?ZzlYz;Wq>Fd`5HL1|3>=>RA_p?~VMPocLz&z03c` -zJu}|(Y7C*=wK}#Fpl?4)?DW`9B6|_wQ~;bozpqd-iFpV7lIJnZa|{p79R=b<9{Z_L -zc^n>k_EGXgdF53B+1PfUl$CSMonH`SsHCM4ICg{y@B4_u#> -z{SV~qsf%2KSZQRs_%52zkY~ -zkhM%F)tXlaElZ(vdOu)#L$r?cK!{fd{H_Cawox(--{}gNk!~tQ8xyLWE1{f|C2!nF -z769x{Oob<%O=4EqMBW5{ -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 -z0ZxH`Q8IBn#P(PR_% -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 -zL70^+jqYQbh4aw41fhq?6t8@wP263{+AqhH -zUzrLraT&MJU}CN(D4mdV_rq#ePS4}sV$hCaCJmT>Bqo!EFhAruW1N@DVKz*sE$;ao -zcx9_XyI98Z`RQ-v^s^F5kat#VCHe~$^4aGL_!s0a@@d7t(snUVI|QwXZ>1Yq73mId -zC7W1&opjp$vmp1$7$rg5f)m@NT|&N3ZluMeA7J!QpgRh5N6%nM1L;ZFjoiv*1Wa0( -zPe9&()3}am2=8Fw?FFlbOd)?q0CGT$znQo3DK^iTOnN-%bIX8zC17QJ3g7kV7T$8) -z!dj`JqvW^GI-8Bm*$jWD0dCVs^0-oK8mY0IrXajC$ANd|QQ)1$;hm-683JBaAEbkM -zvg(X(NPh;e3$`7e8l?FXDYlmHjn$rHe!KL)4%EeMe@EACfqlste2gYYKY_MNL0dt4 -z_W-@Y4k9Jm$dYuss9oBihM6Nl8``JBtRy%Ek7Sm>*hJfDEnAT0J8?{UOMq%yfRbT^ -z)iq!WEXg(nt~zh`wE#1N_~yzfw7lk2IYzk|CQiKGu9EH5N6%&r?GvFlKLza)GFn;4 -z8reF#f02<^EmU-{sOU)YgRP-Yu|9S-8{WK`VcREbOW|(~OXQs9Af&S-q%%JT(wPA1 -zEDq@`Ara<~CU9Dt3T;`>pQ3%&1n6%|yI8-_UI_P71M|Es=lLY8rm!+|TNak&VYBT* -z#&*y!jyPmaQ;h7R#CR4))nZMj4HmROcCjycf}n@i5BNFGA$Ttf>`N}nrwIkpgvtVAeowpLd)1iF -zf5OZ;6Q0}T*w6WLIZD3RF63O>>~`GK!#?CC%}Zm&Y`m5RnPtoZPGT~3rh@+0uc9u!(U;|C> -z#q334Xn+6wsa^U0$)~5VO738J`QPp}e@gyGqRIYCB<4c^|hp{mum}odJLZc;joUh1lN(>f5CO+ -z;P~r^DeH5es!u9kAJmQ6&X&NKv3-98lNXHjM=%grKOU0pUCwo`kHmsHmXEZHd%Z%Q -zf)eRLZlkqd+s1mF?W|wR!E+}|mJZneLhrO%l?xPSZ)a7NKxGg!!RKY4Z5QV(nYJCw -zYu_n&S+px_v>H@Ldk)F>yE8jje{W{6z%KDUajEN)3divrBP`*)+%9;A%szlO1T=mn -zz|`q%x}?FFM3!2b(a#20dRG}qd&Oi4qsD4R%~ne@9Si;%Fh5Y3XK3=p-m3;#_cc2h -z!WKFd?*r@$xUXoSv-OhB_J+xPlXx;`Jl#X++Roe-ZK4Z)Z>% -zX)Qv1+0K6GAq{x{{_QMLIXf|d_mwpUx`3xrP32U8?TXUIDraUG&nmqQ5Ifs3k$3CJ -zcpG-Y7k_W>fqXsdcXEhB8s+wY5Y|DMEJi4DNm|;&`2HPiM8g$`)+szyoidwuFuWPl -zy?F-<>g>caO0Q`2xGNLme~!SoqtMzmtQ)XSJLSDq*o&r|)uv_SUOu%Gd19kqgR}`; -zV~F8IduI=_ybrIL8PTuVR4l&8#5Tv>BWli6QX%c6FurETaik>p*l8vehB)JC=HKmn -zyin97audlWQd3|DobyZ(VPm||?s$ZXb=@E*01my}f2&8P8eY?~^=Bj!{i)4U5M$g~@tUNgW-b=0=QOpNy4 -zycY4Dp~-Nj<+Ci8ibC$NKAi4`uW1HKiXAQ69*I|*5t>=@8MMs@DPZ0S*hkfve^^^QnXTfwAv#&h=K`Jc6_k(rcD_zq+{Ug(RziIjVttJUsB=A; -zs%KK?i#owGlM;AAZ_r`88@{}hz`DsS;ksp+I+=o7Q0j)SX}a_?)ftJG8=2Vx??s5W -zF-@;ADh2^OxT8-I-U -zgWP_)xvWCp8*>(;CPHS@XBcWAn54vPH4QD(e=h&#USMObnqg-8&&!9*z!3bxS=LFz -z4gz+TyOMQA37KZ$N;%D{k@IOI$L%EFC&$)|IO7rahZh<)>4w@?8YfsW()0;DDaFb`e|e?xJ?N=v^H3wqko7h>9X>dvyue01!XE(GJFwnHrs=b6KJ+7}MLSbV -zq}2`#ZzPNOb8g$hQSq<}){Bte*9P|(@-$EdD)KQ=f9K@dMR1^n7G*Mp)J_muv3IQ=?j5oPk}WA -z@5x`l9A_9P^#azL{v5-#y}`=a??MaINM3~N-ekm?MUS(a<=4Q^vF>t!WuF?y6|dX5 -zNUm36e?9%C#G%vu9M`)-d{MH~E%D}ON$^AuI-dj1Y&W#_>2X|jagNK`Zc^Z&c<9%{ -zLasZV)>~P3T0pKY*68nLr0snA5afO+iM*WhaWI^bzAl -zdN4U}SZ{eP7c-;@%4OXzaJwDZ)M@cFO}^kQe-Uu-c4xW`+CPS#tx--R%KKSH*oJjs -zZ>Q|tO*a5$O29Puxl<3GmyiWK)~mZ1ttCLeP<~$a0;Vwr-1lQm(vO&uN8X+JZ{(4Q -z_-J{gYR3mN>TF{Dn6rsLWt2UMd^c -zT+BxMczG?O&Hxanb@8CC_1hoQ-XD&Oe~;*E)U6Tyc?pyBrp*u7Kvd~oUZd`LK{~se -z%V7rGKL0#V(axUO(P@Wv1j-tRc6>hv9a4Xw0H-4PeL8$2wK@f7KBXPw;kRkbd1U#x -z>CW)eslClH9nx-iQyy2O5rMixXpJl>fCKsVSH*!JVj9-UCrmI4zXXZB>&L7I!L4CQj_Ag -z7CaAa=uotE$r##N(4lDS5}&rz+}PA1{7-i_?O}K?(`^gPS*BPQO}-vp#xjfc@^(qn -z5)J1j;d3?4=PR5`y(UQ0vKQ7ye@x}-*!u6ImIc?8qIG2ySH}vHnXJ}3;;(DhnQC3z -z3+uzB1?!q6+o8Qf*tP3yLtJMNuMNs;--{N|<%;IDLr4dNL@@;T7H+wex}yI$O;TZ} -zk!xdVx4C6f8(rXJ%XLqbcUp%y_vlRR;krm(3ZT~o%ZrT3t@3U-T3+Yqe|ddd%9E5_ -zU~xb$Ao^=-huHgfx(K%zXa?XWuwOnIw{@hNN`m-p5v`D)Q2Xi6b_hMj9_O+EKe5N> -zB@SxZk#6Tw=DgAE><#E&e_h%kk{^M=h!7aRsqkb9|o2PmW$(vQbiATIkl -zjy|{U?>PG0+Iz&2^WEi8e(zD|)~|Q`H|zE4an@_m&QE+8DCcA5)f@eJHHc4<{4ShV -znWUxfcgVW{ZF$%@2R6{j#Ot_Rj-qk{&mXU?ox@MEfRZx;qVSQ4f2~YghMSYm<9V8Z -z`;-4~xQ!nRSGC3aQ8mwAKJGmGR#eTSP)20zJp0o(oM8NzdG?nD^DLxs#?G_9_UGBl -z$IP?MF*VO#?$5KTfA0S;=wQ%&sn(|hSY2^{uFjGFB-gCb=g1TJIWnFf2hWk~>xuvx -zo8@u4Y)aD%`@Wb6e~(UhUOer(;%UB)aECZsN4*bC^2Y%^5AOL}o%9a6Z^6DO`KC;( -zrQJN;D?PI3I)vR@sYe3O*G1kj`eC-Omxa_&4PlMi8%GB1`ynj(ip;O4Q&2`Zl%bq4~5iKkXM}+J8dY<9XUIFbs|OGWIE6p&q*8;apGYJe(6B -zt@EJLYzV6~f1e(cCL|%v1UTmidfdh7ao`Q~drRk%>FfE7yoBW(k(AlY;yi2ifAM=K;V3{k2 -z_&Glef0(X@88NbyQDbq4n2ii_&lQ{(S_r#s@9-`ud)AWwD6>LxY;N$xxnHJjNa#4c -zQ)YSX``AG0Q*p|C4TsDX?66MhQccsbb~8umV@!f|W}nc<*zUkPq&76VRM!nmJ*QA7 -z<3*wQ0D0Q>37w1_Lx2 -z*iS?HWx+b49tYGB^*ErG+IY1L>T*Q=+BNDE3ThY7=XgcbD(csYdszt7DxlNxiqPp$ -zy3?0>Vtz#Yo`9v#Yrg{4!bS_$jhPMB6tYyO7Ve9F25oTAvb5woc!ptJd>|uKl-{!p3)h~>zm^DRi1z5mD+(6tVJ}XKlc?+oT29DtuXO4s11xw -z9G|G~qVCe*zZ*QoD+s+)rIS%2{i%Hi;;-cACPV0xAROX7$1Qf33w^mT-gJe&`>qz& -zVfm|~yXR}AV*DW8|u#yI&5janWTU@^rZ)*nqrabB? -z-7?izV*V0$sU5D5St4}@4nf*I*iYAEUlwx;$G*yZ8}Klk*qjcVc;CnIKNv68`-`)z -z2fq4?bMU-^B~L$S=|{ZpK+VoAe=iD=xd#@I#JPt;A-&<^Ib`lt&lnE5{7@?(>9-#COjr2ss2=J&yP?FjR?@Z~Am(UfO8TBqon!@5rK6wz}zed?{y -zc|!kHjEiumx`!tE|6pKjD0@D3r?@+jwLio8s!_T^%|k~$`-QbOar~IG-}CqxZ-u@) -zc+Sgrnkf=I3*I~WELf)Df9vnVAFoeT*(v4+v7hWGKqofP2?08RnxfYGP=UYES)EFM -z8g--5|611lY+T$WR=PiRox)$oXx*PTxUSBXQdj4SfUeG!0bQMa0bQM|xUSAsN74Ne -z@V+z-ye}OE-j_MNFORGHvya_AM`-_C!OwEX*Zonlu$7%+Pn~HRe_{(!_SFpQc*_;6 -zUxyZ41TCmT3oe2d)VmiA@llxIX;0!daSC|^Cdc%;PN_!@>j$oD38$eSc77Q#`)wkb -zE-1@_H4o|}^x*2|cwM-P5sD)wJx7)U>FO^aPef9S~O*>kye51#aL?Vc-HAG?Zc_h3IIj}7Vx<)M99Li^Hxfc7PT -z_GJ$3%VTtfkbi98PwbClIlrTHsV?Xgb_=lWaHI`W)W44se8>As6Ujo9d_k*v&^y?6 -zi7K!23g$KA$`0+GNzPt;>NsCVe|63wyq-U=8Bd4iP0dT} -zhkfkdrM?W%7TwRh#DP&dGzb2p4vmuge4$h6o?Ih!HNMPsPxiCLFevl;{Hr>Z?o2RU -z#=dr3-I*)m`MYz1j|k|_q=qCPp=^)mb!YaoOyXLu<7?|ucg8)ymO`?Aay6^hrS6Q8 -z$N#HG!T$hLe|K8M{Q0d;r8{#q-(QZ>ovFL_X!B?K+HrMfu8fy+s~ca1ui$*SKR#9m -z^S{xZ`8b`JtB%?3mbz)%NaP~``m;+oV=0m9y0~7>(Ep%cIF!UoKc(EVL -z_R92KEAAAo-_H(eQ+0u7`Fqt0;2%R -z6#61Fq`t`h0)3GK0ezAEtY`fJo_`hB0Xe{0LyYiKe}F5_p#|UiK&R5(f%4i997T8M -zTGpGnhUY7i`5x|+Iyx6ZzKdWC?LII@N9Sr^M`tnYm{uK4N9W>eSofvZ2HNg$r_#{@ -zdR{N-f0-#A9Z?sdqjRm)(K#S>bgq^gf0T|6#P?qt(9tREpUmcKrH;P8M1}me2z+slU@JLT?fB!!tZ+c-2lID$uv0MrA3h|xXj>$jx9d@S*e>D`m9fz6IP}K>PyXzU&YMC0|#%$G0T0xI9 -zTdAp|)s`kR+1O8BW|+FF9@6fFw5Bf8>XfI^lQpHJg8tR0(Ebi%#xN2jIjxjS7*WS$ -ziuP->K7qD(e#^h-ap|LYuh3qboOSnbFIxPpN~_^K1O7W6`{jaP7tcK*za}NSf5e=W -zpNF4kz4qVW_X5nne`Qh%p>;dY`E9Ipz=F1c@LxlhIzRm@zX9%O2*GiBoxic5y}N~7 -z;vA{d{Ts~J74Uq4HIg_ypNA)mW%pTFTc3lP565wBoriN|d2iJVFzfYHJ -zTi&Ja(j#srL9Cu<6OLkcN&H*eeHdi~^UyX6txrrQ -zQlkLYSLlWEe(fb5+X5?Yzy2btG(OOBsq5lsk?|vK5tq!Bky6;@K(8Cm@m^m9Ayo2v -zsD)O{=}#vcyM*jPjVs4dBMW7Z1LQ~Y!~`uU^pjVZkkla6HS&;u_#p!0f9v^PoQLQF -z%WsnsA-kkmdoI8#F)GauwVZo>{3hTBzDPXMZ$TZ{dr*h3#@7+FXtImQlG!|VJn0X= -z!pd0@sXC`S+)5b5`y@(roE7-ybVF>Bvz7nN;Vg}PhEE(7 -z^BL^tcpWRl??bs?kFPYbf875AbuJC}6Tn9k;VnGeB{ktPin7HdwA*sD=>-&cKFY!Q -zJTOGbrBe3*{(rVh?B^=TUU$HLwTAfC7{ot|r&2pRN_KaN{o)j$+X{Nw?5z7<4W1U^ -zxzVFZyC5&WUk5y{%6nNs-eq(Do4l5sd%n~q^zt3jXyU#43QA6Le=4gg(NfQy(ozq% -z&lANrw1pMZ&^!I3$t5IWM)*7(=P)PxdV$w;i9H;^w0xN9qrse_-)}lI&<+qnk833s -zLSITERz%vHn#|$5{(N~|m(V+$0(3KlrYuP(nxoIt8b~99@ljWy?K`>L0D4&rrJ7Kx -z)oL1+6NCM#>CA+`e^x(jEpz6GH^5~nzByg31pc1E|K=b>Pz*c~w;H2_Tl`u_A}ped -zv3(-P?PS>(g#4gO=yst+B4xP;Efd+WM!(1g$alFG$W{XLF!>(7)2;L+c>ke%|0f%; -ze<0ug0q@_J?=QpqEi&&b0b7-~b_tox6ri-MTSCP?2;Nhle$m_b?7syY?$?qz! -zk}xlAbL&WAlrGPQuRGGlVTuHGdAPl0fbH-#osU~F^yNLr>7cN-4NblaLP -zC3YIEF#RGf+Bi;vc70w@=~8Gc$bfYmn=y4ieK(!qtYE)P;OO? -zDtGUwa#JJ{(1&_U&JnJCL__@#W=|(av_bplanVaSe@-I-T1mYv@8sK;5Mi%CjJ*#4 -z&Jy0wO+@!|4%qj^g@q8D_an4YJCWp4FF{)lxcA1Z`0S7Nz~)f2Kbs6!>L&r@THq(L -z?jl-6gr11d0?}cw=^cx^Mm#0^CVm6gA>MG;h^N36Bpn}cbwkt~XOCf3(v3hCOj5aNJq@6~tZ7rCug=JcR?RD4v!ehIsM|7-|ATjbrHWJ-ebUXPxr3 -zy$xyA*VV({q;<-d=sY6q|K7{{BSK5L-N~FgU263ZKA!>3MM_U|I^}K7+YUt}iggAif*~mS> -z`hEiN9kBwP8-}InLbi#2o7C>yz%yh~XS9nUY@4nmHp%4a*N_gY^d1QD=sV1*%%;}x&>r~m=o`#Q=R@9rkk^^hl1+Is=M3POUuT{4P3B~> -zf2oxaieA^>gpjwH(=S8xUj6OBIrHnUI|b*=iXP^#6Sf{v26JkS4&(kUu5+=q24&NL -zTOyn49m3bH1yv<}r=e$hI0 -zr|KArcdAtQ<$m~Ns%+0;ornB+NTc>BTPp`toc$3QZHMJLKhC71<8Jih-W!wedw!fv -z^Y$=B+^`=<$H2UGo#H#52-uAgb@+vfa}UPtfbBP|_uVQk^;q1NcT$zCfAGO|%Km0v -zR`@;(etjTiWhQUCKS}z}HoZd(7_gOOm?BT7{qF+%#ILSX=h+_>gnN}L -z{76CgTYh>P3Wk5f$LU`McAnl}r@~1{*f?W6<|DcGDO~@>x-}Z=)&I?U3=--#kFaj* -zqX7PSTS{6e2>-aa!bdN_r^Zy_W@tQn%${w8#9d62$CRC-{2U5=f3#4yriZ$9Gt^@k -zp}gJH$)||>&4c!j7NUIINu*)_>o{o_di)*qLq6cX6<;K|6enC^bivpiS-6PQ=<2>v -zwS?ig4z19()(kccFVqu*_ALu_u2H!?DL7z+^|pjHV80tjZmC$(&4~cxdOl8$1&S*n -z{q#PVk8h!2ioC!he=vXin%n>G)Bcyg<80rjALQ>Tf;OZdWsZq9qMOXH(Puu!oOm{M -z2W_*$W}o$E*gwBT@w<cR&zD2rvi1YeTu$o$vGyMDaTM3%_{_GOyOVT#t8&Ff -zdnemE+ZawK8zei%=SndqwtP0o=OW8hwz=p;F}-&}LJcG#e+j*Y-b;W`j47daf=Ppf -zKmvq7NcI1{DSLa8%#ZKq^VjF2y_q+Cc6R2yH?MTiX3_!pMu$Fv&qa`gSdQW8^N*$= -z$^4`2e%`b{sR^b-5j{=X_5SV~Vs@_oppTnE>!Pq@iv5|YvRY0{L-^-Bj6PO$E~9rd -z#PRlZV=K-|e~wGaAdT>4(+yna?&a|*l6gc=U?CG$na}NNK0`g^B^duxG^FeV>OJJS -zKs`MVX6P4?1LlvsFeJw_TppgM!}@5~xNe6=8+*vhe=4u=wgY*873k4k3 -zMlXS%f1zZr?liQ|9!2OlSx%p_Ctx5jf*uV=juKy2(J6>a*k3hqDNcCHZRAbMqM1Kp -z8nkI*8rOh=v_(X=Mr&oeD4QRaa$ab^r=6cI3ppPH$9mSmg8r;v38_W=KBT^m%ri{D -zVs`3dxSZX~y8|Fd8NVWCEn3^&9J&KB6Oegtppx22{^37W6dGNHo?&wz4rXaVs47th{7w -zEb;{4@~}?{5AQphf+6%(z-!@m*A&JJnyT|I{+hi0e}1O5 -zCB#Qxy32CbOz -z^V~{0>&B9fD13*hH0)gdac`F6e=gg*Wx~>iW(wdvM9znt3G5-#-pZB_w~grS8^413 -z9_N^24MQ814&-l~fPA|!^W&8vroMeFZ*(gevb -zp_Dq0vHoMHs`_21e?JZNr=b4ks`@RZ7u79z?n)QMp&jM~GE$4_c*6-eh0bwLx7m#8 -zU9(_piz5sn5g0kl%wpS%iFr^ln588S%XMKaLLyY%7hlmW_|aXi&E6)Yxhv(c+iVev -zdZ7q}D*gj*=pJetcw10tw{@j#hSD^s@itmlFvo-09xUp?e_qxUEFxjMl1CIa9B%1W -zxjnFGX3m5n&bm--o*uP5N>Sv6gyP;dMRP -zt?otZned@RV}Ab?&kae}Vy=(B{EA$&WwLt=Z^YxwiK6BUzt7Uj*|##T-mAwL_YeUm -zjKlBpP&2k!e?JOvky@b6YXK{H%Ti&~~txGPpAqW5Ul2&f5>6$8WTvMn*)< -zpCRUNGPi|+^XJO>8@D4oM%_Ca%Y>KUK?@vz8^Y0>!;u}~+F^ZDDZDkbOyRAIVnS|0 -z$O+ah6SnZykR?h^|Ap0@j5y+!$6eCp96w0=L -zMpAoZ1ma!}>_-7Rpa&-R=?T_Hr!qU;qnT$47xMiQuKG=Exgmh-7(t75PK0yg`oXbh}G1T?3XZJTXM%~zvl6=S`Gi@HPqC~P{yncm)z}{he&Hp -z6fp7Sv3F`})J)cN)?ja;=Q{0woD!S_bZTu7`)6<}_^;!O@Y`(u$HbfYOtNG@4=Ff< -zFXAtHlEYsXxGM0(5mtLlmv(D${+>aquZ7Rxt9}^H<}+$GDbD6Iq(;Wd?nLb)KDT(E -zhBqqXxcxvAaCz~)?aO}y+#WyQuK~ATME2plb=2U;HMC}#@I{61fXOv~bhuT(Jv0~% -z;>aNsa>AV&KJ&?NDBsl77RQt*Fmr|DEfRoJrANj#DfqP-w -zDb}J1UthbfqfXXg?+Dupce!ktpi2twNQQczN%G4PN&4Z4vRh++*c|HjCQ`X`zH*tk -z-${})eKIf=8Sgg?X`{n+hnyTrVnv-3p_{{@9pO;LH`OwMM>vG<%do#|{Ek-L_uahA -zv(XCaN&3ZT+^_37-&NfU-6`J-)`YnnI#TOG>u1!7j@00MfDo4wN#lKwlS7%61<(O! -z7LRxFXD@%2M{2u&g)o1TMqO;Fk@M3kcTo2)llsyNRZIV=)bH>*(j#@K1MAQ6IBz9M -zovQlOUGXE!gnYbXE4^Sm_r(dtWBmN@HQ;nJD1i|`Y@`7vnKpF{%Cd~1sO9=<2K9v1 -zoNXU8XScUj=1j@nJP&ye;@|g#7-|>JfG2VW^7soo%D3=;7jV<*_zQUJO#FqGrs1zy -za`(nxD>GhU1r;j(Pa_ny&d*T|&r!{z<`oT})PAW>RT7{9C(sg@9GDweTI_FT#j?wa -z10z}S&{3>-Sc(-7AHj-8jF$Ae^jin#Z2I1?tL{aAzfAeH8KKr7$BUGVBa`0)+Yx4# -zEc4+q;Wxd1kZ&G}otlNYa5B$ES8SqP;Pv!2zPi0;6teUm)RF1`(I_~#y -zN}IJN%#NwB*o9JFU^m&9J$8gAsde!AGU4mow+?0wT?Zo#Sk15wa6O2%0Bh`PRzwB& -zLb^fVURjQN)k;al|3bS*V7o!Y1K>0Zr7j0N=R!Dtgd3)4bI3e1q@}I13F6BpoL2qW -zfjn@)3QR8H$2AfgO76+pJg)QpCxlxi_Y`d{kAKK{!zK45t-#|a -zY6kal6C`Q#yKq*VuFWNZ#i*fmhBljUeUgVb#vV+EzDM2-*HAp+>%$Le8NEJy9(}i_ -zM(coo^Ow%-&z_|{K-1wPp|59ZfWO!DyBY0SSkn`EoX;ij4u_;(atPYub^290#%B9K^Z16leoH|1Ewq!sl)*&fUSB -z`gk7UeD2oq_=%dyHOpbHEHPJ0NnmZ}1)Qq_0s6y~t(mnJVk_%NtI0X!Hwo#HbQor^ -zrjB;hzzo*#8LWXBtgX{J028ELID^k>=^8PE@Lp3k#?TF}DWH?HLp%cRBt7dU_Dlf$ -zvEnX~*2Fj+-Xq*a()y7Ed({Gv(==iGZh}_N@%8Z<^=X1i8+Xv|7$0wJPEq;kc+5;{ -zrw97oHIi>5zLWin)ijEtl`m*i_u?;qA)m^#5y$;M6Jx;rx)Vm~1QSQH5h0hSeFZ!@M1xC;>)Y`-7MCZO#2+b->ZGjgxf3=%kup2lyj -z-otSyJf~b#J_m)I$}FqjcDa9lqZS{pSR+RimA}MWX^P({bmM!2`8^2cH-gl%UJKNs -zh_`w+4h(t!f;tT~@(vHX+zX% -z@LUZ9ON`-px&Q0z1+9yJVU=Hmd=hTMCMvWR--~j2NMVcO%!pzL(^kfJs6ED05;l9ao=6jn<}hn_ -zv`+&k?@wBpDj%$saoEKf?&4>W)*y10u}Cz9~hrC_&oo%Y~Lhrsj0+Ho-B$z4*7@! -z_L;3j`UckJyD)u!`}ea&Aul8(FeYj#A}pSvC-5DX@&sPtS-)Ns`)e<0WTnDl-x -zp%F%j@b`+spGe?046ru_CyA>^^bUP4VEGX^hd$w4kg}cOqeG1ouG5{}+0>>*b*J7j -zIvRo~iORVnohG~^y_3SMcEXOcUq=Jt)}LaU4pi0Wbm~@rN@B1phSN21*b_&`Mnd{u -zn>YvMb$(M8cnxt068J*1q9l{()f-tesnr9o3P@>bSL~HfYY2MCQMZm%%b3n9cq`b( -z{bu&k2DVin7mMKjovm+5!3>2tpM{Wr6~#Rn&PQN%V1S+yxQJeJ7*O`m2dl#h!yY{@ -zc1EZs(90Ts7?wWLidvOD-C8dA`MsopVa}9}C$Ph9Ff`Mnr0lbxH*1$mT8VV%qhOrJ -zW^^Tk(FnVvI|dF<*^_y7f5vxUW&d`( -zvVY5US}WnK;-$;`D)B#ZxzHyU`ZA-)WIF_PkJ9^p?YS|$uW4kN2BDvZ@R0zYrQj@0 -zM(6^U#(0{1q}5X!Fq23V-ZVBazt8A#%f-3k+GF(&Sa;2ItUh2L8l$p5)aMg{a(t?S -zx1$effjcbGD)vML?l5V&k_%a<*@NWxW}8a)?jX%?r)lzXCI4I0lUpqH)w5Bvef96})!$bIU*y3zX@0rmg8^RP@3aNxvk&I8i|)=) -z?zoG~33o%RK*utaIX*y27>@z4~ZmyV6{$#4eQ -z`yyusR_Gz{-FLOY*#4Gta0lsaZ6Jm0SjH`Rr%KtCtp+V*$BTFyN-G<*D?3iaXJUSg -zw~F{85ievXiuh`gzmT0I;^k6yJ;vK7FtpBuI4?pbOBoRHeI6&*e^(ZI^;x@(9(OZ; -zu-lvrXZ_}wSZz+K-8KpKW2lw*Xu4u0zRh<#uk2kaJ)+Z~oeqv8d^93Se;Dl1;Cs{I -zyUOA2SkjQniCB&%{oU(HqsUJ57pC3rhGb9YGl -zPOM^U8zB?vrKm-=B}wBFT9}z(!nS2*b&~#^sJ!Fk-CoyBcz?72JJk*^tyQLF_D#|c -zh^l7-Q+wJ)66QoXSHs?f++xkMt*$T7sGig=)zSaEbwMRWt2@x&DBEQoa_& -z-J`M3;Pm%>>4llFw&0XW(x6w*L^-;`%-vY8HiqR=n7+;H^=?dA{5(?|>fe-5q4EB0 -zu6swMT!V-kqcd8X) -z6Im}E!-}chAUsLlzluHW#pTjRS$-0%nh>`RRm|_k_*$bAIlm#Zppb_;Va;XsO_S|r -zVb)ld)ZZRawzK1fPRpi@t7CfCEGX5|o|{4nvnH@ktqs1s+jZyjQuefe4BEm)DfME0 -z0?Ujk7SYGQWRlk$#h8ntI4W>wUzLjO{s(e9-I|UW)1S6pgr5tw7l>D|yat;mo -ztKv##_G1|D@!bCeynnl%zwaXKM7Xac>DwbFa^3b!cVRMo9ri&S565wG{W5nej~6G8 -zg_*z{%|<%JV>3l;yE$xs-du-~ARzVI=yg?*K5mwKKdPPfF0!wi0ky1^)$UC|954Y)(K -ze{Nibffa%WF^Vp++t_G|6ys>x%2S0tsp*|FwJQe8`XSsR(G`M!W*((4$+mI6{b(KU -zO_xJ#d3Fz0$mUp~Ez3sh=u4deUVSd?=t!4lf*lm_D0&Zkn_p;@WNJp~%X53cn^_9@ -z*=W5LdjrpEXq|+Lr}&oe9=n0lAUgMjf%kY5d78;>t_R@+=#<~J!F66HaM>SSN<2BF=c!Zsz#{n6Dl3ElT-wRi{sebZ0JV!eadkhym$FP__d* -z*`Bb5(LTUMBa+(3Bg)x;ks``Z+ak#eTkgXV?~}fN%JzDx1uOm*$~9Le8+5Ve44%KR -zLagl~?O;WJt&f*hs*Z25 -zuGDm>etr~i*_ -z^{)^zKqdRpn6R76;2Z8@{q9dA8!K1cTEg$4p0XGaJj&g@<@^njJ5{cH^w({-K{k2!>h-mT>?=C>HVu?hs#@r -zs2J;S(Fai4JOIiHyflF8pW{w3j+H>1ysn9VknF96u?-wE!8@#ecP&LuIj_YMwOAw> -zSjc@K9l>j{cy7y=TgiI=wPjA{kcW6oa> -zs|9xvgtrjko4kP-9A~~4>inGZVH{GC(obu*!5ey1(@0X^)>3k}YdLLx<7Z0PCtTotgzEt8s#Xu`E^HFXP)BG!asHLNB0vV*m$3fYj7EQzyH3QRhB}Bp -z-+pZ^(W12gdl^~_*OarLlgDanYBFI3T_d570yKBMD18dnrq|b=M{_sSa0s-29BO~S -zB3cOOz(+C${yLHJvgcwS|FT3^H~!rUL7Ug}DMuaJCj`z9_Gk32aUrco&SbAH=_+C~nCDB0L^S18%oHlX=`#(5}tpKR>>M!CP{ -z_hp5d`>?{S{aDxR{aHExL`=!XD&ER}S1A6-oiXb9@Dp;7bfvg|DAIj@;e^-+&a3@c -zx3NF-+pgv|$C$cfna>96{03Jlo!|Met6UayeLM|Su9V*A&0&PAPW+VKBrZ$M-om(00u)_+gLw*k0l7|&GPakmq7hA+F -znPonyLr-baCmQPR@8;nb6TNv-eG~Kakf-y4e-l?Kd)ABCa6W;uE0sM>an^Ss4MrES -zI-h=Vhc6G_MiuQY*6oNqAwH8D$*&Z55M}o_D9xvqSH9ABmx* -z>&s%@C_zT20Oao2`J^`pa~JI8dK`zMrYU@1qbly5lDn@7L{aEZ)@^G%*H$hmT`7AQjW*@Z8h8+qr2u?`*_v5q&vU2Quw|Y -z%xPZA>bW(42)i|@4YZcCJ7O9|T3~UNu1kSctgZBsC9LxO-RJ25S3s!0;?80bd2fP! -zzIdgO3FduvFM(dEyEwsD7ZxVmYC99$wuY$pBu^)J_OLp^1$#~v{2fEV=T^ZxECrt@ -zb(F=q^%LmdMOAa^=S-d^HHiwnbC}X1`k$s?b3NEj4>r$(fBkikq>|*mQR)=d%w%}# -zqJ-v@TnAuO`^dTADRAz#@O>d`(FU2%oKhGGn9g{fZy`UYXLD&#Je!HpDDPhvVje0& -z+#=&|lls20ZhmX_c#eH*gbES}> -z6MJac4#tJGf7b105#AKWbuT`b#|>YWormbmupeInKC({e*)%5NotY?wWfA86pZwe~i{O&4U^|pOgf0k9j -z&lsWL#VYvwUjJ7x;gehND*wDv;83FfIFDjCza7rH<*ZvP0)@PSEjPMZx4Defc{JOd -zdkyu&FD^D4zZSPgHw7x1AqL-+?j4=MgZFDsRNO_Ao$dE66A -z@>v3&&uvONR|!7XfIDRZ-d3KJ>m?f_1Nn{#czcRi#;s;jyJ}9qo8_`dwG{u;nvfcF -zxGtut>eipCX}UGs@M=vBN?h=9&RHdF7Ni3+;9b5MJ0qB8T^7pCoOD&MxiONq4gjpA -ze{+IG0w*59@-P-BQF3QaxRgYhqGP|kO6miXpK?vjG@S|K`*n=Y9&pE7>2TgujuSiI9k|t`gMs1ix3?47vV{ID$vF -zb!E2z>>~~nkV5tlfV{#jjFjxZ#DrhhS9GMEU`M9hJBZBn@}OKV51Z@NLAhQXe>T^P -zgL1t%Y_8`x*Q%21Ii2ewyE}B7YXwwtK0BzsXL)`8F}^gYu9tLiQjH%{*K3kjR;zLw -z2s5}1m-wJugL9z#0D3n?na7BR)UJB>OB>Z5yt!&`K6jOZZ($LiErAOFehTL=hk=Uk -z4i(zOo8nZhJwnPJaT`Ky;_XzWe>jztSF2Ofm6R8&Q*xD*XJv}i0h(1w5%VVG)&=A> -z0qLzkUYDic5!zD&n1a^q3%L?QdG)Tg&C1>;t=EDC)4STX_+TLpE88@#DQKNt}64|H!72=D)WLqRMviInV46m#QtCPzanev -z%55GN$Mom@(964J*t``i)_*T-$S?8PRYDFJ_jnC*+^8eYS#)t+H^?yVyVvPx-KX2d -z-Sv7I-oh$UJV=S5Md0tie~A#_yD}lKud3j;nor^}-Ppu5N%Z}E;{%E_$`_pgH2dDqLs{E}(f6^CMmA_4|_~Vs! -zZ+m>{_Is`B`!}UcOUs|0ze9Iti}FfFtj?dF{Y|T@3;wnx%QyD;?SJE22*O+quu}de -zJzGF66`Z+&{OvNP`gOzXO1*fGJlO9*bI(w}1BbFY&sJzlkMJ$vW-0B29#qx|ZGrVOf{)PhJ<=oKpST -zyGQ7~b!rU0p_!e+W@e@XqsT+dsz-f0ip-`8P+}fcw|@%DND^ -z+W|d-roj8DuH4}aZ>S2n!x;L|YM*5gJc|VnIpX0;i{(7_yHJ; -znc~99gnCa6x8=J58ZjIrVx$eUyB9W5(g^SAl^=!WJ<5;5;mo1ap>OEzp|BWwVCWiZ -z>u}$#kQz0VfA1phm#|0KrA69zx)vb9m&9SPcG4QY|NTbbJ434|Y92QA2zqBKVlBdc -zqCHajfK_>3nx$m$P!lTZ&2N8?z_o?N&osHuM7bj&J9U7Rolz&`#awI{-8`Y9!EPN%C{f(f9F(xdfttz?^mUtQ> -z9%VP+0|RmKBUr@-(VAMtFUPh=LECji`AE4G%FW?x=lX=fb%!5_>s;RGss!5hy;sJr -z;IV6v;{dTMdF(bBy9Q!~6xKaDjxuMzv^dU}Jvour%XSiT>5d_}FLX*no#MFwO?^6? -zdM817f6ig~q|)c>di;HE=6zOaH&>;#RHfZnl{SW_slC1bD@X3_M^^3a_xA`JBnA5@ -zc%OeV#QS8h3eML1-5U}vo)TRDQMBa9${mmhddN0x#$ZVIZ|~%zl?yL -zf6n1^+pN7|qURC7z%t@{*-84dBjYJuSn(^lALu!s|4U_y>#se6-s~X{^17uhW(#fK -zNK0x`c31q5vDDeK7Zu+{AKA((w!Lz&9xTom-^%*kSe*Ly+b?@6_EGVBI*O&~0k9gv -zkgG_KWPZC{|MS)yu7?i||9Ui63%&+Vf3vSkaC!XfpR4lJt@fAys4A@(^QZl_Dy^}q -z+$V-u>teP4@7wDBYJ9vRV@*9f5Q6s<849x_-z=Z+K4|3XYCD=ovt9XW5OuVyRz91G -z_OYyJALGkEezoE?9K-xJ#rIe(^d1WCv8)4j;|_gnmA#iYW+@z&pTQK*XFra6e;KL9 -zag+2-19hz7ZMGciTNBe(3p^3^1ss|Qq{$+9>uqtH1fC=#oUq&8p*KN% -z5x0tiyCTxqnVM#O5#UY7u|oTCtn3oB^sYyA^lPkS8~0l+&XS7X74-9d9BU@cFoyYt -zl=$_0Ut^gAzqZT)!g0t3mk{IZoUi65$7Su>bD+mk+*w -zNz#)7Qf4)EoF}t79Brc3-Ks(B?l@NYe%Gy5_)?c)SJBEE*|J*5hpZtdGQ@2hdn90q -zNzI;u-W^ihC%{Q4B?T*J6XfY7C&8LSEr@qBS-yXE;%%9Z15t7}TZpAP4tg0cf7yFt3cTYr2HO3qH@Zms>@d(wL730!@zqje1brtTYV}lN -z(l0^Ty*yrl3JHYKrsCF?@~e!c3qxkaR6OVlS1bEtv-pjM6Ybz!rZomiRS)FH(d;bc -zk+)=DK%~`IEAM#%_P1Pt4%hPJtg;O(*2xv#I=LcVvEwQ3+pd%Se{u--uOe;6!*`HE -zX_RU4HT-LK7d7#jX*Qdnmc8TaBy^O7jsoZm3GFZ#@8ep|3u9g_Xu(w2U>?p^kLv5K -z6O_KjR>LNBReB|2ufN3{Y&-gVFYQ*d@(qgm?pZBxbJuRwaeX(_R(-%dJC@?-MN-?| -zm?X3FxJznMhe(_|e~+vdyk=33iE`PKV<|mj3}kOIQhG&JhB+h?eFQbzxP!2_pig&dycI4VP3D=fBqrQijuvJ -z?}c~Uey>9ne@6dXEoloa1gSYqcuOcar!ah;$`l=r@5$^{e|9~KaZP##iU1{cP~73t -zJV2GFPG{vMZ^Z4{xS}GoV&gFK&C2HA^p#aQXz^Y#7RLlgkGX^37 -zlqnQw_%-$V!b)<0B>9Du9 -zn7=1;^g24ne}Hw|LHEn(G)~XzthHb_KRAxIkml1`C{@ez)4S-Cf!FCjwpwq&$U5qx -zq;Qj{F9Uhkf8ze}DWeU1h9c5)PLXI@BcG)` -zq~8d@0!DV)HtCGkkxmC@tDesmok!;DREPhXOuhr=tYC_9Hj+6e)#q5WhOVF`n62q_ -zM`u$FpREW`6Z3TwN|`l*Vn%1-CSFd1JzWa`jmrRM3)T}Y)CidF+i?SSCYV7@)a;Ns -z8r5%qe|bJUAyjkw?;unYsfp+cCpxs(^RekJ1N=86aX(D^O5Pvh*lh0K3|4m(z5t5W -zH3h!+Q_q(A$;|Hqd~2oN?5eo%S`(1I4v*^0wYbirYX2|Bg`eW_q>zUZ*jc{6 -z7iOIf=VUV}%!U=d^w)8BG485ipet5Dc>#R~f1nZS>a!@y`UQaQm_-Ndc7AeXe&@i6 -z74ZX8pf;`KelO^4be>cl~$XmdD110W@^{23mUaUXWhqK<@Tk+4ZI!=k-f7=7S -zf6{I|yq_H31;Sz%$i5r5b%)PS&gZXh{TG5J>T=IyU8ytJJ$41ppB$?nq+ciYtj8+t -zFWekY%~o~~xgX75!IN>K?F}aB*3W?6ck5?*^b_})*(+`1I1XuVfm}AvWuGZ+A7ZYz -zdWEb_2jHRTLo!WP>HXPK+y<;;Z=?hPe;3)`LXR^40h}K7*zYrwTIUSp-r)VMh@Uf0 -z#TCB#d)ao$J~WQn4rj3edu2w@LF)edPrc$yQ1AF`CflS%dJZdUXZh?mZfg-Vx<5yq -z4`)T69foX=`0Px7)+_Eh3-&os`+V;Cn9IFm+&vJ!hwiVNT -z>K!VFz~wUKyC~U9P5(_))MxubU!(L_kBHkoJG)%ZXpO8le@0yCopRk+RmQG02iF(# -z>O0D-PwBCaQuP(itg3IESKppP>f6n$@7N*r<#tiuv^8qn3wAl~nO?mo3>o)6L&h!U -z`P*x%ZBy)R_1g{HHpO?V_ybGUe+V7vl0Cx|el!)9kkcEvhJC#b?^mzaUBC_>gzvFX -z|6PW?A_p_$+ManC+A2kz-{o9v3d7trsle-V5a^$nEV -z{VeK}FZJ^p)V_20nu?BASL%DrucM`Kv!mAtyIlSD+58j|yrOgB!s~OteU^kqNtgY7 -zh8!Z~E*0$aARLrFB2Y`g;Xb0p-gW94wRhpFK}@hB=lk6?)iztd58wKEtXn^qbsOK~ -z_gLcn{t)tYavEZDVyWj_e`++Dl1jqKb0JXv-;eJ}3iHl~ek@A>Wn^_&fY;2sfDL31 -zi7(~6!9LCtjGD##`OKGMA+3R_7EdkPzl@u{ctz&wM!6P?^g`(61ycUTf&J(FDmkw^ -z)`-2VhddFGGX!gMD&=+_vi~q#TJh`jpqy`|H#fx&K=_eBDSMu&f9ahtS3SC@CC91a -zspxs!%yD1w8(?=nH}2{P(R};dQ)`qjyLMa~;#+{Pt!!^fh<$BC0#kEx<#Z?PD!J?z -zW&aEIMciIqn$*#L8>Q!q06}QfdoORu@1&6b0Yf}>64V}>uu#f1WX8G+_vL)az`|y- -zFJKnWAcds8scAc>e{yf?Pn#~+`n)7Q*{b0*8n;WbGxJ%0_J{F;h3`>EPmNUYH8`!Y -zM$l9}tEI=8Q31AdbzLNe*4FO?PB{m1Fe3l -zl%%4KjSjs5^};0_Jvd*=Wdzgo4YS{U88yJOjYb~u9pqBse+?|szG{B{wMLw&J>+rT -zSCg-W(N+g4NxTOHi#`ziDUY6U3eZa@`nfh5w7f -z!i)L52RWw~-)?&k;&5pqde=jWkOTW{@>{bWh%WRg-%7!Y;GL+ -z$40a9hFNl(e;^Da0&Ke0mz#5#Nr30+FdBHvLMjrlKKMe)_I+`&C&K)~TQn^}2PvL$ -z<66ZtR=O8`xFy|e+SUM1?C%R{MhVYd}Q1n6ZPu+j#uYu -z$or_T&cmzfJj|L|$T^81gU%Dq%!Fns_)Xvs}XaQW9W -zpbIU@0lnY-L)<036jEXRpdA~<6F+6G&|AXuN%*gf!n!p09$0eEvZ%CKi|3>`v!lAF -zfA6?f`7t{`?w3KqdM_Nd-W6Y4uR6nivUV^J8@VqLSUDH-owAhufp-_H+PmiK%b*>s -zcuvY^sQ%x)R^TsX`^vcR`dPtWJo#X6o$ohed1>yDw10SMaxImqEW}~q1OfG1C8rsd*~e^l<%Q;i_pRzdXEV8^w4`nsK1Ba$3uAf_0aoe -zI0)efWHUkka07&|m*GYT-yp+H5WZ1{e`657NrvMP{<#b%Abhh7Cn0=`43B{Dtuj0k!neur -zCD>A0d>quM_suOLn7a -z@H@vVnoDji6@D;_fN|bt5h=f1$E7O_&Or-tO3~mciknupuSUL?hBRWQe^w;iV%I_K -zQ^vq5yUOCW@!eJEU(vnJLR);-Sc~9!i!~FTJ>2i&l@{gF2fP*Tt7|T#-Hx1vC5R^& -zeAik?RCpji*~%9(`=G7dijEXdGn55fyk!;gy{K`NG|Gc~+$M=R3N8QS%}k5zr|3D* -zx`bh0v%Ieh0c!I;l1d*bfA+Bv=H-PrYEGA-2DZa{D({Ed= -zsNn88Q|TLEyjQ{V>rJHTJsBdeo<7sBbK1WSR}IR8Mfe_%w2Mm)(2)jBYYSinG{M=> -z$$9&@1CEd<#ekWrqK%L8`g6GHx5ag$2j5x+Kf{9`Sq1-|2S2(Be}1tCKc)(PnFl|< -z3VxLbKd}maqX$2!3VyqUm)-N?ep_Ytsr=dRnSMX2k9zf7WGWkDoDN*4?4RC<5=PuR -z0oqx9Cax2SwGx*C)=Ha50Cvt<6m#OK;>>DKAwO2+%~&1>_d`Dq>=o}l{@7H$iZTAy -zIwhZ?&UVBnuSdR&e}*@hjC&DH>em77e!82ar?iyv7gI+^Y6rec_e`2oGCEGilTQ(x -zjX!w%`Q@hHE*#e>^3tyH(!S0wM@O^D|D{=x=@XoZPuB_gqJhE`%g$jMYNm*96fF_N -zM&VbO<2Jw`P7dQ=rN+NX#CeihoPU*YQh5C^DKHu0Y&2d|g9 -zaL(nde_&t12Ha2MnlF9jko3>0($@}2{~J$Nec0sn;Y#SkRnUj4huBc~XsxQ_DyZXX -zsN>73HU`!U`P+hhJyYBp!9ziA&i@R7*G{)w?gw3*0Y`n4GTFT4>J=aDCw!xJW?IUx -zJGOKBdc^}ATn2eMAH}Iw>C?I2s86$bpVS#~f6;nz))(BtWzcFWBWYUJ`}4oU^#uEh -ztVJ)mb1cAUeKP%*eWS7MBgZE8{j1gsT6bvM;Yt~MhJ{=Ro9DE>_HI}&XtN4$>N-}m -zuVK!o-S)Liaot>iUteVl^{#KyPkV1m-1!Mvg9p|NUGxqk!t>~y>(~$TvLl|FTyke2 -ze_k1sDY|1IWHzbr(VqB5ZO*lbPtN6;^~3Ae4!(mJ3=8mY)gaG9`Hh@6bSoQ4mr}<` -z>iduC76$O4U;%6kj8iq>k9RFmbRMo`*%Zy-{~C_#ZPf7!{Y -z-=ck^PcH8>mB$SyY|haUx1^ZIlKv>alIysTzmefNhW-`Nry}|fMBj;}B|iduq{b}H -zz0uS0!Mbof5x7Tj0ps`88YBEeJtb^?90RpgvBa>vnjHf6EhSYpWCQ -z$QO#Z%_RWiF_-VFcEaSfqGb+QC!NPNY0)!c#7lLDNv-oz^TVV@A$3=K&DX((vjZ?# -zJ{rSIHz+y(8{pm5CMrB}Nz-mna^H{+ -zUHeE~tN;#&b7CvR{}UH+f4>a&rmwHt4JNX~)eWmC>#y7WZ#?VOtd -z-|Wzw`5MrUj+Qgefjys*+`9SjYs2p>_;ukI&I2nCzghS_5q?e5e{0sUs9BhM59=_I -zS}gLrTBP!4qt1-kVWQ0J&_=ps@6Zic -z+=@=886gPgCDucUe|7#6qE{VOE0HxrZ{~>>7Q*h^D?Hrd9eP(6?80k&9&KfP7+)tx -zYIlk8h`tu)!OU4`uWtq3TWeiQBMf)VE*DG9<#wZaD@&kOEWHj(cUUp6FX$^))@F6B -zcdFW26!o`-IV;f0H}%j4CC_ya6LP^Tm)Ax-UTgR$mMYg -zGckNI-Z#*~EDT>{A>W`d8^ae^XoE)j&?QAEk98=Y!T5c?utDG-NwWW_ij2TAvWEVG -zby5>f%;p4I%YA@3S_fS~diDEQhrS>DKEzN0IWybQ(f1Yik*C+d8%2EM0EV(n{q}sc -z5tFSo7SgEJe@pM@w^)nNz9W6e3pbl((qUStA%u36;2W#;TMyUgbBjA|$`6UIVij-a -zwi(sZ<_l($%$?Nlz6iNmO_Vur<+RWv;d#D&>irGkJpPV53%+P6_o79#X6+cgVBgIO -z>AM-~GY-~u{foE%;k^FP`Z|7z@lk{f8`$T1={DXDmk40%5y#qI8>qi -zE{0fJ7WSL^L^Y4j*eK;b+))YPTif9NluK?ZVf)V5nvF`=;U0!^3xIRLs7mg7e)?7H -z+176qXB_Go%%Vwc`XqdhXiNQ{t!Qne58il^-sSmK?V}Gu{7zr|K9Djp}=Q*!R7C&-cBZ=lkBi@B7})9rV3D -z%&-nWUN_ZyKbZfFDooIyZ$?$VGk2M9&PM;bf4tPH$kU7UwVzDK6=iF<1|Rl(6k+-z -z*-n49!Amcs9%d?^nycmB96nq{r}b9#^K9AA&iLSdZm7z4`jGJ`dzM=^N|3=%m#6m5+6ZmeIi0^h0?7*num(i%}*8w`bYMw3`GEYZul=x+~ -zeKi)I_YIw>m+S))+}8;F0v4vXx9x@ZGWZfU -zU&1EwehUjc`yzI!qqd;<=9-Db#3=q&r=hjy*)nZ5$4W76xbO0t=yNI?JG4)i#C{7T -ze -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 -z4P -z{oQzoq(9tk2^+AJM6k}2GhdyQXCFYz?njA~Z=5A>oX_%cD&Ime<)?rV! -zQ92KA)USlGyc0m5wCb*+-XwOe&`#jj%@u0pU1qMpavaZVdIPVZe$27%> -z&j$C!hX{MV-^q@Or}Sp+N_`}`lqye2CHHCz?LN3kJm)GjOv$~O!(Rz#{2aWA$6l4O -zpZn6v?oA1=2CeM=JkcWM@I?DpL;Ev$`=jGIe*c+`pwQfUeYtAj3ro7Wl!&NIN?4^AV)eGtb8+X9-{O?KQ*w1Y1~I* -zHyz>2^U(jt+MB?)QCyGXGrKFTb|u@Zm7O?}Y_DV|mJ<$Hwi7ua;MhqBq(GvqLyg=v -zm;?xiEIY>Jpdo}K+(|eCl#qm@1-`U#e}SeH+CqVHm8+#CKg!Y47HDa?q0kome{W_- -zTG@dw{eMY5^6t)kym|BH%{x{KeZ+SaH~xC%R8DL5C*M~LDI;Nv=F2hS)(L(6RL+;_ -zH(pn{WkekBj~U(1;i$)m0L^VUHviu`)sfeOw37b>%FAyV};Ob6B3*+VU>R^8MH|uoR;6}lF1&&&{~&NCt=IOjJnIzUqf~$GjV9Yh3!U5 -zO^8k5DUYPE{rnB7MKf68fAVv7)jZCV>$mPwxsDW^Cag)}nB&DFA)69lLeuRFERhp; -zCv_UkZ1q@Qe@SQ}HCFdKeC_e-~Cgy=F(s8)cB~ -zfi>5%6voi&KsG_hUNj{DCoexqE!7xoP9fYfD~_~dRTRoTM3hHDatNr>7)d3kzTCoK*4fHzN#~!ezg;QcJIYq -zpC*iQyqWAye_{V|99t#B32h}KB2?bpH9h6FB_+;>cR|_n9N!{1dM`ou(VppS^smQ4 -z&{}8;@JXVjJJ|r|kR-F$m$M#XmVw~}4XsQ=`|?JdQ8JGzo8}6t#-UWCt#JCEr7#He -z%uv`pNk_`^GpY)yzW(Gt)h_0Z4#&R?+J@u)Ahhj8f7Z4KlmPS1V8&Z4m2}_PpfQ`k -z^tWUbc7`;$jF=y!-~^MhDu~&fGFA}t*p#6F)o~wS=dSP*@V19!cGqex9T++S?Y|$( -z^t8;YBk=&IOYrvKRYsRYna%)wlWQ0q5@0k3?9zcSX`3)$$;$mu%B2wZxY7$P+e9*V -zHELS{e{BvJvl2KinY-Jx8TPj!UtQP_-* -zvGyq?t+nsNcD(5eIB)O6n;zH`?Y*x7pmJGwn%oU<6#h{ICl?sZMo>#DS3*g!-G62Qt&r1slR}u7R?XG*zPC% -zO*|3h^yW)cmfXHbCJ~9znK8)w4OnMBeIoJstI04;geQ_A`k+#ckQ_kSp`QQQPdlCd -z3PJ*9nVtJ-8-sYG_>{6gHDhLNnv7EOfBn=SMrg`d#-RE@VlGY@lM1jsSsIqQpw!Hc -zTI7!^eun)XXU|QfXGf#f1gm$5{({x%#Nb`PPCmbwt_Si0*(r7JfHeiHc!>T?oyc~9 -zI%5AIr47;F;I}bEpTlP`WWt^jf?p+^H>m}+>s1JK6>Kl{kkjeUswa}38*8;;e>xFj -zo5-)Jt9=zMhr~+G0k1mefXvR?0-b;DI6Gi`%~2@rc8dM@H}=q*fgX-5>)r`iiPjQa -zc}PEJcEQSvO@P+@8d@A+7PxUe{gL#3zd@S~Gn(1iri~a01)sYOs`9?CrzW*;OltN` -z&6)`(_KAcJI@Ah5>oE3?Byv8>e@E2Jj{P)yXEX9P%VFn(FUe3LzM02+dv0me#CSPl -z1m91xaYa6B%O5;swgy;GkxYP4Su)FUUC2%z#q{6+Za|U0st%#xHMBwkd`_>DCTPsJ -z&X9h%)1orAb3X3aB(`_J>NH+fa8_6;WUEAiTj9K7e>bTu45;N;gMBmf&5NZD`F}!C -z4vwJc$%ugvgMH(DN}C@R`n(nTKTNBkCtGNc%mVt_-Wk_6LS4Vax}=Tq$KV|ED9#JO -z+g=QlH?};M8c4o6iAwg47_@DRN?2P{gnwTS--&6GG=a>BC7`_6mng4F-f+kx^{iCc -z-Vt||iX#wrO2xM{xr&Hb9P`pPoPY1YX%jh{ja+8uR9Jl>dGy;< -zgshvUX{~dDWF6T^5kF0(h&$n|0r+g{9}%0OmAkKE)g)$!b;xj4z}~^}EVh2nA9@+Q -z`UQlu5)i`wK-}rjvi~ssY!YIf#~23SI00Aw6VA#Ud>P=f3lKNopEI5WY8-D7eBl5)dwB7QQpZ&@fWDv^*x5UCMi~pu8Gd|vXB-DH -zOCY8TZ`4}g;KWZHv=hQIg)o_g&4IARTjYu|lx~0&vLuDb7Ozo`))639mS`ne*SJNJ -zg6pccP-@Pohx1fD)U39xf`7LRU4?C!F#+Bu(8UmX9=t84=RxQkrsWE&2KH>VU4?U~ -zn$mFpGFn(C0_}(4rkvU~=~Rb;ygPjJa -zbHRK2UB6?$-O`bkmeGnH-L$|XNiB{`wwlG(5%7k!77`ikMS@hipsAJz%? -z8z#=a4a9x+{Z@6+H#0xq{H34ELWolpmldvH=biBHdUJr2OL~Nb|;Ih0)|H_uW}R(Z^4vd<22TSeffMo2ELDszP3f -zk20Q~v6(-u1b@S*Jy2#si<8?uVfvYhp4?IX0Bfo!x&K3&u`Lw<$VH!ZTZlwwBmpAo -zQB&8g=OyJi&Dd{zU!`N^unTcN7#9~P#O*G`1)MWm5aQN2W61pviaX(7vTqzicuHGj -ziH)nyX#Q3*8(?^MC(d!0**1!yw-axj_dJ@}gF47z_W0=Y~f$&cJRfceb5aGsk6RLi|^!d|#Lf{=lbl{pq6Vh52CCD>mm9U(5jm$}SSXnGbofC-tA%i9?fqOO;{H?Y;zheYN4Zd?W>DOMJ?^Qx%d}3!Qo4ca5FUVa4G6b)oHzc?c-c|S -zG|)4kNh_tbl+uOJ_?4ta6LyDi&3-e_@zpYNjhgTHbP{@*@;PUj6?twyBH!^{)gF!$ -zF4as(7Ip*E=hUJjYU(9ONZ=uCI=Bg0OiI^t|8to{C)g -zxCEGme0>sP7Kt<#aQ2n^%9FfZ#c^VJWPhF~<;t^tpLuTGXCA>f{qDZKslu&W#S*F|xdDBOnw|7`vW@nSO6%cmMjwTIHE@s3GEDXqgrcYMo -z1Dc)o@e_~$a;<)cE_@ZzKg0O$ -zcdNG&dkdaS9%s9UhNqIPyyw)peO?MN?@*oL$i0|CM(m+E_o5Qx``nM;-n19Fj!(1q -zobe1k)!oA*$BD4rQ&1M!Nv)<;+>M`Q?}&Zi>D#?&WJrYVK5gUi8@qGK_kZX~9{WmY -zQ}PP6O|dVBH*2$cBl8^1IZDX+`v(m}%VUL>x6@-kx7|orYiL0a@Eq<|yE~jVdD5Ps -z=z+)Sfp_an -ziLu@!74`71I(ht64~&wPJwTu~m3~VhwQnS%^;p -z?5t2r><2h6ke|YyQ=LZEpM@P>zb<nc8}(DMOfJNGGS+=RO%?TNKPA9gwK)8Kt4+dX@%sam;9K6mzj(7D5Q`byf#Wo0?l -z*fkJhzOryfmKpW+w0}eIKEo)K-A1N+fD9ymt|}hnvJ6-sDcuND$zwcS9pC9dQNQXm@1HSV>NTfmc7Mpy(sCKWyMho~lPbZm -zyk&=*;Y^i<_wK66TD#{kVpkogr9Bml!w&8B*v5fchD2a3ED0|r+0cQSvpdPNvs -zGBW{W2MQZo?qznX -zdCQqDkn#BEQeGMP8iIeXg1>Dsi(w*8n?A!*>~7A;R}=iZ4gZpB+3Z%qNLCTjfwRgW -z3ubjG;rO24d2SnU=whaYjdzrI=Q$&cD@ojA?i6WIqksD>dYO77-gcT{p|8#O2?NgA -z6ZVCC$L#Q;7><+5;_e=Be2G#PGohSm=lNLN{R6^>EW`{KeJB5Fpy)gKpfLBH>~&;2 -zpBoVL7SO-lCs$itW}KaPJ>^WY2KUI93pnUG=RAaaUD)q@)2#|6C~sgIb7>jbJqJCi -zZ}s{Wdw*A*W-_XRKC1pd+)pJUe4pZ+|IKMH-T-l%aGbt-f56e}wsy+xjJA7?(ROvx -zPS{)CQxKnE7~oA4VR=!QmdwLv1CBh#F>k2D+w5igGu*8nO9$!M^a^_OYVSLfxEwgI -zPa6!8DXf3LQ1~t4!}z3`RISz$i@1F0BL7+8e1G(2&P~Jno}SiP&2F8pr4{tS__Cs~ -zvibN{4RRke{q|o~BZV9c!uZm4q{V=fZ3Jg{zp&AXr{*eRO9j~oiQn=Wl1;g6gn@UA -zR#n&_ZkxspgN3^OV{L*uuRJqy~%l6?JQJ#$Ob|?D|jF -z+<#@Y4+`1EDH_fR$2$pzclwj>F`8J&(sViXGXIybiy{T|zG{@zd-x#7fpGqS68nu0 -zRa(-oMT1;#!Zgy7N*tJU=r=A`gE*zfY|?Nq=Xo`!tv!Prmms$AvOUvwcrV^@yqCQy -z(+dO);B~OXGljPf+>zu=CE$XtOeNrgE`Nukr65-EI#O&;72cflUlriYMVx1YSg}#o -zReUaB(t^KXEoxDHf-6Q+J`Y;~!zH$=Pa5QF;PdW%5hA$!hL_F#M=F)vx^}Au`MT~l -z>a~=Fx(M}!l_J*Jxe?-FM|Lx1F7 -zh?^GohH=N^z5=k0DJG+b%C^nQTmG_gNF9e>u8G3y7)Vd~F*yU(OhtFvgbP -zi~SNyq&O!&hqLfh;q5tmQ$`G=L6Pd-eK=CnfVFfCxs~W}iqaH&Bd4f*>=Z=z40%5U -z+6AemM@gc>zKEYC{6zP+`w^x;n}6hEW4=vydY~P1LBbgij&pB!#umpTXMZD%>qFq& -zJDs)U?2KeY?2TkZ&Ug1R3@vEV`-%H8OqOcS=`$sx8GFeAFNW?jXMa&q>194-c?r4n!~)$g@5Vb+?+L! -zy$1_2lFtuv{i3{aVi@sw-a0wl2{ZJHqR=qiZsn4*si6cEyTv4S(nstT6-K&~Dsn&; -zx+Bb%#2~k6Vp)GkSo4PhlLQZi2a4S#M;-nIG>OHGMYY*4>4g*Wo56y=?|y#J657K(iZPyY$lcizb=d^3x -z8{4(CR7PwFLvQStF@G5F!1qB~q5}O1YEbIFN*pvcD|m7pSu#_eN(QZSly+tZ<659S -z18{<_Az}3@%lQU+6ZJ{p2{3bl<7vHqX^%c&9DrV&R9^C%iOamG<(+swpFAn-qX9xY -z9XU_AEfr_-off0Fk0N`$((;^j8Vy12!K2qIhb<3y?M<__e1CFfIIRZcLF+DMI_i>J -zKT(!&P4VBCGx(nXGlh38hoMCvX@`H>9{)6XkN;MBEBs!DpNp5-1#>aXV1JjUFyDfo -zveR&%@+}fngvPEZnW0t#t;JrTIZ{CtW^;?t03p|7K4rkTUEG1z0T!!Ko;QiJq@G!feJ4U(wBznG(! -z{rzSkwX@C#4`k-@cBn{3?DIQq*Tg55;qV4&AQF%%bRP6MvIXYn*h+ar!aZK)`S*Z#^!@ -zU?u-?BI2g?8oN2O{=~jEIbVOCh%(Tp;hF`?>@QGG&Uh6qKLe&K*sff~Y1y1{l|~tE -zyISM-Do@Gy%mk;95u?b@UQfIYK<2s@`|uHyEL`p7o`_q8y2m_E`=#9J2L -z0E@;eq<=p0E&iUu_htOO6W_nd-!u5$%isI({Tuv!5Vf|%{&VpvM`y{<(DttN6U`{G -zi+{zK_i|A67ER$Q}!-pL=*y4V?!%>cn3b8K@y8*ijWGeGAjd<~QEA%F#7~x@1$!CgOYcD*FP~G-I;@tN5?3pg73^#LKpZDEpNO`1^s)F6AM6mtG%rx*zp!@DdWs@XsHgr=%?$O{^R`PQp_}is -zFqwxP2w_1|l<`)F&>JzH5$40$ZxUPrtA -zPg8yuXgYVFd>)fS9KZ7P0VlnW@PEGACd|5oBO`bV=^-vp(Vd*HO@I>9aH_SFm?y~c -zbinSHR-oS2E-jNh6vph=RAGMi3@ZExcMLhcLX7=Y!sQx5K-JdgI<|z7Ru^mJup#HZ -z)4C#T2EoiB+bGxX}ApT=6@l6PRna{~kCy1`t|6{# -zlCx&ZG3M6>=u3Kp7Nl_s>s1P|^%^6Mw8&F97tT#w7wzB@U9?};3w^U)VWDqU@NY3B -zWQA`G8&avBS~1@(;eWAuYS((k`gi1b`@xS*2X7y#1wY51fzUVG?cj_!xkJtyJHmKJ -ze}on%--oZA?CWcq85(Ppt%rsHXKBFEsw(n+2X`M{z{zPHA+c=)zf%og-w;g^rz;6fqcEWF$lLpsC -z%0p=j{0@O%KY#r4@Vge`Z-n1X@Vgm)%PCJU^Sz!v1HWhCCv?DN*Eizf>!B^%;kOfh -zyWn>t{BD9Dl_>SY&wx6D@H62T@)XO#K2&0ukXeHN%+m99b7E?E8!;26X3h-xHGh&iZw5)-QcKJeQ|Cp9xjJ>; -z1tjG2K{(2apHFP>cl5ZAD*0q{&5z|=vae~r54HR3B^T>WWHqsuUJP~QnvNxQ_r-ck -zTR*X7$l>KVe&oR%U0%$gUY=NnsWT@&tPRnDrXbM+BWIXpGXot2TloM9l-HF%C1>7# -zSZmqbLVsFvaFY6V;((TeD|nd|yv(1Mvob4qnIiND<(bTdde3_o>Y2=?@VpeB7s2x) -zcy5O0X5E%xG$3bZ1-AE(uom|Q0;7os(q*t8V4QVoQzwB^M-zdbqtA!$2zG%5~ZWZPeq`cm=+- -zl7H^{Ejqh7tUq3ZkZ3)#q%LgRMo;5+*mj3&8~}{lqzJLQ_&C%vjs;chmWy?i3&^xQ -ztR*BGN<%3vOMo(|s_-!W#B1maox^C+bFXg4-Eg@CgP5?Ug>%6Sh -z%(5tybv~5kgR;(NW%*hbKs&<~I=bV?@+jM4Ko6#Pdw)#_ -z#s-X^g$w*kI0NlPUz4vD{pp-?Voj42;dfNNa$rfkVMbMTQJ0IQ<9JO5S%6Z0uYbega~YJGN18CdMd$Yig_S|W(jC4ut#w;}l>gvy -zd<(+r7=Uk^i0^9?XB9mTTBylp54d0wAo5^h4~>Dyc>o2T14(A-1KRHMdf=~9wmQl-cb* -zO~^0Ks6k)D$HU1qm)sh)XpwI}d>Yq9>bKK1M#`qgYuVTnT6sY(aKmX19cSb^e#CAe -za6I|CJP+c2h-VVtuV73bY&-!@D!**SH^2~!aGvok40{xR%Pc~;cz}hCIAPt3mP6R1 -zEOwWU))7TX*%>0&E*&9`+kZgdA=`AkL(D9?26Ds-IX+7j<4bdd$=!v#*SO*yVIkK$ -zrEM=M?UXi={j^Zp_Hm_M!Ai3iU8yr&Z>O~Pn?;T*#+A04h%vho#_X3Y)n!g8 -zmzR|CPN9^`#+CAeLMfL!rSSde|!!=c`9p>>`;4+#j!nH-tmv3?*V=d3ZviHY`6GNkqc(jOs*nSiVR}RE6dJ)Pxz9 -zXI3XF!t!UnL?A40o0!nT@{WlKZ&*H4NyuTjd4khMrIxk!P=fF>5x(z~#rK1aGhi)N -zI&XIU#jLk8016k8On?1_dOPeSnfi-hcPY%Je8?1@8sl-?I2VhTbOsS|7rEjdVIh|~ -zrEM-LZOuU<$ED*+dqb2K-^}8;Ro_P%8yOaEB1ewG3Zj07hue_8L_5Op+YkL&p^YCr -z$2g{xYna`3&YKptyMGF6&Y&nMS-QuXp*HDdV&BB)ub~9z1b?ATny(9uy -z>Iz9!q+g#%m>=+P@u;a0Bv^IWd!Y0Q_q2I9|)pSumfrC$Wui*Hr?SjzX$Mwe19W*!&ut%PsH9>N}J+ZO3PIY -zT0$gq4&vR1qj1b9U)Ds-!Ec*GO#_VkWEl4;Fz$^o?nj>==~}_^z__qK}?0jR1 -za}~vd;d2U@Ijr#0TP2*6PStQ!Ifw315AtDi)|FB8>yT}RbEaal=K!&4@jl(YB9G-s -z^I-E%+ruFE%bo<(VEvsLrXRgh` -z_X^Dn_v%~p%+`~%9(o1Te6p6MSHky+@O>G4uY~W*;kgQ)u%~Sug6B@Xd+VUqOMh>G -zT7C#K^1t!p&<--U|8$p}Hy&afxD&J@oUMR4UQyte<&2~(F$v-UEoU@4?=aGZ@Vx8& -z6bm$p_pk>PzlSsYJlQm9u#h_0`gV)cH??G!cmW6wklF1OEfe6e0`x;k?g@!HM^Cc&+WPI!kOAskiXDL>_HA$nduio -zO3Aa=qrm$`_^$BqOI_icS-3rzhtgm#F)Eq$jD?Cs?ZHztyX68FhIfPuWq*kx{Y5j0 -z-I)!$^q%}_n!VvVJ)7^>G8*&%Z(MU5%p|_o2?vu@jIp?IVpo!4th^nA_2@LjWn(p>hh|a77-$-tvX8Q=GR< -z=rm>>48s6Etc5Hr=Y(ZKCw~=UPu9?i=&N!)gq~OkU8(UfJG81$%aHTd9U64fl{>m( -z3b_N?*UI*S-`3#n93#j-T}g(uKKdyeJ9e5iQD3Z&g??5HjTb{li=nAvDDf9UJ2AAJ -z@u$!Zrs>Gq*086>?wS2S{V4Ps7w3Wj*V)talyMX%OP}n>ft%25j>T%{I=25+C$Pq}%*9mn1UR!y5d34N_P<_E|iM -zo9iI-uVKlt6NmNQKz}(7%F+!`?^&Areu44bhXsHAEXXSp;<}gq{Y-H$y>Z-_JTuJi -zQ*3LaX47*uo1DkmNO=f3hqZ(hpAZWPi%tBQG)FmHtaV#Jt{D3iWP+dM|`}FMxW_AJ?ZhhJX2elxm@L+n+xT8oio-a!(4XQUUVs1=Voie -zUVJfo#~rpibBSgz*{qq$fPGXA-k=uyKu#BZ*aG!zg?cWBK3rC)LveUB+Ud@{TXL&r -zH(##Vsmp*G+<#Fce4DeeIbFcS6;Rfd$FpeYBClS9HLLa-d -z8M$%Yo!4js9nVKRv4AHFCG>V(3#ABqJqMi5??v;;H-EzDW4@POtM$s)l<4owJYDcA -zzf*Frc1R)oI!*X=!ur?Pf;Mbt -z?;+%8l7E>b4S$(5f9u%uH<=*(&-@K@O4uXLQP_@@p!7cB@pkG4O@vuggl%`i#-7%6p+;FBIm{hR5Ghh-d9ou$>*yPBGW$OMiilv9Voq+ZPw{0}d>78`o=Y-weYA -z7};I|JL?MJH)uhZjqVK)eu@K+G1Zr7WEBhqwbGjNhddLuyz^Hgtnl -znsQHbiJ0CRGKz9u2ic~su{u@X`nRHXdzfYg3%ITvaaTKCZj4sQ^iol -zWPi_c(f~chal8Wh*$a!@=dC4@8Y4bmocOeQ64$4C^Tu6GI$2F$XsSb5u?m#@C2Xd@ -z#w35aB>jWXvcEegG=QbIa>iRIl_0fOC`3Il@mgB?%V^7i5c5X{8!k^)9HLVU7AWiC -zi#42owjDylGKXl4e>cqU7|`QYn8p}X7k_&zUydOy9V&)JJ>Sl^LJ`0*ne{b -zpU|QgYwB5xS|ivZ{Em}=F+^JG8iHc%u -zZAmPqbxso0l-kTNtCPzsKkC8vX@4XTk|sjCf%3uAX)bxjgjR|tLWxc!iPz&YA7Q!B -z0z3E??2#XbrvofJRfQ6bzpCQWflpOclDNdvONCa5^ix=hAEKUKmExpFzw^h|G_W#Q -zSn?ArSEPV1$YrdZps<;o2*x53mvZ_kXE3G?AYc -zYWIbRXgM(_4fGsULuWXUM&snCvTp)lHAtgQ^l5m1UrT(3M10jI@k#Z>7nGqypB!hk -zNeZmeFw_jx&9L`n*r^As{%RGlZvyOR-)pe&1(bCDo$P*kKk{V6SnV&LqBydiM4&qHal4_^PFGV~?YbJy6r?*VJ#Q>wncxe99z-)zm8W -z=S^hhXZy@$V!pV>SF=`J!)0c->sSUwgY43@rs|z`Q)qNejmcvXC&bfrQ&`KdCL1LV88yXjKT2* -zBwgi!e%@9y&4VMC@Zw*D{b|0w@`Y@)Unn1<@8hhNp$v#wmg~5&X5p^`l6rtTm{9rm -zI{ZFTt%IIc!+&_I5#m##uv%&eLQ)fX{WCF&>hm~)xsF{m3)O(+z?FhKlfrI#^K55Q -znCt=HMLo>M0^dd7g|C2$`xQKWC>NSa1GH2F%@YNhC(y1cBprBR)ENzRz__PcW%kGp -zBxWP>6IE7P1Bt7A&s9k{@RLcncRnK4X#n@sM<9GN;eX-yy@~CtDwG-aasJ_Ig1e-L -zBz8INQE^sO_I#7IFCMrb=Hk!cQ#`re|EXEGF>#5&Z`dy3(wLjUWXSt{fFV=DyiI@;qkv0x*Z9q#F8H-kA&Y1IxyEpv -zOXsW>`hRhZ8e;UnIEC{Qcu{YB!D_CbVJ%xg(Wbt-td1;z_W!P$Qxb?4Hd*pr5d2@&Qt@y*{|7|r~c_tbzBn{KLs{Hssg?B|H7{cS_&=DbZ-UVnG04)Tt8*`J*{eOgUbN_K+?u8CC!sV9L+?N5AP=&BKXy{Y< -z^OsFr_b|#@DzUw_#XD%c&irEHK8tO__d)CGCYiy~Yomk4qmVZ7$8vT@>|wls>!6N4 -z^l_w`Y`vSzi^!869|>r2ozEzz?~(p9i8D$}{>7|M(_Lb$s9IB3_5j0BWo#w*7=Jz} -zgFSfyN&F>ey&k@v$>(~V@Wcmptyga^_c9oNfh7Kpc%zKLa4G>46w!)DNXN82sfg^q6wBTA?1*nzTCw;2p -z{@Ma3dr2|yRIm8Fm4wTRztpsp*nc71Yo>YAKsWwaRxKaQrMjQG5$P`Vcf;zh!*~xw -z$WwrWk#Z_ynnC64@0-{wSQYmG_IoZoP@c24PBdVK4Vc}Y(VTG#jBtSB$Wqq3@31kY -zY>hl1J3JFHD&DZZQ%hIXixGf5VvS-#<6d-$lv^? -zqmz@RJI3*_nl!<~+5tH5vVVx1FZ$=zf-kyr9PjLJs|D|Dr-m9)6_HZj+1slH?`)Tr -zm2MnY??Z% -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 -z@PJn(b~tvC)~g2{AJOd -z?DT=wh|ZyD4bOQII7#Zv=0{8OWYUtVCuy`6TgSAK{d^6em4CL+(=l7s@-|=CbBE8I -zVoq!)$MHCzxw(!6>xCa_?%jHT^s2woP#=#@OGq@*<9}T1p$}_W<*!<=`mAPOG)d3; -zpFrOxQOuR~KYzo*#5dYJ!KY3Cq#^CTJIZ3M6)Y5Q|GiA+)4UTD3yu@3!RV}<_^LAbECE8V|EdZE; -z(=|Xn-cjlB*Vf+B(prpB!#V3rPZJBt88ZMr0$Mx33V-{ywxVYfc#G?=$oXU>dZ9mO -z{YSZ#g$1>^cDoB|uDhHrnnKD@&_Dpckz9`aA6_?C%}_MSu7E3gPU&|DxXg -zzk+(j{mBzwzTU+LM3eTH8fP!mI}hsheEvAU_+Rw*z^|acV&8l7+u}~KMlb63a-P7u -z5PxSgJB2ksB_9g)WgR)&cVx7Ei25@wdu(Jb(^>N{N@bo)YBHcKMn95LQqKTjK%c*m -z19iKr22Lr*M!7bdg*rfTyIfk*)0!yhhQ#D?CFP6*bPu!WzQ2y)xsLe}d2!J`v*=SD -z-2=2ibJTF%)ynHde`|HO?3(0?tD~*noYltism^~`Xb^WclRtmA$;<9=>&>h_Xq8Rn -z_9e1Y}7vM_;6JncJprU12=yfaWUK-8_+o%7Wh<=)rAK_nrBa -zLOx3`-eo&-j_Vy+Fk{O^F2jwo6qXLBpr|Dm)3vS_4(R#gcZ+xi0E&MgmrB;-ZALw%CvZ>g_>vuy*+X4 -zOg~#{l=`F^NNqyu$#BMKs5PB@%Xq#J=KG*2<+}IpT`%ta8{ur-q-W)Xo>iun+`WG@ -zJ1^@wFW9!4bUT)CZgO*$5B=GF_j;b~CU -ze!5$>7V9`o%q`sy%0JAJGvs4=Mqw=XABVFxt`|6K|1X8Jy1pdN+W&vWSuZR97o2s* -zdN_Ocr>amW9jj5{hi)*jS7>-Ww3+LwKypRE^sw72EF@wF)O -z(GGB(!ya7E<-LS`Az>pZsSEo(J?4RW5r&>v@5raXETWZ|7|BQn>S*01R^oq4;x|sc -z86%~)yX0vFtnOX!wr$WWHS1a0qL;H(gZ=)asHdYvN6Vnyoz1!_=a%H*jLB&@p6)eB -zHw)`ol!A3W8+nPWCOZT9;>V+J)+pC=d7;Ur?;@w=YN78U*U3-GXa(rfNEht)?~I}? -zTuyWRZ4~ADVfFuol~)h#u$zDNJw|SEK3cE1<)hwT&t<%@zj$-j15d{XwgEW_w&am$ -zslSa+)^i-?RIO2@Oj -z_;#H0RzAkJgUaq5Kaqb;BX7M7kdF6qV(v~4m(HEYcjS@c?&}mNbq{LB!#?+v9F&T8 -z4pYx`?%Ayqb-Vdp4bvHHygrfJ0b|7B*&RDo$68T;1X8s?s^m|anhSpRu$CU5Z(LssDPp-XbqZVH -z9cOaeQl`;jqs?xUracD`RwvNwuv5sX6s+lnI?pGv-Fb>`FTruhBvMQ^d?K+sp*KrT -zbcK~c7}VCCV__MlH5_&Prp!k)56QVgDqQ~4j)5|+ -zaO`V`=^kI+y4ta-t&Fp(9i~yoI<`FrYy2srlTnhN7In*{u>2^DOi1XLN!*URh)qlX -z80E6vi8sRZVo8*TExyMoN1y604}Hjrvg)KqnH}oSEAM}jLV3Bbpu7-mLRzZC8n~b% -zU-ohO4Y7+ID~<-9Mhr+Na38KUj{80a-1mEi`%ZA}vqNWcJ)OLqPA~8xHQL><6H$!_4XTCN*&*uMS -z-lEO_DMK+x_#~IC19Z -z`z63OqIBg-hd<5xeao4S|EMpRhwtrU9D|(!+gld`ZhJEdbFifopnQMF#ul^S?P%zlN}84n -zEl(yn7bbTdf^C3(N3pkJz5|$bEBngndfIa+5xziXd*+aO`w-pqwkgDB1fo-*C~IjB>~?L55W=G#4M4X0N;1Y{M%hpsWky?*&x~L_0q({ -zaS3Q8<9Qg{to1ED8(XGl8;;fOEoo@;5mRxTdaOS9&gdu!W|McdthHRXtrajb-8yn8 -zIDTBtAn$l5^dna&!w_2!)j4L!TF2=^4-S9-{rXIC&%8i)`&N7YOnw(^Cm+&qMFvSG -z`LJfvgYcc&Ry(xs#R!MfAi;0+T9LDUA3=>yD~Y<{9#SVSph21Y7~Se^Lm~6vDB*&(7q2gqDAi -zZs=XwgX3x$Psyxz6lfD_Iy5UU$Gbt4(_V6K@87^>yKG~Q&c_p5fVNL;g13k_IFe4b -zF~6i;p+b4{O2VrP;fIyTD%ETd{l|6lr>N+^uxVDmf%|3oeE%o!)fMqf$3Fd^45CB^ -z$#y-V+08i0jj*=5=RBsh(@BJfRM&sZ0qUlA&MTVT`IgoWR8;Srr?tHG1IUTz7Y{Kj -zds`3JgREUh3$|_GvWa%GQ@7_J7HX(57#8Bz)JA2y`7qs1b?W(!&!R@B-8xT4z7FGW -z8J`l)=c=gbAeq)#(1J>M3p!^OH~z6nXURAoTo}jBl6mjiAkH$}hOt44{_TGj6y|d2 -zKIihgg}FSaWNsFf%*|`AxpC~~ZE)6H2V$&xhUxHp$az=PbSz-N8POE>FW4Co{lwtd -zwlezRtx=Ovf5m;^o6gu~I%etUpRUbf-k4b}lS^tT)({+1!v{c>oDx~W;@%oX@1qDi -z{7i8ol>bdEKVMRQeth|+Oe=q#I$-~ai#j}Y9;m~Eb?lBF&E)If8qFnhk#jYCe`6Fa -z#20OEpv2)4LK_mlw^z^9(>{yf6LGqa=)ShIs`)qI-fD)$vHdi?N>&T -zTWueGFyx~0FqSHpd230dmz~#Go7xNO{EiLc3^ZG>aIN#I80U{1M_QS;fiOWl=Ti*F -zl4C+PQJyAPL5qIUf4G6m-*sD0YPc(RTYH%%n;m};R{zP-v3`Hj1uyf*8~FLQo%u4V -zpgH3Z=GzF%7WnyR8~FJa&R`1j>of;3$}LfTk_kl`gm25rqoCg-4nAdG>IyzJ@!umG -z1fOe`-fFqq!pGyu4P4Hl+vs6(z1_w!441j>eJac%GSCQ4S>`(cu~NR{r_p)?r2_*H -zi~O$VA^uPgiRlVO{nog4x7+A80cvQ -z*ql!Mg!{C96WV$MgU#u%{+J(nScUC?LuP5U}4efCUeUeGRJ -zwA^t`=aD||LgxSL1kyy-kanL+W@>EoK297VbSg%ynJ8tygwugCTfcY8X&;Wnz1-@j -zwJNbd%%Fd!rjks{3azCbJ$y4c_dm>HExdbbT8}yM@UWte;U#jbBUoa9m8dh0^{Pag -z+1&ZtC@X*OHYo2_DDPG3W4(a3X)wAYO)c9BJu8IGxFF<|ernUTP&)ST7SgBlzJ8bN -z)wI#XTNN%l3cj-(ey9PIHQMxW`YzzHjNNL(6Vjnh(_Z2qr6a97j%N2_K6VC1ig_ip -z0LO>lkue{}#?R4XmtuO-N`UMIV9a&=G`#UHU15LrSSu3}wbM$H*h7o;c10s`h3^jv -z$wEk6d0);akB&CT_V8lXkNM~~C)`PJx6B!Pplr1N_Tz8{_kq!rfjh*h&?5ANS1skO -zzUU)d*Wfl>pNg|?P)5*X`cje=qSQ!*%1B6(ja0plq|l2jl!}~QYE=~W^#9(3`GI?m$$`{HC8%=XU! -z*6cZ0a=eD~SYBu<<+Vgzyp~b9ASD_{twDd-JAqbHn5NeIH7Vr6Tk=%s-5-Mm-@Xga -z;&=7M`r20P&tTVPceHoPb`bpooHC}~YFE8fL0^Sw>Ag`=FUp|0>if%HkB26n3zFi$ -zQh8X;vpnW3NAHT+m2vTvtwnkqKs0Ymtii8N`1%7-t+ha5W~~MA^%ohvz)g=@G;4ny -z0pCj@=iw;TW~E(xodM%kMtNkd?tO;Z`wZ=X(AS{0G^?!(zFvi|82dU*cS+D$U(?YC -z-7M6QwdUw?`Z}bW6^)T>Y`&hgmO|P$AY?Ync@TWnK+bN~zeC~cuMl?#i#yoGYdQnQ -zq+QT!!8U_=u>1d5dlUGms_Sw5zHNWryf;~1UPypsCcK#hG6BKKB+&_Ofv~vIhVTZB -z6I+NoUmFv5voRV6;xzNd -z6~cxa;D>j*Dbk`Xq4$Ku*P2A0)>2ZS3}DD9p}e!DsWTuq|H%sPZv1d)Y4T);6?CV5 -zu|mYga%N-nG$~g<+srkzo4J39z_Dl%z?wS%PtJ-qXnE&5(V1`xIjx^7sNbu%PEbEr -zc&gj*O^Qsx=|HD-vy@RQsl;Z0XPv3iO8AC}(r4XuQI%r*0hbQBJ^*Y_SQVAoWe5Tkc%J4fGrnrCbm$x<}U7(^g -zs1xP~_{0X}qxO#B+icTmy$gDEG1Ph&^l6rfwPmzwR(&d$4BbzzWZI%rF;NC0cIc -z5$4Dm{x+h9oj`FP62*TSUV|D^MKv5bvIbQfH@ug3Lm%dvXk+_2)X)O^25acl5W)*g -zVI!g%WSQP6Yy@#FJq_z+eo#IjqCi#`MS;x53sE5F4~zPko&S)Lk(!bJho|iPJB@Z} -zGT({LxY&GFkUJDf5~U9UatB|M$hZ^_xm%ZbMvd83y|WK3ilKk>)(Y;I-%as-(m_&J -z^kavo+&$zcvast*0=s?+oCxd30wu63Z{6L5oYD!nwy2(up`L<#_QMri4kT6~)k9GB4CGlNsEc!3&2vbZ -z0EJ>Q)HAZjVRV0)m7M>Dr?ZIvy$ay?d?RU^!`o(-DXC`NKLJ|*Jm92$!et}qJJa3J -zZrZ9{WmmhGcA6)Jm%s^;Db=YgM#K7J*!>BYHgF%7MZPRcG9@hmKas$DmV7+qZb6NY -z4~DW^03)&;L)}|Y?so_D7U%SJcz@BbrKtdj1JF``E9!rlFVkdbRbxGOzi1?%tYT;0 -z)q|y2FVvBIxQya8b6b(>5N{$(0Kl!Z*R7-uXw1!d@D(XMD1$xVZ=nTFEP5JpjbjI?1yi{#xD -zc_+M)^J!ZtA@4({*){u9Ofc!FH4+S*TN^VyRv~?|DvD6{x>ms#x -zv_pcEwBueQ*Rd1+-Z$KtAHcVZ>txnD;|Zh8m;ZmvT`6J(?{QCm)UfA0-7d8N*GhYO -z!JTjx?zOv}tW+JysmRfGGD%XL$+0ePPt!d^?~Fsue&>;>TjW2cXC>cr=vSi0>~)SZ -z-MDufV0ZL8Yoc;d`Nb>!JvXAfSK5fr+!)^`*|vqZx((#4lt2tmg(k01`eB-MhXeeX$Q_}=bKO)oUD?;=v=jIQ=+rh -zb&ddz3w=7YnmCRlP48)ecq$9XInH0{#jM2^B)>n1t2X>!VPP#pfA{Z~1?~+l|3Aa^ -zL?5o+o%>ZQ#r-r;j;Q}yTt`Wuj?b0B)XslsTuJT<_T{%LxjePoDbR-heZNi$%r~$1 -z=9S!MN=C+;52PtBiSmdAm9?_BudUO_f0YOSJ3RPz72xmn^X~sM%uez9=C$+iN)bN> -zC^d<0Gy0vCf%&HRM|)bY{Ug`wvwJGvRVeS-Z@vuW)3nxr21p%5Qv1A98=J}S#OZ&O -zj#1lynyi67=8@)8@rGP2cm(&)XqC=rN9C4!$z8q82hnc9c`Q}&tx=UJMkB7{X?}k{ -zSSkDlTD!*?9=!hP&5Ki*7w-)JVkMVtWPzGQzvFn8&ocY1zld@MX;Z?O&#GjHOKh0; -zxGtb+#t-uzM^w;}(b)Xu?wskS9nOD*+L#w-{eaNkZ}5NL2iR1F`-bKB -z1YFAXnT)?JR+6DV@_y@o@GhhNXtQ0h0(VO}ND036n*4^uR&3Uvx){E}H}qAHzm1|V -z4WWZ4u@hl@`{Mb5UdgQ4bhD555?u2IW#`Sztvs5z2D}AH3#}pB -z?zI7%+K^Mp<>7I>6u-x0Mf*^8uF -z3y62(5?LL<}cX2_s -z!!;e2NxzO(&|Rr)!6@h2b#42msOBFDZ4P`sk(C$|3_dD@?gN3cTABlH=#Mp*p@%1( -zzuiM`7=t8x?uBM1j52vy#3w0Z&+59A+=l(&J!+R1uS#+HOzoHN -zURJ1Q^cs&N)hB=GlIosxzM0WK9CA;7#K?s4es2(XgA(2SF28F(nI&H%PcTmgI3vgf -zKCjeW)M4$e=w-Bxn=a+10cb{p^Ene17n3}OE?f;@)_>E_IA -zOCL%--4YoeHaMbf@mg`CW_>p3NoC!CvY+JM0u1#caTZ@U&w2ow^mYyAB8G}dJ>Y;mm -z-Zzb8H|2C!gSRXV=oM`UZ&&ixkwDKSXXLG;$VY#>W&sqZ^IG{@3*o)bs>N8tH0GYj -zYnXrN*MRr`yf4vVeHjCNvAwl=_BGlTXz^4T1p?_R$rGHv&|j;P<0O+9~R;7vGC&+wFOe%!bfo=|(|k!Z1=ciGvT -z-_AOBlGFn^`Z(=Ejm|2R(s_ChRcCWvEN|_q@*;&`t-sU2vp8>^Rmwa| -zRZ5&<@1Bj6*^eo0dM8gS(u2~tet@KQp`8yT*TQy*mXeOWq3F6bAa8A -z1)VFqf@`!7DehH=nC>sR&XuznwW=(Zz3EZIu1BAf*_)m)GP23KZ+hEkNu&47naTZ` -zS(3L@;9+4j&g|q~@Q(R*EBONX)IP#Kc%QAaSliZ8=3d2VN7R>SC%Y@EdRPru -z`~GW1$du4}k)j>UBTy;0CE|HOv>$&ws!@cER!@YkM`=B%TH=X7{ -z>Tk7EfJ3rF%RMby==r4J$dxb0iWrqJ@RSR_wF0t#yx)*;M{QzHP&;-+ay=zS~e@s=KgEl6!Ir!%>JMS^*D@#3Os-| -zmv{n~HLC5J&br(7Gtug!jPJWYrjOhIB$O)SStySLUskvit{tl -z3qxF=Gl^%~-%#?Quxu;vovOu90~0kfx>K+M2U;xD{ip$`_qH8s2K3s`=Ju?dhojrs -zQKU%!z2tG0kUZ)_x9YmHg-v}IhsWqOH3Vwn@IXqjyZ%13g45w#Qd>IT9pZPtZw{gN -zD21#)UmnU$LJxmCGQ#2SLD}7{XLBD^SQpyjXQc-L`;TMU_(9~28M((<01u4h{Gf4+ -z)JCaD*AndkCx~2R|9kJ*LJ!vB>)rA1vg%;I?nMg;(g@63TYX(nx02si)ib=qw!7Mt -zFx_Ou>4b{2;9c3avw2M8AbpT1+9TBm2K9eyq$j;SG2?&kVS6H=6AWtySDamOtCgMk -z5czUK4+W^ri_-oMCUk$fw7>aK6Lo`;qUaQH=THXsGW6|x1k3NEcD}F#5xV-Gl_VR}XxI7-@NPP0xL -zkylRX6N`Up)i|~IW`8%-Tm7sAbSTm#cct+R>%z9+^wax$pEEmcF{csD=54QsSaMVzA$=Kxhgj7g#Z{}wa -zSx8%7GL87XEAiIS(5se*SWKf`h4EN&wT~EuXlQl8XlS9AsSn36x0>JXA4BW4UPMO= -z#zcRE^?0MtlaVJiE;}fXRY4BtuIB^p=lbJSKmi;#K -zyBhnvgfNT7daGYD_*3#aTn+BsXydsTP;Y3VMTDO|Bvt< -zd2^OZT6m(SK5Xjb(F>nLy(IV1W1x+NOWJvs$-3$ -zrwn+3Y$Jg=bD!UXwwWi^Q-xK5v2k7 -zdf@0^f<1+teekaDoK>EE^`7Xcl43f_`4dX;#oen!Jzl?x%OTtp?Stlk4S?N_ciGMJ -z5X+izTDf&l4rLraK`bL3Ai>-=bN%*8PY<7@%wx#sOmLl}rRx;mH^F~oUpBE$_Uw1Q -zfVK5WkuL&_TgQD7%q;RnaBsEeZ{ULwz6c6=ACB-vFr*H*XXm~ou2|*yJvqb7$v+(7 -zgXov5gzmKTLm2CKHHn@Eth>iaZ1=I27-{8SC)VKrbLwzz;;f!cG?%g;nSIiv2u8f+ -zus#fsQXi!@7E%+1)cSuyYPyg*v5-0wQ_JX1*}&L96puoq`|1d!B|1_( -zM6RcNjp^Bst?>1f@qH_ddA3-8SVO<_Df%OTr*0c)^pEyUw=!2g6*%@3v{Qlno0OAI -zC0MwL9Y8@R8SayW#QPyJ$_}W=RBOd{134wEvqrfGa<drOeOcIfGV92y>Dj*-E+M+3r3I^}LDoTnJ^Q -zM*wyj>t=5o<*a+dO0!S?5!CREfh!5|)hvv`^r5}LZnbBlPuO&Sl%*F{vvfx}OLyrE -zrA2Y{UTfL(jH@qc;?n>=Y53F(PuN;E{HT!$@5Qp=C*Xf~JnO!2rHRs~MIxU^|BR9c -zdq$eI)l}zVs=xcPm1f(K2KCi%N%LBw`q`aEJH>wUr0FCjn}I3S)RGF^w^~6Q6cg6V#bb_peUcyK -z(l+RITZ(`8Z9eJelP}rfe4L!G_bjuKXRDEaD0KJTjVsJyHsmrtBV?FqO;|dptAqY` -zQ1jtz)ZVsMnmPMSGgo<*nH#ghCoR@M)sH! -z&EEP)4dmWmHoA{lX7UK0h3Y_+0PtG;)o?=dGTV`M7rBYN1;e -zkbTz_(FvzzJgXAE4y@7q9dzK1ehpe(iZR4G07oOnw4sj*`m(js-dT_EU$k1pElmNW -zo3Yk7$>8zXweO`kx%t%1noYbu|K>aJ&69t7?C0rTKNs(zpNp`c?*eYtr5dFVAaz;T -z)<_D!2>MbHv?DH~np_*!RbrQsvtf-@y=&-Nav^H*7N|x}A-c!%R%bA-73m%W-?qGK -z2+EODl|o0-)BbfC;BBA>-Nk327dDDLPySdYe*G497@ij9Xf0$kes|kWI;O-M6Fz@H -z?KVyDejFy;Gqpsg$~L2rcC|=*9@1b|0U|(GrIJxg#xi;9dl-RF;*t$ax!d5!T{b@UAQ!ezqqDOk$;QGT7 -z^>ZWQ0=(1cM=buR!DUE=9%Da-QOJNY4i3kRqQ_7d_A>9BP>b?7Ea%q4DWKpj -z!Agem!;EqUvp-IE_A)ntaQ-Rxym!J1-!B5%`{?!P5usiAF4d83c-bJ!zeRa#Z;Hz4 -z4&X_S<$osOs!b|2?DW|Q3Amboto_JpE=%`nM++^^w_<9IlJaHk80(;ht(SlK6OIGN -zCwuaDhMbQCwDfSk>6;Kd?a8^?s#{X*K^kd`d< -z-V@4~N`LC}D8>r^LgnA)tuuddP4~lE0(iM?I}LXq=%+g^np)z0hxa8|HITpg*EQObqeL@o%4W479LXompetce8qtU -zTn_K-M+8^JpB=@+?~LGnBFl@8Cb4I#@&B#1VxUYzk_*JaGt&M_d}T5!}mD1Cwp_-yoZ0eO<`a0?wapFZk=F< -zcn;bg;0b>wo$z>O?2Tsz1sm(O^^=x-?mOG~HZl7TPWU?>3b~8UI1?6JA0VFAAZff$xp`if@gt!ru)9zf)*qa-5>&8e!|%%>KW+FRNWKd99;Oekv{fL -zw(qfrlV_zVp-<6T=Y72G*I9DAeQb~Wwvl`b^#I`gHP;15s4?cch|9+lH^-&zAI4n3 -zHdv>d)$u&AXZOs88t+6M1E}$K)IZQk_W<5Dqh131-hi44 -z@cUcn)6kUA7VOj2s8IlEzp!2E(@#;a0NyXRTgAOKP>th?ZVR|x!4l>!Uoql#KvL&3 -z>g_@pQ3z%&`C+p!a=B=)C?WrvV6>*>blZw}!d -zyiO-zPba3#8N!=)9Vnj}LwN6wPx}w?o6RBA&$1b@(YEw$D^|+C>xouRO^}=dGIUxQv!a*12ay`^( -zA=!U7BVN>^bC8h?j^dg_xgq#(DLi6~c=Sh*9i<$~w1!Bwcb)9v*nx9|Ue#{*=qX3HJ6nMwKgIM{!ef5?_>vYw9ZqQo1(TX5g>Tr;${<2}kj -z%dN&uV|z -zu0R^6A2|g$D*c9dQ9_!~qeD&);84KMsmW1C!JM3gvbwk6@695a{59urS+6IP^K4Jc -zq<*VhMUSIgN}6~2HN1--t1^A+dB1YxAmi8ZB31O@j*xW4)$RGAhdt- -zD84)XEN->j_<-s8!AN=jI^w7MX}=I2L9_7_O^n4{BdzlEDdK}B>eJUqmjqIZy=}Ph -z(@d0J!x|Y=}9dM -zJP!uGKFv=LetF8MsV9$`dIF?oL~Z?n667g2-rKx9kbkO|ulBT_6!4S!F^u!TfIspD -z#6Nox;d0i1iI#vl>vS{gJZgXRS|^&_&cjBJwG4jmgWo~Oe+TkUgZx(@{}lLr34Tw8 -z--qD$1jye4`Tg+z7`!hB+KtQ3xv%q+0=~|*bGglqD-Q@?=dOIZc*@Er3a{tg@-qKv -zP&~QvX@0p=L|Rrp*?&60FNYG*PD)$ur=2R&y5*C6&+6WN+t_nG9~ghD0=}DpYm#;5 -zd0nZH?IK@;f{Jy=DQSm-`PyHLa -zd+xHR&bR%3dUwGY=;wb#IuG_#f7Nd5&pTskn@O|hU94NFPzpG(en0O%>zpFrg&&;e -z`Q|R3-=Oc!FS6Vxaj;C#51OY7K2yNiU39Nu@8UkV-0sz+x!=dk(6e%AXu2E)4sdnA -z?%**63Fd#To7dAPG|f?V*MhcJ -z39jRc^*B&Zc_{e`_tnR7e;4%g2+zmzVubY_bc2ohGANf`wOb$58To)Bze5?BL!axl -z+dTdx`Gm0>1kJBz)K`asG2RauUx@MED(o$vgMdvU%C_W;Q)6@vG|`8*o> -ze>B;4tj0U|fz^Nh9X#Hr*1V~5pg`dEKX)V@{fx&Yzi7Ranh(^ -zq~CzFf3<(FqfzD4R#%+M?aG6A%$5eMUvXGFKW?&$?BuUH*Rzw~6W%KuiT9i_G0#pu -zEMk9McP@|dRBW@|F`CUbt%KWy?$$nJWjhDTy{MwiaP?QLle%L6WArV`DGRIR{>Dix -ze?&#Cyd?QXjf`H^9)OhOOKuzAmE2GD-d?-L4}TiVp`>xJ{)ar@_L -zvVUF<@7(^mnry>4r}98!h+8qf800-41h^b5^qG+&awV?M=;`5<(Rf{%duETTS@l%| -zW1wZ#R}8Mteh&2KCBO#B5PyCbo^7=k$_4SnxPV`#8tG$-r!$6Dk?Q+o;d$&$J5yU;z~t@hMsV@L6NT-1Yt54u;N -z4_UG~T0KI$7Nwa*I-xUHiF?RfQRh&sNsQl8in`=)xE*_1%MGKP;ibg4an1E?JxVsY -z9G=^Ic&BYf{>KnXm&X+8tIO(GBbkK^jeH#O5~(3_%tuGCS?aK3K~abHS( -zd{euh=Wh)Aeshx-lZkBCp#Ecg*q~)>Mmw5h>nL%;k#Ws#t~tx?PB8{Tj5J^}(iCPV -zgme(b;1t=IymDaiz1F3&7tQ-;N!!2EDrhsHzbP31{iur_#98yIJ)CtVzO!>>{v>~} -z7enl&u|_SZgSA1#ugOX06ve`suxNDMFJle2jpOM((z#|%KA&{6a?(2B^w*eW>r!C%Kt5j -zg)@DPh{I-GAw1r7TbG$V&RVnEx*UGbgWsRR?*;JtGx%K(Ux!KCl(AXx?eny+DG~}= -zZlTtYl(%&Jg_V5+8?bgHIaa+Et-UBcBZndVy(Fh8P{T#Q3$9m66zl0V4D>J8D9f^keA#+O%g3ILF33I)V4$RKE|`Kp%g81AVx5L?5m) -zy*^w6efSOZ;aa~B25CAnwsH;k^PH2egL-}s^=vY8>J4U2yV1;rerx9R-uxd!To-pcl>DuU -zz6?-m_&fM^BK%%YnrD9jx^(^~+Fh2Y_j;)1cV@oh*Ri;QUkMKh@Kh*?`z%aj`q>&z -zE9Rt|VNAD~y~-^xrdwf5n_*0UfHB=PVm#Na;r_?muA8CG+sthDEzstzrmYUR--Ld< -zU7NZ0`}u!>{@euP{5gyhZBu<0oo`yB? -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 -zMmP6wb`w!%1+%edd6(Aoe~h3Acx_ -zKiQu@WM+SHzd4XPD)u%;T2JL-|B^~V361Z3Ef6JAKQk;ry)x9PK%JJ#@Z<_tXe?~Q -zX&bUwxKd~OnsC^EW+xe0+{K}AxRSMp4b~pg=?ug8K4tV2)+^XR&W#yADyhg+gxNCb -z`%M+T9}}nou*m<$)MO#4P4r{**G~$43u`tr<*;rl>fpNp{EqF9w>3h# -zcmULpU{jQS>w>XBeWd2bzGMkW1HR|L*c0XX`PaujGc#s?nk7p4*x -z3NxIiKbP@;dHM^$SKr3z2&hjPLv`z`a5jJD0V0s42dgscGcr^oD)eE0RSzX0WsgtPnGu`}*}$UDD+*(oW3wqDWu^o#Um`px=k -z{huE60aF1)V`chP`bYY`VQmas7W#dR5j})`#CykepBMPtu62A5W|WBxdBAK6eJxKA -z-kbmrrqJ{6Sn?Hpey!r2Y*5cNv3Q5ue6Nv^Rkh#QKQ@!-gm}QG)S`9#%*OLX4(MLv -zc_RCN{A0ellI~{k99aSBT=%++&OU?I!uQs3`D(%lsj%{P!PuSx4)+b(Lt=F;H#%Y{ -zsm4D1g#18o-yJ8f6a4NX;BPR-hwm%9fgvUY9(M`nXf?qv0*|}o=S3;Vj&93s -zgHxdHF{*=+&U)v?F1j716XW2WpF)U>!{n6@=j{2~47H2?1%UoCGo{e#w~mZ0m;tSS -ze(MPMB@F*`nSWn*{W^ZP3Y~7ihbQwivd>BLaJRMt7{^@>tJjOAgBApr)Mtu9>TRuSl=x{&k+d*>;%s_BtmJ -zSLu;;!uJT|p?~!RaN7M&bDc#s4p>`%CrV_WvBNCbD*P_u)wcuVt4wqPb_^H~ypVTa -zQQno|U_WN~{lNd8Sm)`--$izBNGrPRTBAb9>hZrXF={Z%tfdOcgXJ^py!gr6#CJ$5 -zbHCsPy|(z1>PKg?E7ELLH};&V6=7N#bk?KAoP=*y9^$uyh1|VIK~QP -z5_>GeVVk@_-2Gd-$fiX0{|{f_ifF|7Reu*b?b=A+t&zF^i0oC^ -zuL~~VdZm1wW31tafjZHDYf(e1UdIF1eA7T}(3+OHGXlS&Z3eA{2!RsY4> -zetM7i1?!#sea{c$gG#?6!~QPVTr3f7azCOP{N7`Hb(`z6KqS -zqWm?xEsy`5KLY0hAJ1+y$^&rQIBJHy;UqfL8Eee3`&KS?5{kmnC3r -z0_J%hV7e)4342d}?>n#FpN-n~^+j#}O5nS!^%A9fxb@l#I8B?klH{2Q+s#`uYPq#^ -zm|`%nQQF0CZ@9oa(;xBM#kj#(zI>Rj7RUSL(r9UZyvYl={zcZp$SlA?IEU57y|(Rg -zehxb)!`d?CaJ4U8hqPV_s3aOn`WXv&Z;PSyyyM# -z=Irm@xkvM=K^DFUm9iZyV-R`bN|MuWq#+c1MKhi3%Jb9b)GSBPp7SF -zT6c7xWO=@SEinamKJIoe_B_rx&keTu;izriRMfA3jap`NQJMdYTILUa8S>${Uf>4H -zMLbm04`cmk^wMvO=%w;e%lzIiL%M?NN26b>qXin0m#bMX?1P)mVAdjA-xH(k_!7hDG|>%F_updSEX2M$!17O>i{ -zk*enMrvd9aq`0JFtNt3PX6{Iz0lN&(3&6w1aK8W#8^iqqyklgB`2u*y@ajBQ9&XKF -zn6J6(gE&46^e?iW|^ -zeIN9HSZ^Bx%%03;i)A&ibp7V4nbmvn`4g&OHX&pge2zTJJ&neLzus -zQG=Y`Ka4&$DU!3Efz+95zqP0iOMd`w3!#UHPR6&t8$oN9=U~51ua$~?d!Gn>>ma(p -zqo;1*PoY0H)a8QnNs5tYSc}H> -zG2WV~u*zDup-q1jDd2?kfYP60wdm{dOL+{*Kev+(r!H(1S3`d$qV9-uPh%TU(1*0( -zlg7}q0Imma$A>93>?Y>r-8Uj{t9U{W1ZelC`88g?kM|YEySbZ6-{+Uc70GM(ym!^V1&n({A_Eo-i!`a$fOE-|LrtPn71=MY;dg;Vm9Kkb=9Pp0*X0xX~}M%`fqM -zQHeQiUWw=Z5?hK&Y-#pNZ1GFHR#d`&+{Y{NnqT6rq7s#UiMRX`Zx)rP@JqZYO60A5 -z1bs8sDMny@g$C@yr -zQXNME@+K;HZ_ZZx#O^tM;QjFF4PDU!J -z*t0C~Gs;-;B={L6zi?eN=7`f(ckoPeB-3QO_7#NqJ -zH}#MajKRHQy(e=+S<@e*K|6$9>$z^2UC}FTB|n4wF8ZJAxg9{z+Bd~^7n8z)_Z@*a -zU>Kv~13yN^kI^PvSsaL2;mZXS^mM>|78Lr#E-dboM?;4$6fqs`UVE#5fs!%qxZY+1@0P9KYM^#vzqP6sV{Bu|6QiULt0dGt -z?Zab-`CjOE{uRS0+8hUAf0jY}-zFOEIb)>leK0P`qe|W~Ybh3gE0ray$kaWC+l(}r -zMH*=Nj^mO(*a -zYqe+_-%^JZ=<7&-;Y>u|;)mCE0#<&~$hN{rRNz%xp9X3<8o`?sm27`^KPP|-rSFU~ -zCo0+ehQx~fDfDlC@tUxDofm-Kt_GSmLmEK+sheVslylyP9XP)>?UpDxin7-L>jToP -zTVbBLKhgJ%0q2)>oq@Ms6}>$$5#K(bH}o{yi5`)uj@x2?3hC{Hm<_eRkFkg_8oSy| -za9U)9NdFz;9dRi2p04`FD;9{}Dnn2j)t!{rUC|_gVkK66Md+pzGq3|I=?VnEV -z@1z@DH-%%_9OGweJwmh<=855->d%Di)7P}XJ(S(hPXT}b&J?SH#M -zeCxsGLje~)&a?bE_2#Qi%oks2b>2!_6olfp{;PF=_PwvfFGK#AzwP(?Y=6wW-=Phj -zj0jG?ENkLTSeH=nX*1K_2Wp#O<`>S4UY994x5s&?0<=Pj&@H -zvxf2Z2giGiKi+WyE)xV?IP7%39|YX6zH`17=KcO|AfpOiKfXc8cb#J~?uUc;^1g{F -zF{1l_qujG7`bOO9r;C$$K7OS8#kwMvTw-it(NMwZ`{9yB#0z<9-{0YjN#} -zwHPm2i*au)b_DzWo&Rbr{$LMlk^5XYc!Ri)0`AF;0~eb*u2z;f#LpYHSHH1A*c{4Z -zP=ev)otI@!$(4vzd@roiASGK^&kNz($-{hqh8BDK`B5fFcZ}jM)Dd$-y!Pr^jA)Z{ -zUNg%4GkNg_;lnQVmVx%B0M|6~gvV>Z+cdvraA-#e+HM-T?LWpG$a&L)uJc_um-(3t -zn6VYTQ9~WA?~Akfme|)hoAbLpn?1jkgB$q$QNLvqU7wSGBmD7lJ-m}Q2pvC?mqu8B -zyKJy_MF*}>W9=HwyZ2>}e4Qbl<(~TA6`mV57oI2n!6^95Ts5NYYmML>pSQvD7lRTP -z)Zy$z2|DAFH?B!=dDzn=$k|&0bzd~1?i>8NG5_*m`MvU{qWmj22;XDk4uR_g@zR*q -zBj02Mb%(Cm!1aBxgiMlSSGvP!sU%&0StZKtOU5C+5uC5z)sD8#a70MeW~J)^$Eqx+ -z++m=`(x6pRtFXct|FFUHr+Am}`CAyxjR9EvY1mkM_vmF7osCw3wTI>(NGen8ZEj>@IJtY4qRB%gOoF -zFOujZMi;V%cQ$aHGMlw6s%95|N*X%^5J;tLvX*#=TE_cRzzt^Jxh!e>aeO^r3%`~; -zUke|YIeFIzUpF6meRV!CT^5PB@m=Jvk5ht`D5Zt|KF{M_V4n2?_aRFDpr0VmI9^+S -z^4t0l+WKfjTmOQ#DygjxMOz<{cQ8w&lmt@BgwDDIkoXUL*F&)gABzQlV-bFA+7*5B -zXQt=H_AqG1cKYOx%|7Mdl#2BFVN6!+be{sL>gSY-+Wm*giaNmlhV?1&miiW`Px%B& -z3>8X9irObZn!+N5x+JBKL7McX>D|8bsD_yKA9HwAL#|(s9!V9>l_BcF!jnLaFk-eEiZb;92~_&ZYISA>tT(bJXV{`C5@Psid)Zp^1A)3*@B@EpPZPC#zA}R@z~Iy}L89Cvpt6T$X7l -zdn_Ys)2Xry`6Z;GFOdWa__LX)VTrWDRJujSFQg)$C6hLK{-6FC@SP&=?>2fe!GA)F -z&&F6lAFz2Nhh>z-)B&doExV)%QcUIXI{DvwExb%0`xkuw?g3mMrqiqt_7{jF_T9*7 -zhy>JABTcNf<^I%vqcICOkOJqgnmgqFezx7+Ho -zo#s5I$@3&lou_D_rP{xQA7^Z%bECjpsS3g=-u>jE8$G?;GEFAE{i)D#9`oxUO2HGW -zPyUZtA&V3l<5O@S%LO{T8|rBy-Qh_<*`*bS;r?%dlcrC9`O>UVhDUueqaH=~P@!L!pp9nybK{r-e72U=y%f+5)zxF_uTw6zR& -z&E4bEsc)b~Oh*zeVmi?N>=G|xI{6A1sb}`H(Zegs)RW>8Le$ -zo}NN1+4Xg5u|}=M_Uf31`#eN*hSu?o-qgw;Jh%vFB_#lB*0w -za$}T8LXN8a&OmM;spR|l*erm*ZbU2N- -z3jZ3YOYwIolZ=uN?YJI6f5teLJxOk-D0ypt{aA@2N_%bY*vR?WtfNITBYe5WistXO -z@x@Z*wZpiiLQHJzvj%;JG43(O^%jl$njGN|huivvq0Bvmdp;)Iqcc;Vr8C{OYNWfy3;d&>0le{l -zEiAq7L5P3mBIfxmbB~ZCNGGM|UhVBvJ)=)y1<#Sf$K`y!#>NWolWrGZv*=l}l@&Zo -z9tZDp74gnJN$Lo_L6%!6N0Ni0jZh{ul_f&FjSzib4SnHlET{Jn^^L#R=xvm?9MVF5 -zTDip2upPiSA#A6Q^@WB^Y^yKyZ}<&=MUoj8-}E7~WqAuLv_EkV?bqnHj?!MqZrWoJ -z-ri@_p2utK?r!Uo?|Zl?90}@XPWI>dnkdJ79|@b+g3d|vMO@CYh%KbZ@Cy0&a8z73 -z6C?-D(Lv{*=z~YaSn*0xyn_8M5^(@hk;up$H9oL@C#Zri0L)ccJCoMsjv?HCznmg_ -zb3`nJS$^Fm|G(Ak@ptns;xY%MTNUDmcf@2NZ$tW)i73hlcp1iIGU~t%Pu*2{_RJoEVOj34aoJF7#c*X%U1gdSd7HU)<|5 -ztP&afTTikmw1a;oHdDhG_6fOvR_&jEe{ALww-x5YIi{(BCDd_hf9md7E5PQN*i3jI -z5AXN*@Aw_}tBz|SO{=VhbT^S6IpHF%TO7o6(IQOuClAwc?m`+Z{te=}KK7Z}-|%SvVzp}^rzcg`HunoC6*v7eE*~Xv0b{j*`#=l2@X=CG8wsGgz -zZi7XN$Kl1Xy8_zy37$XwhB$xR{&2*LNs8KHC@bF?(^>C;8Npm!JMJLvOwVh}DX>Q1 -z6g;7XPC<;{ihFAb`Ue;hYoRp|Yhi*~>^XgSgoQtjA0?WCh9hzr@<&+zOL#Y?wyWEQ -z++`)SI$K%tp?>QV=rQkqRmAUAMD&XK=N#Kq@AXf?{wdT8emW{-r-2yYRak$?UD*@N -zNIvy$tWiNI(CQX(9L56d&Z6~wnPiGs2!8^YzD)M#1xUIZ0B-2!e0H7o4?lzi{mf -zBZ3-^oX^+A8hG`8A`#1I5$+e9_Yg`J7aI|GG0y$~#a(z-l7^;Bdoi~UF{|e@j-Nc_ -zGp+?=0Y62j0ZPLlP3_ZIq{S^~=>?@sl#}vS2kB^I{Ye#TP5!O0N)ZPiNc}&E&H;S? -z;3BT`!2aIIrG+r+jYW`4Lx=&jfWZ-t>L5 -zn~|We+b=E>e5&(r#S%XEv7B^qCCR7o%u`uzc3C74^`oOSf`06{_kDA6u^0Zy0WbUo -zKXwzOsj52@zH@d8NT)(5!NHY^=cf$(3*@FgY^s!npF8sL26X;Y{BD8k1yo!td=NOi -zt`2G^6&mP&_;)PjVrrjMOF33iPOy#|sADYM167mXouI`o`rY9cyA5i-V<^__dKS9{ -zpFIs1i!;<}aTQk1ocRr^Eu*x)T%MpcsNFNlBi#$iBQ4EUz;#(L$8Qmr>Sp;f_kwmp -zaz5=jiWueu?L^K$o$E(;JLQq*7@Oe63w7kJlS$ftxXCK_{j2PCF_-CkaRJIBIoXQf -z-Qi!8w(x0+b?Urzz6BkRs<(+mroD -z(st)Sx`XLV!nEZq8FptwT6K?!?ZCD&;+r9;zDF7^UzERpsdwEF6> -z7x6>v$@{KJ;Fsa3F*Wd|#rpKxNXv4l;hJOxui=F8UJd-6?d`qCXYKPVy!&eaTJej2 -z*fNbqcC2(Z*>C@hmp(kNJ-pf)yD(5~E4>Ta?lcw3J&A*DzarJQd?eDOaQ -zd$HOoX!kj^`|4G0D`&I*lw21VvP931NUe($-`w!j -zcpt&Bc8EdGk;WxPEM;%(u3awMf1^1#l-&Z+j(w6j>Ljz356+2+qB_*}xDOYu3xpN%@ya2Xrn9#5y%rN}=9len*A -zyzf9?S$GG=?=*Q_WL5a0!n@_I(B}(Andfm4yzApL9lYxs7wJ>tk>PiJkg7V7;9Z~H -z*{4FP#%CIRiXNt@n(g*~X^x!3DikY!t_;bl8%;Lhw+8oj?s6%y_|{5MYj#v%p370-U1db$erM5%@e^sf`B -z=e7T`KZP22o!&jv&WpW!sHuT_sHsKwPzTKM?xAX+tsUYXYK|GSga262U45{k#i|v1 -zauQ+9Aa3_GpUxkDq4^XeEABql5UF5jnTG#1(!cd6A(TQqu7UV-#9xg3BrsMk@Tz=C -zB|C~*ovPMI$I~5TRUO`mMI#9qTa9u;HQtF;)#06(6GJ-ib|s(+JY^ -zfoi-HtE$60vARe?hcshZwS6e2U1~1Xae+YP%PI)Baep)QCkA5lAcjLA9O7 -zwCBr~MrtGW8TBvDG3T*Td7f0N&QnT5^R&|NJiXMMXOx!Aiv+b^EE9nU(<@_>z|e0d?jEm-V^gR*9^*7UrUSob;l2*((~u>s%+Y08fbgky~0I1%6oX<9UdaEuWg>j93Crf0?@9AgB>Mt~!v -z8NV5eaEuWgCq?X@`pf46d<=k(0q`*ZJ_f+YFqayM09>3)is2FxGQY-4xD8?r`%dS8 -zvt=(8p1xG@3H5`f)uB)A8umTNyK66v^n;OBM!aNy%jv2KUKthhRm!I~s}b#uG=!21 -z7Pq>OnL4>)*eQQ_J2w -zeD@M>9@-*7-#$OM#Ph>v&>phkZ9mA>;}w!;_qFU2FIFh@*}9{Od;1e{dnxUvDlQix -z`2q9>M!*0DY0SH=ip#U!5*`5|FEKUJ;-Kbh8~h?qZA+fN0ot#7dvWgiQ|Y?6AB%#2 -z?&L4wcL)7eybfvh7v+9yeHBvaEfJgbSkofCRto;oMbiFOczXu8!6%aryfsJq-x{m3!0d?wb~Wu`5xxGTWDmP?Qw$k=Z7Qwy*|bmhWB-q{?|_e@${&AkW_CB(nN22>h7q%G6OfH{vmuaxXdr@~io#|B -z#^4!1ET=9>#Ey!bXFD6H^b$JQ4)oNsW4ZI1B9@cGUe4Y*+nvh)`+a40CJCN@zdw8? -zJMYb#*XF%%d*9-oj4Nec=`1d-tRt>*pxMa|s~pGgy6gdbhc_6&d8bm9Hc<74LeEvb -z$$wTwg1%4w(;%=Fexbn0Jl9K%kRcKDsN89ffm$-B9%ODA-Ufe#%udYHZ7@%#@R$zx -zeYcbbWn%55bz<6Vq?3KJF(F%jqU!rs!`g7``6!!#DjcQ1wY#+i-qBy%?Y7jJ$l+7Y -z5zQ-Y<}%RdcH=u;c3GwH+RA-U;k|(~F_w>fnvNq6k>qwBd(R)+vq4!?9%u$7|2X0> -z84}Lv^*#h+I{@KX>R=OXySvC`rNRnzW4n7=V#2Hf+sKDB6PefNY8<| -zhbaG28b37~CHJx_`^qf>zgLhihRd>Sw66^JPj-up`D+VUQ9y9twmK=(u^Tm;WSoP< -zev0D0$5jjboHhlX7Z8Mh0)D;lNSV~9?E^*6s2mYxPRk5-4P3GQrm?f{7 -zF;9-qpq+E@x2fKLV55@;T6H(j7)pJN$mlpt8gZi@AiE6^vk_d@L#6-#ew8FNr$PdZFHBAA_qC -zMm!wg$U(SrHIzctYK2m!f_06By3Xe`(w9T>P-9%u3|;mSl{{V5z%^MLppJFo6anhE -zj1+3qNHMH`$WY}R32_T4%9``|j30$F4p6IH&AyIW_=U7euMAH!#1}AludBj%rpD&xv(>;QuXFT5EjO2Eg@oTkKP(-mS7_~jmD$wg$zsjYg*I4)KCM#PmrKj? -zB0VI}$ELs>PUUl`^A(44$s;B6?=gkLjHF({OU&jP>Q1qMhgo|LPj60V*;UB|kF$4V -zr8t+EEo0}RpZ1`4I*hA4PFHc2SLWg>!`q(?!IfQIJ2~oT;|+=t^oH1oW9;XXhSW;M -zbBv*X!Y>~YI}`Dq(Es4J$^1N_$2{pi^LWMQWfus2|D4SAbXa}oK_A!Z%7 -zb(!KEV!HOBW`l|u{$-XOU&%--m?n~{QNBphB -zE)eH?{n2R!ef<7S3g_rF^po*sFFzTG<5Il7u*7m(76^VV)6`^c4z-PKGF!)vHXFEQ -zlv6qd?j4#L(`2UEJ_O@#k3w&uEkN0S7mtDz`XQh&XlkPm;H=#aw0bhk?MUq@a8FtC -z%_*Ztn|LONzar-NKD_0W$1^^rzFq1NQ`iAzZMRZHmWgmZ-ApCtGE$?=OyU>jP#aTi -zwWCZ&N1JCw+x~5Vh)dI&8f!X5*o!H(ha;U-I~KK}Qiq%TWQMf?hH;D}b8E+caoQAN -z2GXV?_I4?!Nd+A$Xi|Zz4>R!1YSNm9dbAIAw?f^G^u^s%ptXWMte?Jlp8n|qVON86 -zR+l{)&nax^4STSZ$<~w?=ax!M&VlBm)81Ji&UPxupT>yyGxje`w7zMB-*yMql7_20 -z;j=6Fq!&GtI{`Y%^ve{^t5C9kgGrUj9|`x7S}yWuO1Pr>^5p{mIa9lHjLGqv@ExY% -z87Pja-8ovy7qE`+7D)fe>}bTG)V0s&W1 -zj^D-3uT1#HaB4_CBXR!BKiA=f>KW_v%<`V?)8|uy`e8%iX195nqHX5p&+V9m11-;fmCX!;h52?3-L$iNRG_IR}er1Z}&ieL~ -z^TZ?g*)uAs@7ckDXQu>zo(&B=JC#3EbW7txp--pUA8Lny);hNm^~gpL#4Z(NJIk^s -z@t!u)QpkUt-&biz!VI1VUn`sXBS~<0{3lMEJi*~sPHsDPq2Lo|vOf@;0FBKqggt{Y -z{Z4j4r5*S_$1GI#Q4gSYCafeZLjz?pUYUn@naY03Ojd2$5A#!hzfN{hCFLu+Z`l*Q -zvX9ELvw2z8Pub~S+go|t311l{S3GT@vb`H`wrj_l{(XyeWETqh0?#(;oC4xPIiwYU -zzof^S1GS@Im24fH2&~EKvLFmlvW0UO3V$K2qXpL3C=%(2lNMNct1G3HVQ`pJfjyO^ -zZ*)r?qrB!c&d|Gm{>sV}*Zn&PwH%DD)K!(mM)CvsK45_S{qQUeV`2;pi+)Z;+#5#w -z-RJU^j36fyek`PHF^)3}eSG4T3x%#v1$iD;*ZfMspB`;AV02ykno40CoCj;`>dJ)P -z#jdSP2jJJdh0;$fJPQBp;r2U;|QJxBnBhrVo%gITSALX1I&P(_0+T`1^JTv>HG -z@Fn_`;^T7E7?(0DeN*h`8Ys{Bs^+v75q?2S0(2mk6Gf}YFMy}KyfUR>t7r*2P!}_l -z_U*;n7Y5JkCzu6Z43@hjEO1j3fYNZZ?u=8}RLWCD;ywq9?w4zwCvb$FV=MP{dP`e2B2D_fc5Su^fe!lPqRa%PMul0xqD+ -zxE1+2XsNE`>3?1*Wz5Vq<%)wk^7)xKet);R#biS#aNUu(J^|)%ai#D=4*B#r -zgU1FZ#~Inw!pao1lniyVn>mNgYfPs6FJ|DX9|@Bb#H)E(j)vF8vC5{dHi45R^KsBcNn1GX(^4oyn$KJPByWuEK76 -z^8tv5yX+nN;cwE4>6qVTzp|e{znhIbAWf2$(=>o=)qD4xL~up%cv&?<;of*Qn(I2y)g6nm&)k>Ia{m4B18 -z@~@!LlArdVdywZF_e2xzRWWb4%yVcL+g%ROh$i~j&V{7y+}K4zuNQqU7Q_7infvgp -zCK(OudkpR>v^$8%bG0cZ`f#lFO3xmDDxM$@f%#Rs7`@JW03~R-yc?qJX$^_-PgL_r -zU>66}q!kWTG*Ro@92WmQ*r2P@4jO(0ys8 -zfVfit;wm`<)+6K$?a;%j@T{8@{H -z-KX0$72xL0Wx@xJ4V!jdQbI<0|`&F1!Y2a -z`UFGPsSo6}4<~LjKA(?qm2_NxYs29gMh?PfS$hlaeH~ke)bY1fYUlE3LC@s;4_&oL -z@WyT`*LRFkjj`8ywQS!Gwek1ADDZ4vZ&)PaBg_P-X#{2fYbol}f2TOhZmpCt*gqHL -zuPqC%<3)?ad4AAaM+GhTANzQr=l^=Tx#wM*`xo3p0++8@q|WTuqu*zL3N_jH;Vi=H -zJ(<%|;+x;TNS#BRY-U^Utz^x)wR4aEnf-@K|2jq8q8K0BiAE$5r-GK|m_GF&tk|M{ -zWdk`{3iFqjDw*XBpUhIwpAV?-$!2(3yID3hZcBRib;E%46_I8H}Eb)_PIMOO_58$+}X4>y~XNg -z6Coc<#*IsxkBl19Kc&6iMTlGDGZ$2AT`SH-g|MuiqeJ5VBMvvCJY`|RLf4&#T&rU>@`gg*L3~x3d{wp;pJu8xsrdRq`N}8m`Ekz0u!+o%^PWCd?dh|;JsswfV}KQl -z#X1?G4*?GTEU3F2>!9N(1y1_SA>779!~DJCg3CM`Pj9tGt&s41*#8cvdm}Pk6?e#< -z{NoBZ<%9%(pHW55qi*d?vqZ}$`2eFn4%=FhZ(kg=SjCYokMmeR#$Me2cS71(Ib<9R -z5POL|>te6zW8`U3Auo~q%=verk<;Z`HC55Nc~)oBOTe2Kcxz&qZ%yowYa%4q#Hhu> -z|5vA59JkX|+H`<7&%+LB*E)e4n+bFC&r0rZkY-_jeqXQj`+yn0Sd4Y1eR&+u;IpQX -zs_zPuz*#9m!S+gX?CCbD?4l8?GonCgVo44IPO2Kc$1m3TIu -zWv9UtgivYX_fdW3E~PJk@3iOpWx^*eRxm1#FiMUB_l1-lEf(@acLMao{vymHFvUZX -zvsU+iXirh^*kl}lOV`bs_-zFA_&hw6sK~7fmd+lbVlJHmGx{!2Qbpdnxv*61^Xj4_ -zqy89d%MVfU+1{+|9iJ`t>}~Iv!gmO-g8FrWR{K1oXtfzYtG&T#wQe&vFTYwWeUh<> -zam4h8>O#-%Y+sqK#me3-6IXt$u}+h+O~Ck4A80!D)3|?HEaa0j?fD${XYI@4 -znvC&V1m6XB+k0H&NvxxG`)sqw7mq8CN&jm0Ii^};=+$YaeP^61nW65;C|fyyx#rW0 -z)&6^&CcM4b+xNsd0lbYcS>Ww_z}xc!c>B{{c>8%DjQ*?_-rl)b=!0~&B1WG^8hv);;+}ypYgrMyO!$4Y<2vNn2O0Qu -zCYuK{?AGB9|B6d{F(>VVuk%ZP1soBvYR`#_*z#Wm&)*iSSYBUq8FIUG4%D|eo=`bj -znny|h4bMS*QXn}CLT-tQ`E6n6o3_MV+!lAS;9Wb}6b{#cS%-Ta)>=7j8dFFfEIvU$ -z-^|ex;U&t?$6f$O)VyuI1EEno#FG31!U}2pa|JWVZL;ztxp1%o3lH26FK)d{PcOx}Oq&E3S -zgqsnBn?}NN23NPXMV;_?8VWl_f8+HK&8AE`CS=j%7T^Zr<-Ttvw>M=0JKcjcZ%;=N&V?UMd+*RUlDcbx$+*N7v|xWI>(MlR_ecU|Z! -z!`%LH*O()O2) -z?#jYmEbKE+Ka}>*(_UaI`u8%A{#CN)wk67U>1Ae{KG$@1WmAvF8PL8-kH*G2mV|oa -zzia^iORhz3xuz=Hf6jhw%CdTU_2p)=ihGh#7$goj?)D%At=GA@f62J2+6AA -zDI#>5aSrCnIh@J<7;gqj_}6BpcCJ~a&4e9R4YQDKnnR2Pz?Iacf5h<3)o+(5JT36z -z)pjNUV^4hqW5H3liC?3)51zWp#vX~3A7|dQo%ef|n39I4`IUTWeORdMmu8O)j` -z%J*yq_LGc2&(4Y2ehl4>`-`)<}ApTOl;xaTlurhOs) -zQa5vniTW!=)G00G?9 -zq(9o^%s#Zqf0=z~lM6X--XCr9=7|1ild8Dw1@-lr?M+tEb}i8$lu>s -zBIu5pfH!T@NW)x4e~Fols6BwGoIS()ON8#2o4VA*_0+^|ckZ)MSFJTY2UcMLX&-v2 -zIi+?Er-_=0;G-{(>j4^MpD!JWm%CxdrUQ6+mZ9+Se^CLv{D7s_*@1oVa_-r|eelg& -zrTydOg(DPR?!t2`jt_t1gO|G`yh6N;o^(bcRf7JzxF0E+8PEQkG4#76MS!_RH&4uk9qx;YM -zw~tYHfAboj+(`J7jzK#I;W`WrfF53Bw$@*7x~c0-xAt0doIwrz%4qM?&Gh}?TN?Me -zQ-)q|Cd+=htm!M8!@YYg?TvfS4&dH>mMYwP4$SwM_|M@zvEIQ;)p_@WaZ3E2D6cd9 -zx&#L-6*e%4i<<#jG#bOXH9$fv@c1S2ncVR}SxomOjUNmI3aB-vXAO -z1^cxro&hX>Aqgk^dMw8;6?(Y>zY7nY*GUhZ6%^(p^@WDiWno!s0%kV#9>?@{nVa~n -zhxdyhb!|U*f9leo#`_3G>NwsXA@Tkdf2JP~JrGuS=*j?2TOL*USD6A23!HZPQb`B1 -zCn@?FsS1fz7b1x!Jk=^7<21vQY2xk~EY7ob6@@%o)iPE0)dAdh_R>A$zG1y^-vvu^ -zxNmqo$V<;zDrCZfm-g?AtAVN??c=Nuw>pe59P0^*^_6CaJ{IzteR)@T@@lp2e{NXX -z9}es8gTuP};IJ!9T!;PPu#5ImIBY~X%g&WJ?6A0>zh1gj`IEVt?X4?VS1;i2;Ye=Z))@z9Mv-tX_~J$8U$`{wdFFaJQEuk22DES0er -zPMv2;zBy7szO2G?r3m+QbRcm%@Y#iNadJPXyo -z3r*O8WT>47yXDmwMy)uTf7<|f`l3>oA#49CENpDXa6kNA~>(!k%+Sub}6@1H1b}mT)&+!PX{mY2WZOb2o`}5`fRulO&8{^<49)W|`oF -zGVCE!#6m8jU3Ry@dCk;0hECB+DF^Rsm#G+1kC}}CiL>@nmA`bFeBK);Y -z1#I=_NGuq)De6MH^Yl8Y@1!6z;5aNS-BbEtVSprl??qsz=Pe5-TR+3iQ2snV% -z_E3y!6{(HW9w@mze;>79k~;U8ZXXuXd8Dfl_k6Ag^vhFO0bAO%$2~la>t`Ia{WM=E -z>&Of~Lge!pjIe<|1f!d3;7o*g90f5G$Zy79W)jw-q;0}O -zklwExBR~mXe{UV6A&i!r!Cu(m_6ZM~O7FO4@0{MT!X0PGH9eE9Ckc{q9yguO>y-7A -zmSs=G6F(7~Q~E($CiK;2vJC`fBB^q|Q~6l|j#BJTkvgbc>`;+95K<3&sRPP0iHD>t -z#bpngC^x8}FiQInjoUGKF~>x2E?p+h4zl)qu7NKge^MntB=qF*Kpef@ITNz1JFExr -z?6KY%^%H<+zt)H^zR*?6gp4jz)k+*Yt?@`T&J(b1cEmLwzjF8hRmYR2|NM&k%b6_g -zRO}~Bmpp@dav`CMF6gowmI>UJWsQR-@tv{EKzmr!V~vw#useRqguD{Cjud)V3=dC^MxhSUqg8$nxC~l#9!dcsZ&3He_w*VO`>fX)Ho~;eK?>@aU8-L9>`CbeTBk;J!Ry -zcO!Ifv!61PhQoi`oj;kb^Jmkog70Kc9_0VVe_kf&yf*rj>B9WDMWPJ#>89jhauLjt -zf0&1D@ZPmJ51r4M)94Xahh|zOdN?HTG0vc)I{-aOXexm+o@1;`_tUWMw^Cb+(zdRr -z%?^5$m1Pg21`W_FM_VWj5P2yxHHC)?u3!yS(PjS#ldm=_Ug_WRHrxce*A@GPW$&^D5y{HnaiLlya7hdbHy -zA3IEuBdj35Wm$F>6@HFmq{AqInSL_V%>6JLp$5R_MMj4)&~gaQ -z;~1_V4pgH32G_jFvYtV}7wSuZ(r#s_{dx#2(D -zFr@7g?PO0UP)^{{K+A=!BWs_@f2HZ@=QIhaotz_Nf*9R^au(;Fy6#DI^wwZ1%&iX5H5mWdV%pQcEH@=8B2mCz@TQ2nce`HC3d3bvC -za$I;Me_g!I77Rju$znX#6PLpEr#~E)eK~Zwpd)9p`-uzVDx#hCV1w}45V4vLCxR0w -z08Sv=^lO?(Wyl!>*I);!va0AnD$8n}snI~Kw~u}f#=Z!~eh7oHH^Dk&$FL@-@g5>9 -zK4RW|1$~hz>W+KtPrVs;e*=1<$1a!hM+W;Qf%}H)Hcz3?TOICO+26SCPN)54T*O&? -z#++$CNVI_6$?;H6H=nzmeC`;z!oc+s^K#;l)17)go-(57rPppGVvXRevZ^bL2F+6G -zK-mUqQF||cQlY)TE!!9$DL!FMrx`-3KQk_TY5j+L+(}ljrfjb#e?$0hGRB(Dh9{-I -zCx`RjY-$r3N>y9g)UCwO(9a -z%4ffk6!Q`0%9>s}S2o9koWESkXxJkp%~z#}!cfTNe4X|S8uxJrJD`GWW!cpGQpTh9 -z)ZFFboKo1xafrpnf5Vy)cSkeZ7c=JS<&yTYw-St>xDB`pS(@ca?@3o)P~kT&7dpl> -zQ;z}9(}1!m3jJa`VeBX!H2D|^kIaBDeRaOhoM!_vj`|k=v+aRrw@Vlz=J;49bX$r5=i?YZf_33IQ=GqYd3|~Ce1D{l{@2>*i)PMV^IbU(aZb>tz3B7p_vv!~8GiNnu6 -z2-AsET&OD@`Q6Kv{psswyY_}p2VL55uMoCptZAMh`29i}H|80c)LUj|%v)w1D<+xL -z+i?Fj+{Xaxy=l6Kzp2iY45THTqC%?9QHxfHe!{NTGKsg$%{F>R&m`WKcW&ZMGw2^( -z%*%ike?pEc?8u~zJok}IxRe;*>WmA@_AR)-81J<<=WSE)9Jm$|D+C=}MSf+VBrL@7 -z;92l%YMm{+EA4%&!Z#Y7sWLVWc!&-04wBQS*kAU01otz@7_Qx++@FeTe_%>aJY0jO -zNJAPfBIQwOc<&@`Px3A=)xkN{dC>mTp%B;0f9N)Ze+r(ajy6rNwz8>Wn$QtD58^a1 -zdfi5SI9W<7(Wj9-+QlMPn(Max1$gny)VEAWM|#b!2Oh{SI=m1Fx -zmvUJPP{IKJGN-(4HiW|jWj7r(87>ZEjJTTcRN$AF!A@*vlSolG2Wv~Eoj^9VFT<19 -ze;OT -z>*{l$%{<^XaSneS4{-}-jG%Q2?CEN@e~5dYkMS|WJK_41k;BIJCX%Gojbf9oHyXns -z!aZdlg*sDNJIX{&P{-Fh4v+pZ7a!g1+zLKHvA3 -z7_!DlL&WP@q<)s_*;LuH4$-66xR>s0iNWs7de4}9`-**6Ft&3OtqcpMi{C*qR2Z7YPCQB_9UKaGFFxMwAasGN;RT`xq -z#o`Vjrsl;`!!>c;3gP!8YZtQ!e_sU=Y3o$W*FZTx5qhp>U*L7b>Z>NMi>vF!nxQ;u -zPDG}kgEXtY-e}MP+EmAN@x?_%9Kf}yN;X5sF=fQr(z7{yv2umr|8NEw-^(X4q^_=s -zI{_L;*_6iVGN2X*F+aVwafPBUKHxheg`@Z)Z36~R&8-rCPZb>d-3l4sf7*G+bnW*! -z-L3gjKWJLu+JY>_W9P=>ZHo*>E3MQO3y`Tk=a -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 -zuCtNr^mnsXzV_4{T;Y8q9yF0KxZ(gJ5iKUXB -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 -zEt_G_Si+0Tc1!tl*=B9FRs0ODr@2npg~e -z2YAWr@2FmSzC8BQdZiDF<2s{8U_DE|r_#Ci@>D#@^PgOVZ6X#2J)s-is6)u#THy&ko5{!~UBdBAI=+SxHtu-5@){;oX_4ZPu`9 -zdl7EGTZ(0dO?L?9Zmu2}wJ9b?V-t -zujQFy>`@7fvu=z@@Y&|#`eCxiWyy$BT$c`s{IVU92u=Q}Fl@>`{R;Z@e+TT-9N$_k -z+F}<&uSWpRaDOfOru){bGq`Th(Ik_G6*+X9RX+xH*uM0Lq)vy>aYIkvmkhgL5UJbO -zA$1iI?$xFZN+lz8CxkJz8&f;-^J#J%e-10Q4Qi6lHElPh;Q8+4u=<*MsKfNicy-m( -zosi6xm31a7u}8z^7m&J=e=ziJo3*7TSyJZ~^ZU&;$%3C~4^P{#bgvO}5GB#*mWmP4 -zgT$=B=zAm-$N=1^OF)ejU^VRibge-~(sJTnhULzxS%uUa%OlAcmN*2kb?+xTqS4*S -z=L_@Idbx3ZPOtPSmeVWcH0pX`lO*i6s>o3~dJpbo#sKuh^H0m~e`n{VKx&7D)?F`H -z?bXj&QwBY6Rp~o{&#J7dChgV#2=I0v9ISY|e=^A>l@M0!h7-w_JY%{SBO$)~Uf>C${Yw-2Z{ -zO{B5$?FUHGz!n~W{+qJ@k3j#CcFOcX|5thaA54c*-5FPJ*AaK2=s)`9cLp>@2Jrsp -za}Q3)SJhn}Bko$jIqpmB^cFFOMnZL{V^FfN(dhm3S@rbtf6c$)J{+FT^gypefX#al -zbG^(qk?aIsI@)N6o^O&p-xP>D`_g(9ceXcPafsXUoaMS=wGQIGV(&4!*;dvpJQ07! -z-(jx+rQ0^~1q9B2;J_t|UvtP7Oj*gxpbusQ9J|Y-*gtT?xxC`Vu_z}i^9j=3C1%HFf~Z0p4exhZ2LFu}(PMybq~s0WP;VxmOjre>I@#lo=_tm4Fi2u5^}Ss3G<& -z@J4hxEvM&a{t3`>VI#@>bGtP^sz)|&%ItiGx3w%9&By!nQ5H#`04_hnc)?Ju$0=b%T@?TmYXU=|-u-2|O%o=XSN8wIR) -zw~JNwe+n6uS3okaK4WDkzQkUcW5w{zS2XdgfKEE&Sg0F -zkFpfWq+m{fMl1&!u?}cNe3GfneaEKSq+O*$ea85aSYI<4qVqEHOE&3#-@FHH5PQ;1 -z;ToM@(?l{&;;S@sN^}^fM2B!nl(&|GnnuHye>q&NE89p8@BKaU2IjuUX!Sh|>`N1j -z#j62mZufA}XL}6HYoO*wu;yqm??K4(@5w_qNFBKe|FGPNxYk&e-G@4<+aqik^E%nz@E3g@!>^lxm9B}EF8#_pBifu%6VzjzutD$v -zf35cO7RtiVSMReHr*4@(fDykRo#QtMxfE(LE6-U%let9p8rMp-jKR}wzffZYbf!Bt -zC|xD7=cu3*`5k&Qf5FPhUryN|d1!ME8&p#2I%EloQu -zv~zwUvz3*>YqikTh7eFTr9feZgoUKQf1_FX9e91Fs1LC3DyYxQvVXBHBx)9#Wzf?# -z8Zlee?zDQshE|pbb(-Nkr_6~on0()9^rB0WTQ5HWN<5?iC#zjjwRKEaYIrgoHnqpt -z2|YV4x94T6fuG{O%{sYUF#_!#2I=>(O?Zkec9KGqa4$7H7QhDSd%ojk;Mto9e~t?6 -zXor^Pla`L1Ru@a7>@HFm!PFWw-$PCzt8+!TEP+GuBBGIlklG9cr0Z%Id6lIJNxa- -zcly5hLb<-gH#hm$ZlE^7Fa8F6fAM5A_q}1(*$GWMEx-Qn$_u8$~ -zIY^@jdC|HJ!p{b8Cu;GvkWbusuoj}()H`gInXGTQai_JHM&@kQ$^Zn_YMS8`I|lMc -zG!1KDOj!t4N+cA0XmU@8L@qgRYv&WG$0nQrZ#9@<{-rl@jqx|&w^0ide|HItB^p(2 -zK?++sN-OZ$mEJ4+uV%(&xQrk -z%~Jlxa4+u*a07B+KMN={hPo}ULi$ry&HY0@Q;l-jx|30#_yvC7Xkb)=f8ag0YM1`- -zUUtGoz8D?PZjkX8*!P^{e{pTB^<&T8R+alI<13)@D$NfCcs^z{qqYtHwB`ks?YCA?!$#{PusaJmUG=h!~le>|#h`u+xS?&N$v -zGQ>IH(c&E}M>F-#K;kxIPv2zd_imo9!4-lzFCgw%F`~gdLPki?HD4EMo72gE<#_X! -z@0{G+%D(u0wtluj`E(a^hnfw}=XFBAD1$T*eBan8d8f~_ -zO<%D@s=((5B)U=PLXFhn8y1T>!Bw0L;VP{~Uk>&we2=DtA5caT3F4MO$i -zv7OSNUl;#EvaV7n+4LbB-0a84RU6gWo7yX4eKNVyK4L+ff4tvDv2Ofpegy0`v990a -z>zX8*x$b?C0=jnGPf|gbq7; -zA$Zkt(*nk562{=}f!V0V+*jZma$fsGJ|6qafS>HcHwr(}zBNil3VVZu+Qs5D2lp~+ -zEs4FX`|23Ke^JPqaDLO=V~2n>DXv5AudCKqmnPfX#ZtcWt;rje{eyq*_ai|VqrSx( -z9*hw_=Z(oiO)TKKIN)j{XUIsZV -zTVs1?P}rw)ygt1NeR|8v#TXasX!b_QOQhcFr%wgGK0R)@={KQ;nuJ4uf92(Q`>8jf -z{rs3)`&K{gU*Wa?HnjgvpZ2fw+JEPNw6BNU^xM$F5ZV4aUi)uD`w?jW9bfxO&b)A= -zI)D5Zf3*Le)vmv5wHxn4KWyUHZSC18qK%K7jsx1pWIM`uAa<{$Z?N -zQP0P|KINX@y;116xz2~a{(k^%egtj)eUMC5e}!WrNA&muug9t$)GZV3sCS>{{f)qX -z?C(PxrL80V1p51h)uw+2{r%Ev3w>_2hd=Gp@255jT#|7ZBvVzO^V`QHWO`8Uk} -ze^)S`uf1_7-M_b>TpiX^{gvzw>VAIheG8GoCkx~~jtK8|0bTiTSfM`x2c1nlGf1aA -zuP!g9^0D`#B=%kp_~^N@MdE{A^=um?;)tkmeCmzk8yLs8FpmGgIKJyMj&Hni{Kq$r -z?*ila&Nq(lym5R3?SBjH|6rkgt{BHRe{vimUyb9Ne#W71QsW5LqsF1=89WC+IzZ1< -z(3xRHz5M8%EaiEpO+R>fZ)xgO>c8Hp)Z1R(_g>xrNkF#0K<`9rx0kn%mq%hEub5uU -zy&VK;Bn8*}xqiu>=d -zc`tyLfbyrJkERD=BywY96@8pOPv4Pc?c5?PYm3xqOf8ftZxlDiVpVyM8HpB}RbIWl1jEk{AGEV|Kv{x1<@!IOh4Z@n>OMzJT0$h@d!%rj%5#(!u& -zX*44QA;}`*6e8Py_6}gH2iN17hco4uC -z?9l_n*-M-q@c5;hRLqm%NN?JO{F?|)Md>%4yh-pi-S$6ggbtKRW~SCvCG@_&ha&Qw -zGd4+@bHWc?x60A$Izps9^MjSlbAKoNXw`M>4XGb3TI|kvHKukld=*HEohjfshXS -z(t{zL=S!nc1Jjo-g>=N1jzKyCEKmz${(qDeNEHN9 -zu|O&kNST3DejpVNq@sb89Z2QH{P9m0ZjyX-2d>&54el>26XvUD8Y$KAdyWbxxUR#k -zRU!1No@xrG4NI%iA2B*77AIQ52+7mv2i6`N4$HX6SoeCU`#gU34S0j%X>i0&>MnUT -z=63&Jp?t+nz$(#%tut?1&wtvtRfUOZU@OfbOLtEO7=O->To&w-%&gs3=A8dpTim&a -zXW6)LGvtt1=A7?k&JkhsZa*qq%_E3!H99BkotQBk`{#0Pv$3#s(S9FWL(55bI@CVv -z2VOhAIWEk&9_JBQgC_gpjkr`7vw^W(s`STT^p%O}5jpw@)*j*TG=ByV0%73en?&3S -z_wrX`^K>(RUdW0%`8>iev~LhAiY+c74IzKd5s)KOVfTV4{}NZDrd(BonEBY31yL)% -zD*C7q>4|hj=AIiVPY{kxHxVljdyyyQNB9l?u}S#Fa3}b_?-)BK&e^l}9aRP~HLNwE -zTd=!x<9irp&rUR#%75{Nu;x%e_wb!fLXIFKx=7BigiDEaMK>3Tc7@N@L&K8i`@}EH -z`$)pBtUWA2WxSHCy`hS7{zc&MFQCj1oPWuUL)7PXA!O*{as~7QVA#>4i<7h1q=A!X9rzL+-@v+R*i$Q?A^&X-G8oFtTR=YD9>}d5Q=7N -zE`yr!+hgRh|Hs>#z(-YGkK^}kGm}Yf^74`pz=ii_0t~k5WRgIFqJaReE#&b64vAku -zz_pGOKv1zYMwDuouej8u?YG+6g+-ZBHUUw)sa-_dTCLW$Y8TtuuW0SJwc7eW=iGZ| -z-XviA`~H5Pzkhz1yu0t`o^$S55W1l!<{x3n!J1NfIPC|NR#nlf>Dm!2SY1VZYNR(g -zIFZoGDKUg9!oy=!=C}lMP+xu<3|5b*Wjf@kuBZjmp}h6HWxYS$LK_$t!bw4YGcfA& -zVAR)-Kg6i9m4KDou9o#;+bI+4O1(gRcsv-4j_5-R%zs&wmtQcT4=@YER8K?2EMWaQ -z`L2n|GNpNbDahM2dqV&pBBifb=_@Y35TA=m89;%jB{ny(#pFv=ti0knI50b&T+a(7 -z&jIEjX>j!UjdRdIbI<^A$KW^*&0_aJujIb`Wst9{sB=2r1uN@9H5wMK{$v?@$rN3b -zd_Bn5RDYC2*g2hzhn-l%%Tg0?BH9I((n51I4eF^0*Yleo&qwqCu#;6hRL3`g{%`lD -ziTrPh{78-B`H7a~)q{NXh7n&Ch!+X#ds#KDSO-aVq<%)d`+shbkB;a?JEI*1EeVY-(F^od{k&nk -zKi%-C7p=6rVYcRo*_ueRbqclHO6_W;GZUqD;mkn!)UT-B9|rlV5$%3hoXOGc>L~d! -zT^~p7dKEJ)+c7!~XlGRwwbMY7BB|G?ooB@^KHiJU9V@;frLUO$LUxGeCh{>_5s -zSAXwoqK`)s>@+3MBcJZ@8Z10LfPXmutRdUG&OhL<(C2TIJ0`4)cHU-bThjd}y(eHD -z=tun@p->oxU%FZF$j)W;yo;e%?gqeLT!O|E$u{%@E>H-el@JTd#tyZ!Fiy(E2fxacPPUWmcV@g5B(aR -z_2pAmz*jZhfD1(&hG+w*+^^P98w=noN^NwA -zIB3IyzU+fGYQ3)-U9d7}Lx^yD3v04iYRVYIfmoEumSQR0ya4qD5yOBmV72BF^qP&> -z4}>Fw-90ILO*PvalhA=pU~n!0i+{sD&cCB9Z@+o7(&=${S$|u=?DmM{g}4rH(B1~B -z>kKb!cV>9HD%${MmnE6BS%rIg+h+N;qBp=8S&Q&%Z?w=$LVB^6(aQBav|0HGZ{mXg -zfST`(JZy{P(aqA#oK6KvXMKag*o72dXQ{_8|1^#b_)}b^M4zF4UHqs -zP)9o!cdQYoT-o$ESdT?$5x)wYgX`4T-=W!vod|EnTT2j~+wq5L%2OXAHHc%eg0c*LL|<>ZbUhy>+aR>ua+~!$(8g -zs6sORRSA=PcMA7Cmly3}c7H73q0`NA%x^iG`>w}dgyr0*nc8suv6`Vx*J{{{FtG)5 -zc=mCIVV-E96;G&@-ia*9ulU1e!S~7AAMu23qZ(+Vjbq7S2Ibg^Mhi<-`|dH&ZkuQq -zVy7F>ZZZw+W@NhtwQH8!HHO=cGfbnhU8O7VCbWAxj%VSqu%3?RIDc)Ekca*_%K8KJ -ze^SW&r{{Sq3=BUmbpR+HD3FhO9jG^MKStp$a}q-jgPleK{&AM|$8%NJhVzEc%Pu^U -zr+8S{-{f%$K9hwk)kUU-<8QynWbs -zvb}iy@Ukb`H}n*yb$^_1vFTB?M_Q+uQeL}yi#!|YqqyJN0@TzQFjIc!7+!RodbG|` -z&s5&}Qr_b$@=gimRXPgITLiyHSbJ&IzRomF*Oj!ER}y1(_q -zbdnP6J8%zod1=<4J_17Dh0qBUn#}tKe6TK2jJpEx&B6Q_3J?CEA;>xe}@+5bkop_vx4OlxMSsd*MI3jN3b*jDR4%YCwVRy(0evBq-P^<74r;3GaUnd^_-hR3IK9nvox2U%xpbah&3I< -zkk^8?84;3vc8id6$=j!SF{sUn&Spk*7~uSDf`6KW?(Eb?7Oxs~XQpm~zy8qCFi(%) -zG-yvp3%aaHW8KFAt|s1C{cDco!4T{r8;CuCec~I962&e5`eS%>NV|DWbfL$j#8Yq$ -zq^ECc(W2QKj^qNr6#M@RTZI0DuOGt$18eyMS~@e@GA_hTk#WyZ9BI)s`uaFH1vcx` -zCx404;GXJXXrc_ALU==9?!vk3h|%U1rJV|kY) -zZ0S9Q`eT-3J6@M{0^JuFMu?8SZ}7edbPPW(!Xns=Py5&BsSvG#1YxFfLq -zhQ8sx>>Roy0CUaG6n8{9McffUeNR_CXn(UD>Q`G+Epsf)f#ormN#XH4)l$maG(qM) -z0(zW<96qGC5obxXpLfsn0uhT+(z5Nm+Yhm2-_^f1mG5et&o?Y3i-h>n54R}2nK@8@ -z&<&7f<`MiFKiAD8sMD(6%6|g+I?0bxn`tw@^;n+K(0f5EKUW_M{l7~0s1AdnjDNGh -zj#4J}+MwKRa1Uk7I=H8xgw{+YY@kaD0BQROw{q+@6XooFZi$#|`?0(X4_{RTCi05l -zFT<1T(a9Zy7_T_H6hgnuQ)CEFvVYi?yr&ber1bm01lyl=xK-W9C@ -zYzFGR;aHA#JaJcbLNA&O*4-H$!-h8xkJ%KB7~j3}iLVXEpZwZ}i?TPS`G3uEO?xno -z)==(Y@p$&e4DY)U&Sf0(-#NT^6U@MOtDd-Pc*>J^ZP=8(;b?wym1R9R1@qqqFeiJ1 -z$3=T4YdcM}d1?rT)ooQU?DT&VhNV9ch8@R4Gbmx0Az|2*!@{sZmc8LPE_`AMZ0M-1 -z^4&5&1KwjnPF2Inr76>&uf64Sj#p{5s`E`0<{si84?Fl@Sj*z}N -z#`!}haew7Wyy%jZe&(;8&izkL=fw@EQBW5Z`dR`uP1!1FnF-nt%nAAr03$uyvvpzL -zUg`aRDpslYACa&wy;a&v>7K?>i@A~c-BbAs01Q!*pR=H68lP<#I)BQrJ56-oK3da^@-A!G -zu&8&Deo5jmC`YG=?@{XJ-Us=&7skleJ2!Hi`4$~f;$-~++TCzhwiUr@E -z$;(p|_` -z)JL%i|HL3x>)eUEb1rFKe6^}IZMQT05i1$ -z;BWBcEPwg-l&Yd!&>m3ku?dhP$WG(W$D`WpcvXDrMX(Y_0K_|D;8U>cu7_QB<8a`a>Wd^D=3zAg1|9-RgE`fNVveuE^YO11;G3K_M&?h`orm>G-K1Mt7A -zQ@S}nm^Fj@vrpvt-a#*E;;w}G?0yw;j#ImnY=6MW-N}%f8O(kau|m|Khikvw6ZQoZ{C{DqvT=Qp -zhkw!>AMSdFH2b5MRwu(y0uz*sqQYHC?Qck)PmUBq*|2SIoIpfd~GT~xD*?& -zJ=i>G-`cFPU}k%5FbiOr`#{oz{p#zmL*Pc}@L*r+a8tm#ez>8$*DYeVR)eXYXtkzUfg0e!RYm`l7R7cqT8u -z8^ze-p>8f(sg-Gil;#+w*^vZjalJSTQ|Zl1oCRSI9-+kn_!d0OH9@tBJ2Ca!R^1fV -zyMKJHenDL>J^PqhR<*uh{mFdqtX%q1FJ*+=ldI77_3PJgAEn3hW?%(Pi&3Y-i3G;p8v)8t;`ttr7!t-WJq -z6U9veXjfR!b}i`ncjJ>fE>LEl4Tmi?~f2pFn?`})Ukid -zF{166Jtson|2y$@@=F{^E&|v*J(6Y}-#w1yyKnP0T!{V%U|&wk*&cd{gZ=zA&_x5u -z2ze@qz)2s+qCsj*um;+2&qyqU_>M7fMk#!%2xAR;y@fg&(FKKLQr|(#ttma)gT8H! -zl(r4lL;rg<^ib!>8P|3@;KH}Vc%yyst9j<@D&+jV6Heo5?F}dyj}~v&wrKlOF%{O< -zXp?8<X_kYUhDVaTgWR&*h -zcooj;-2kcET1_^E{Sv*EA}_${bjGmE?;BaCiSa*XF~?xBCcr`(VoYzWW_r|SdaNGO -ziVVjK(7tLy6^!@hIUMu)x4@W_vbKiKhA2Y~{I&%!cC8!>6u%i)Z8mf@*sKd6`Jvi@ -zoAONLGoB0ikS2^31S8CsO3FpMP& -z-&6Z8W&n(=Ze-55DXjT@oQ+QOyKcnHCfH$RKe&7E6S$h6zMMNRJ8ua)90$yNdM(_H -z^`&o@c-{ggee*tLgALOz_gtgw8}Lb4pX;8Yp&v8MGeJK^%ez;4XseCNxL0^#yKT=% -zSnSpxFvEVv9)Ho5KH8PMi~QrA!Nc}1l>Y2<_X(L9--R*Mx7il+lk+%w7`vaamJaC; -zO@)g#?r?;ng$DJeg7v%{st4s|Dr<4-|5ZH^^)_>#cyFRPh5n#7&v!i`9SHPL`ZVsh -z&f^<(&72KWP@Gxpoej%ToK>e|T4By?04ES*7U$Gi>VLiN&-V$xUpc#&)X9TaH4C)) -zK=;f8NPo50N;GWFy)ub<7tUL4-gp+)d6*wjIuCcHT1!43#_O-g2HhIdVfbbh=un>_ -z>T?W16Dxfm?S3JfiR}wo0or#Ue*@pak- -zlK=DZMt?8$C__Ced5_n}8=^-^=1_gmLZfIQX<`eiKlc5~w}&W{X8iW`Y{sPkaI9>KjrnqDtQHi|>~@deP2UlsRLyA?*Tf -zO@GQli!09Gw4u!PfO)oll+V?)h`cxS3HkvO@AU@sy3_qRucs-lWxcsPJ9!Q-G#4VN -z-`0{Q1J2(0_X``BIs1)7MCxQtBUu^n9OpK1s^Bfc+oM{8h`jzdFb9Hkirc=F0T<5}jrc -zh<(`(Ig4qL=K`Q}v+zY&+s{N>Lf7uv`^8&|W4FZs=)?e$#{9vvIpRven7Gyn_kY$5 -zm^J_Mv-ymehxQQO&t5Lmua9e~w-EZl?8b^QKYupw7~<@C7%-(ziW}1!fQoXp*3{cs -zNG4sY_9^sUk7Lh} -z6#MnGyP9EKco*FR`R72vSi}L`3x94yy^(IjSZoXnmLT>xA2G=)XM9r)>&`q0W4{ma -zAjFp(vd08i<`P)XW%KxKAP2NsNUiPU7F(lj@f_yoFW_x=L#b^LU*|8G$Ght4Aa*&; -z%osgRtAjgqOa|_Qv|~CJ*45Fmh}Lm3tz$2=GcTO8#=m$TpSrJ^6(2EpzxJ0kk@X(gm_iS1#gDLH8Jtw0{esn(@GhWLJL^#X -z{y<_XbIg>DmgJvKOf^&0j(^!%hZ@~KgcRgwJq5ABiqiq6Kbx3p<-70nrk)loM_l`~ -z1ngmRS_|x%SrSh+CzuByH>RGR=zuvKZfmlJPJUv6KYK18p8aIcv4GXgfPY$=&gu3} -zel*Ziw|kLVM|aGQ?ai>N&`&tL$jQdmBKHJKMQbP*JIzI_;bh(G4}X~d+*1BfE-mBD -zCrnmou0f9)wsF6so%vm@tZ7w$acnw2t^=)PJoPX&bBbDvbLX^5^SUG0NK% -zH?)oU#dmp;)|4so(SInuGbaFkz^l!+!)Hml{)1=9W2pbnb!! -zd5_kP*8wX_ja{u-m>+rt`2owGZ5U=D9V`?1SHWx+3>^Rpme6M4?v4&>ujq!&w70cq -zS4YMs@!l9nR!K{vIlG^}k%v2Q!>X%9f?`I;I{ds=&0drLQMpmo;1 -zk2}ZF2Hhd4vwv74d2oLR*tCT1CC{oNSufZ@8tfnkc2EQCpp0*tTH@XH462SYdN58|*unxThx`53WI2=L_z+{f|TpM(#7% -zGYbzU07qo0@xHlA8fREJ* -zrz4s5eBY-i&!;_2&Z&U+Q?>~?2kb)}VqG|uU0Q@)nx33QuUa_Ac*~<+6k_QcHpOH9 -z6)byY9ji*!dI#)y!{z+z8d{i^Z2v|)M%g>hT*m}oRcQNpuXxvw2j)eYa<^Y -zr=doGd-u3cu~fowWIcu~W%^e@E#peHRQY+Rr7Bd*HI;R!cYVAiXKa(a5y0zn_ArfD -z$+ul%jZRa#f^!a0PSyF*ZHF(n@Q~#Mjd#vAaex1+wGa|D*Fm03(>m;pynREdf67LM -zuv=~g(h8>`XD65gCFd8@vtg%}>ZR00gcF{bTyBN!1q^Ky@{E2O)|Gg~jy;e*gSVTU -zW!vZRpk2(RiJCD<;}CWOwvQ{{&xf}g@R@Dm&815ROj*CwtxtI5h3$Yfp8YA7cb_IN -zY~{DQTed0N{qK-GAkv+v>By71oL`+RW`E#};}^b;y_XPadMVA4Ux-~*+Qk0+Ho@cb -zT_5G4lJtHA-@ez!3w9R1>J252h5nN$ukG{c)WZElvv#;;>zJzFldaMEp(oo)ce9r( -zea?d=y-&Xs_xDmM^+Vj<6lWSL?muMQp~tQG>U*}S_mcVKYkY@S=`-}vZ9*Ts&+g~K -zp34AnY7v5_q9P=CxLJE~2)}=Pn}4uRCCWLXoO^1*C7T^sY5|oh=vikmPgRNZGbkNn -zvJGeRu*}hqpuXD(zLd*OM}J@G2fQFs%d&IN=6!Sf@!dW$n+0=4FOdgaj8GY9dp`1X -zL`aUHxFp-Xn9qn@BhwpUn@g>b5y`XKqu!7NdiPFPSx&(4Kb_2Xr|r(wNDVJd~7XSi32MyS_TaX~Og -zq#=~UmRhm*R&m7%Rt@u^wsn0Ni*}8R3$gaFt@4B0*TLl&WkJjH5c#)R-o0QRIFoSltpKv%v{RSe0o_sP_HSt -znkXo^y8N(kRh`RJLE6D7!K;rEyjlTkaz1?Z+n4aLZMkU$WhWJ9L#yyfa-v+focoAp -zlMm$xy=X1xDK7amfPb{VP573O6_^Fw$8`%8ZEGmKFpbSNAI`lyLw;PmSeR`fNuOgP*3)d7Bu689CJpAX( -zVCI!P?>+(ZT`$(r{;nrDZHR}>&}PxAoyq!UUdH=oUCnoS16rOV^_RE*$1_PoR=nZi -zn1deiw$^}xvS*EP7dOkfW^Q -z_n}Aip|{-I3KAx1*iS|ry+3-kjyne5L~&1kp&<149Yb;rO*~aV2U*c2s0q9}@&?pe -z6RnSmcLLmZUnvMXN`3Ct9Q7_7ng_(3a>47K-ii=S#(xMM$~VjLs*bG{b=0!MM}lWLK}ae -z6%^0^WzS&K=Fq8$bl~5E!VgK5xT`$?`RdIejq5`p)I>_y4aB9cpaaQVO9>JVodHs-S!dUoGyW^s63fZKte! -z`ZfBhFWGu{ZB*XZN_k(Ed8?(g;6cbcU-s2v!GA(A4|x9vi^MrV$)RaCNJwquWdlI(!pINhAWI_{m!%KR{Kn+Xl$2+#-PSTvIw69nRPAP22ubqy2YQ$=_= -zy&TGY!kBYwpx5L}kw`bK@r=FKNP;eTzYcl7+C=0uMdw65jZrW`xPGl7H^p -zM~cce!9NrF2)#MgXTPX?A>iE2OO$;fVED|$NM8u5?z4(QMi+Tsx|Cne5G7nobXUek -zys0j!EBVY3<2k3OY);~va~$9^+-Kf3yv?rkyFj*IAn%o|bPF;^6FO!&``rY3S#ccl -zP?X;8MI*@lkJElOiLdaW7q#m2zJG40z2_R9Nn^Rbe7`(T2Z3g(v2fMjq_0lvR4N-F -z)&~^LBI3&+H0g?vL@l-t*kwCVHf1T6p!$IryAz2hQB(Oi0oP)nIzk3~b-fDAEK7ZsO%D)dy -zXRi^yigmQl$M|0XU9^s8SDej*IahLg@BA?2_?~CcKAyxdwyzIxoE6w7yP{8sjrjG0 -zyx5do0kl+YxQ8mOKxuW*%2m9r<5SdH&V9=Z7|!Q1Ch&>V628Jm;DjPYFfD`n6GbmV -zel)~vmhML^s%6o_B1%KKaSlZ9g@@QFBNt8d8$``#8G+r?ZDzgO3^g&6oraDvP -z@1=2EL6j`kQ)q%!m?`?wD@&$ax$mqQ)>wjBjZy{*eLeZJ*6|MCWSRwcV-sRzZ4+UY -zHSD7rUEiFm(&1x3v&-Pr!>q2<>mZHGR^MCHoJoIN4PAitu -zUKo{j)R0Phv6P1TYzVVfSE+%Er2BH3Zx&A2DpI7xqvHr`3 -zc;A| -z6m2Oa)6#f0OKCEMX#_z%C3}s2mr5zDA_cI88hJmz1O2@O?|+S(mT`Y$j+6H?5AB;; -zte|BfCZCQZHdOf=A^nyWywDn~TEqKpJ&$xvW@sO!SK3X4RROHEcjN87;5~1{U489K -zIPncm^l!bG`yJr9kh+`e|KpCGm -z=>Bx{T<_~%(ybAD>tKrDfFW%ZTe94d4~RRpbYImMZS>B8WzD3p-zrK%s!?Ys`@D$< -zq`f1%e4iBE8SF^5j^(;*5?W8(Sl3p_bXpDz8buz&Pk)OoGfb4qLAbRrF^d)2>&!Ys -z*mzcTA6HSg;HGVaJvaj>=tI}tE9#y#1E~gxSvL`D4_Gm&>Q-+i(;pB#keppe3R|*J -zLM!89b(*7v<;`Y3pk#tCCz;?X`F=O|0bz3r=S|#kovfYktW-LfzZOpJfc`NqF#Q=3 -zSS1%RdVi@YVC2tgPFTsnU(5ZL98fi{c$W>wqlMKcn7D(d^_cAD2s4o?Sa$)AWCIHp -z0Y13qLS7fC(<1WyWZ?sX)>C+vlthCWLjSXMh9&cz^MH^!DdB4{BbdwU5w^Zfsdsq6 -z1JaL@?P&S#r@V|^OL{DrmU}?(yz=%B0EcqyEPuAC4S1j610LKMfDH|}LntZat`pos -z_bTKl0mhVIKL!l5fU-gEDhT}qLc1um2JJSut4TtrX9en>+=V*Vuq*o7KM!9vezkoO -zzUmVhCj3a#JIDiq=ZAgK0Hew}mlJ0a`U2SdfDL_dpf7J_opp5Pvkvq{?{}aty6B6} -z`hOkhi!S#U~sTN$=Jv%<#frU#^MILRGaKzICzUSAX)T9A8I%rQZ)jHDp| -z%NsA`;Kv9m)oGZ4Ht*AFN00@^pgEys0%tAHbwBIP^uxXw_dg)`{lR>|iQYszZgqqe -zF=a0u;`@v|_t{FGvXL6GSl@!Hxj%m$;D4wwvasVz;@3fYS -zH}qd2Pl5GAIQ(||3&{6P;@>^&-6*{nS#01TlsiE>HwHPQB&QwReF@D%7xbww4}YWl -z%0;}b!IWN$+R_n{IN88b%_wcMK~FUtF4qq+7fGLNfb%dexgkOF<$(VUAwRAFP(2TK -z%uOfK4HKo=Zlw3KsC++*A`a&UD}_YCFmdXco~pqYHB1xrolf-?T+xRb=5K~Oqj(PA -zsKqtytD31bq>fc_g?qHGKui;A9DiHXPPq1hF6!Wwb=*t7j+|6HREwcCLfn@DN4Tae -z$pEk?-W3;;4EWs{H(`#?B`F5fOd8mYy!l4Cr(+K`u>0{nZA=6y0l(rIu_!k=b#-!xK%C%T7N@Zq+PDv -z&~eH%vdXlI)x;;n4GVoB#7Rb4Na{aDA?L`Bi(wVN53AVU$FJtjKQk`^4*PoB>p%xq -zU%`XTFVPBafzcJdk&2Is+e99Ez89Eld4JC(d`9djqMhp`f8}K8xo)Cou6 -zyyE43=s`huUYhojw%(_GoD1uBCnjB(<+aJM4djjo1&w>Dn@oBo?!^r9hWk6R_Lp-U6QQ~Qj6NVb0wtw$H{h*;MC5KW$ -zp%}#>1j<4=gmV~!#yQXQNT9W;9c^TcPc|Yx(~6w>#ydW5x`omzoPWk7;F%uIR!D8x&HdA -z0ESaKjD9ZaQ(s@E%8Sdf=Hgt$C<;qbdU08>eigl8c1B{d_J0`DdQ+D8e((KU??1ge -zPS3foB<^6rHLwHiILiN+1C8f#5f;54XgnXnP*)?=WzGcr|A@p`DuM4qIsX;!j(c!D -zeGMRtxg1t{8At82f`RjwcgH2fdS{Il+&3USase+a%fc6xy_?D!7t3<<=zN{39lHM1 -z$ylFky`hu}A%DLCYG{Po>!B76TDP&!m3_sRFnpo{9UNAv_&P1#SrA~y5k9;F|P`)#Ce+*7>GyFY|lb`l_ -zzxyJT5JU;w*+_T95*afU5#Ln_l-N?b2aia2gMM^t*)*UO&?;bi5_wxEC(|0)2z+N+ -zCPrabBY#_d?+E>N#3!GC@(V)v^9fP1Ki4ZbdF07uux}CU;b;QrVr^xIeiHFBCIYk# -z^R?R>Yb9U155q=B1KPMC8Ry^SyQ7H}lWU2Gt3{_rkD?kbV>NoPK-7SKU)md>h6SPq -zl;iJksD^0teOW_Z;bPeDpFJq_+C_g=@B4b8r+->fw4_bfW>8B_rIt>mmZq*!Ed|sP -z=?j@;rBk#7__ol^K5E2R1KDp^-nm7{&` -zC-^RVz`dFStblL)3d=Mdgz{Zzhrm1v<-!pzj~yws^v~lyNNNdr=1-%gku=~?W`yBe -zP=6PzXM^rsd=Fy%5Dr>b@qT-NXWK95N;ayDbN}-}L92F^692Ts~IQT5w$Ge-AI&Cr!H2wh%cB>zEiJK5{YEV -z65rOdvryusie`5WvtS$qW@(0>5VVi<0h^?+ezV=H)YD!`rV;G`V{s;%in -z=3lo$ykx?if_QadViscL8>xl4kyl671$E8N4qd<%-#3^EFv|g0=VphNL%m|JoQ3U- -zy*M1U=o@Yv#PW*QrB0NusZ_f^4DE+FnT1StSoBi0`>$I)V??VIw$}BDc6+Ja!hdx% -z^6QtuskT^gA%11A%ki*X&1u`!+rin~Pb}sLsWrW}q(?PlyY$DIUdzQBir}gid$Zay -zjK8!M|{#Ix4LyvYO@YUZS!0c`WMQEiT=HkDnydE2Gm -z5Et6?%CDDbpO0E~@!ng``;yS|n}40sMxNG?HK1h;S~a0n16nn5JnS>9f4i^=ikNYv -z#Ct(YxQGWwl<&{Br)tngVOx*I(3W={(;Q(57kv#YzQ)$u1?{eU3=B&d8{Fs1wo6@H -zcLLDS=)VhfES}d;LnD#M*r~VCHcW)(;==8M_vz;k)c6~psUiKgw{WlftA8K_6coan -zsjX4wZ$zKRS%}4aQ#FXW1!B@!C|U5b5Vtb@izzFr@b|i?u)AYYAFtdlY+~Rj??Adv -zdQN?A$~PpH2cuphyitxLZ*|17WaU5BU -zdGx@jSct)tmu2kB6?rLkYANLSo|&>IQhzHsF^uhnbv}oDB}0wRz`V{vAA=n>tWj$g!l_38Sy-dq4%=qM -zjx2l!L&HEbKT{Jt`*h99z9SQEYYo1GcVnFYEbQ!FSQp4i>+(}rm#7u#7=(3MQEUp< -z4 -zCY66bRoCw`;eWc!Qe7(j-HNtqN2PCT4yXSkF*2R)2&WsP`fBY^_8>?0)sTH1+4Hjh -z-Rd1ezA{L!2mCC^T*q_WHOX!-Xupp8v)dTjQc!uF56qjPyy`9+x1;Rae0IXCz>j9W -zrR?e8`W%sTLq6Ol>^R&yzAe{rWyL<5wBvubUyj}Jzkl1G?T78(-(~;SRP3|O$A;JL -zy~N11J7Gt7pNVv_TKcGc)?Kj=^ilihn$LakKAN-RgZJU-73tQfeKxORpN0EsRqQkU -z5c{m}1NTmA#XcMOz`X4h`)t_yj-L8%+9UQ1}3t?~MM$02p$vB}z?Jx8XLWq9UYrDR%uj&|i`-C_1koRfKUxl1CBv)Kxo#JdlvH6!Op4R%kX~$NQc2T=DC${q;Mf -z?5Eq4utT;U-@I6?uY6--SW|7t7w3&Tl%4A9D}U^HW7hhq^3JcQ`@b#a -z!&lY)N@yx0KF-*)Q -z?z=S26W$-9290V^=?xL(ixv0A@jHc1W{|#-qfN78Te`KHl6+&(dLs|&-{-+Bd|lB! -zPtJ5b*^*IvZ|Y99_ip52+nKo6Puz)eB5314(0XksQR22RXI91qEJ2U4jDHI&mkGL| -zCB3=UUjP_+-+`K3?}wB6g4866hcoB<5WfI0`M#%Xa(%}qwM=SkMH-grJ~pZOshZL8 -z$3T1;uAI74orfC%lI&=4djbbW-!PDDlrT@);0otUFKvNyBl9&>WiHyOV9$+chq+Y7X&h+B+7&-} -zk>-C0c`W9jbq~@2tFUw2+s-C1=l|fHQ!W$SK@!WcM92*KKoPBj@<}b -zcp=%@hj&)mWBZMnw}1aLfq2ZPNp|8>p?&pj$lHN?xBWF}cPOFD7rvbP@x&~&rTf%lV7xvSruf=lR*CjHrzTd&ywoT|hp&pmp{x(UdqyE)EYoTQOuYA`% -zyHnlyIOdHB#>)MALCuHzX*we}C(<(yXLnq!nGxI@>Ci&0VAQkZ?Y#c1al@n2|3gJiQcL}< -zf8_nGuS2V^N=pFaVJF7?D8P_mS!l6T*w?1BA) -zzXTH@?d@vBx9+JkUecJ^rJhaw^hWiD8+xS6i+z(F7a-NYo{}m?z%N>yVt#ik71Xy#nAd< -zC^?4x9e=)Wg8*qjmcQ?tLpFWa?h^N5&MhR+f9kEAIAHEw30Iz5agSWROW3#!(zk@{ -z`*tA4p1CFD6YuxtO8d@)#DLxuxzR`4zdFO$%Q5zAw^rz~etN{-wWR#p#$5t_R_bs| -zUG47O3AD>^N_yiix$cgh^T+C5;$Pi0U*4r))EqJ#Xq^@uzbWv4x7J{uc!9LcXug%${itI*d2%D+kHRW*AQP#!HK6!aN>?p -zew%(;DtqT4$NBR^_WRDm^08h$Z2n5Vk{ah9O5?mU#EZG}kbI+q;l76WI%=GMDUI_^ -z9>!CMce#J-&^oJSoz(i$nAvWnL%oR$eUo~CN0VC8(q>e>7Pwy`96c?$2K5^1OR0CL -z*luC}t1Qdfp&eU#!IqSYus(G(%3+}t7uuLX`pO`g<^~o7n|Lt0y%yyiOo~H!pPx!Q -ze1_7b{)rQ*kEpeDb}QWYOQhohbME4L;%k#wQvrVq#;Wn9L*uibwgk;r0}w%sPFOM~ -zy*8#`wUVt8_z>z%m(P}pQ+$F6yMs~r?GV0<28eppiue-S;AXgc8niat1Qx4MVkHqpLt -z*lvGj$8PaH=(>P4kS(n@ys=blINf+tQxqSxI3}6Z0%e3Z3fFy3B`;E5l0c -z58Xrcm3mtz?^d=qH<8`&KG>LHeJQ1rKU?;@yq{2}p}8c}ps+!|eUP01`^0a{vlH;u -z6wVGwGyI|4=9#+{j(cx~t>)fR{C`n=T*80Hg%CfJ+I|`>PytSa_H$AC!9a;e4bP$Q -zCc~5DO$Oi-YWNm=@H7iuUmattVi2r=J>Az)n@j&CvBvTjWms`T$FxS~FKUCYY0Y); -z)y|5ycbpQ3uU7b)I+;9HH`hhOeO*!N>sL#5r7QO!%5;m{_oCf`-#2K#ZIaa)`!9d^ -z*L1WQmc=p)P(B`8tJB-%7dzxyN90_s+AZJ_Bj%u&)ll00X6|>x>4A*^ZqF -zx)^-9nZRONMr%o(}KYh426w1cKi06+Fvb4ZHs -zWRmdJXeSsVUm$NW_*yqRbv)KCU`_qV+RfrDSv!1D-HoDdp_^O(fptUvcJzNa+C_65 -zG(gGpmX;p9j+OPyHz}A2us+a`M~NOUx{^*hPVXh^jlHm2@^JHzPltR)du?x+&SMsWli+ez5%I -zt0;bfDefrPlLqWb+S`XZH>%B7b_<>JayzNRv@_{{)s7|Uhd)U;im-n`m#~2RQ)+A| -zV^>Q()(H9C>!Ed#Uk2KB$xzIpc>@1`#Elr&!MYOO^EbI)!gfM}`fc2=Z)J5MzV|;z -z;s^G-lK$f5u5>(nst8VyotIWjV{IKMTc@3(tw=@ScVf!WR%naR;^HExz0OoL -zv-6PTRcV_@>Zl2*=XW`3)u-wJ|49h`bDYvKMS8KJ^P|q$_=lA4bAv_Jx7LNmHeT9?T06b1wuatTvD|;Lhb@C9NF*br953SPjyoDTkVnVhm?-h-4%EIoKpNfyyCs|A%$0OD*0Ir!WcV)&7RVw%^XeILv2C -z`{BNdeR6Xt{(fF3X=SoM#VYZVk#RK=e%ub_*J4~M`N@fKsk>9H^lzlTk5h|5{AD4Q=>UkN8j@f;L?geYNc&VZRV*O#^P|H-LKBpFsbwU*QSuAcVdR -zv~YjxR-S**o2CJo~eJ}j`FOC)vzXo4l4ar$P_K@U@ -z97LTfu;eoqn=H?t+j^*Gm#$Eyk5-z=eDUa7R-ehxV=z^Bhy;LGE3*NU=C6j%|Km@Pc}tT -za}$v*Rw63iC!=gU`?HDfkWm(NZ=zRSwCRSD){CfQ`2BPdy;TCWV<8`TA)6eb9(4c3 -z?VW$*G!0x<;Hl<>vp@Z4K0Zzf+N=L_?B_@bQtHSJ=>CvMv#dHp)> -zo4>hEh~G7RkGO--THC#lIw4u!|5*1-mCh(V?IqRO5p|!oNAQsb-5D(&`GgYlKYxFZ -zfO)82f$J2J`#e|+a5tX;TFW17XY1+_hemqYUj?^+1~F%(n*FtaL#)az7^}xTwD(4N -zqB0e2Yt0|4j~xsa!TyM%XV-~Te`mAf>!2HleYzpd79O!%yW-C$t2hgBOlrm^MAJ%q=i -zM_u?gl1q=#FOMj{133N*_lS2qX_ZglJY;_vAoxUIUyZ*GK6!T^^a*}1gWtj`Ke`sr4DwgZ!Qf!RTZN;2FJVa=&z7V~MICyn -zjx|)rO045rKeh@XS-FmD<1w_-ykdj&XqH}Vt%;TOhCaJT_$0u6oFU#@6@0%6-?{XU -z6S`T;NX8;$m2^==SQbUNm1ciI65-aOltCJkUrMEwbx{LlEZW&*vy5AQeiV#3rzQNR -z_T^FOOIloZXx{n1|CT4t%%(l+UEC$#wd(vABwVYYy}Mh0_AcwD@7yEo0wABF6ZR_7 -z@~Jkb0eJ=);)5I|co+v27okgUq!{E9h;U6QoGEcM9hkBE(3TIR1c`rlr8de{q%V?l -zH$_@P{rt`$`#FjF8I{=4_aV>eil_P}_66V1(C2EL;;?mFzM=ulb93&{IMn~VcibeI -zz8B?;SUA61&TohF=h9Wl9t*7${W$@DwOqOp!+I_q$G_%a_quWRtQx%U#?6)Qy?B;h -z*(3CG$}&esl|kI=!1A=d%5T0V!~ -zvGOTh8^SXcA^aesQexV$Q;$;Qj)iu*(efYK>Ate`E~D_u587LYx@!(q_E2$(KlWF( -zFT0OR;(L?YuWYY43*)t)HILU<95v_~rpIaz+YdY;(Y?yfH*$ZOVlA!azyCI_-fZo? -z$_HckJ{(iJ50xw%z7q&ft`=zn>IU7Be-yZylv~~_<+|)o5Z3*?26bs|P}gv>IrIvl -z-W-TGQ&L`X2I{qq(L&5uO@#mbaQe6!S5raxR>(!MiLw&@=rP3yX^=`^3zVG3c`R1v}HDH>dY@rt# -zlznvk(&&E+t;3rd@^u;6k;8BYjp@wfETb%Md3|XgY~q9IHb1YhT(7n#&c*iOKpEMR}j>Bds1`yz_`GDpZDVqhE-Q9hpVm2wQ15>H?APA&7ozpN;(>Q6%XbC -zsNrX$Waqb6r2lkO`a>1zKN*$2zassqknFu!uW#*@a^UGLmaQi=A^)whe!vw`y1GE} -z&_#b9wvBv1m2tPi9s2K;d7)J1zJI&SZ~hP3QR6vS8qel`IUe;E{odY@vP6fLPZ)V` -zsW)?NpRh3{KkM$`2q6}`+xcSmL0*O(@qJ3~VK=}+$4nDG{f>z?9~1C5 -zZ=Z+ss|Ts+CbL!A`IT?W`=s2wEy}tiv+;k9*{P3%`gU?9*N7U)L1L%!b}Q|JUNS|O -zR>SM%TXbC7a6Mw5fM~D;aGsTHPuVEI;v!&h)SItJ!yzcmJ+)58<@NB3T4TWVit_EpOJ)oOXWj=X=h -z?IxSwyFxaiPuM5UfDf_g4^E_({YZ506LLR}m}|S)6t;V1*d1#MuH8FkP`{JpZ=}EG -z-RM -z{4u~~+iM+X!1)ohxDF^Biev9Vd(XOJ|3)cJ;Q~sAc36%(a6|REvTXPBuF!vJz;S;` -z%BPEde0rb2>6Wp-3LgwmrcbM??bK=*YMGz~nn0UgJLo<#7X6!2{Qx)qQR+eY4Bom= -z@u?poi7hu|iN9Vi^GEL5SC&a!pA<5QiUzoQpTLdEKFV{wwzF>J9Or&K@fB8Wb?6gVaF^)CF(unbze9hkB1V^id+i7C -zT^(&TqE?q7dU86ekCP#W*nHH=7?F^2ky9v#~{VP&h}oGjc!?L}C<-c^M&^`EeQ^%}MDT)h^PIQ{c5Pdi7< -zlaOJ76d?X;yz|6_&v&M9Zr%M#+Tz3T48YB#r(znEPh(*=RG}K=~zyO*ej~1xs;6 -zxTEeTTC$_zKq#(AagOdZ15K~R*=qeNv^l0B)Yn$0jHsur@6y`YYU3Iie;o3pl4F2o -z?6M}qxlb}@4$e+5@%A;MB{|TN(89Qvh@QMHhJ164rQ(0`EC^3#_IKeMDWWkf>ZNpT -zb(i)NQLay%b(E-?ZheLY7ed^f;;iEf+_-f7jb;G%t8`@C6W)i$uzkyQw3EVRg4uLtKsUnW9d((4iv -zt7`OR)vpxG#A7zf?Xu;fa4^`>lyTg0P{SFpw=PkeIXs=Ag;Cs~z(*IyJ!IUbc -z_i2A$_W{uIjHwtm=pK%JAp( -z|GTwhB-MuSGbo;wE$Ab@AYf(4UuZzh9ZSuR8d=sH2)y^WgLQRNZXf$8+5mC#(OIch@90G0YY0 -z6>D5g_6tpx-THg(jIWEAeF!aueqKTNioKED~!QB~yyR%gO -zldloP83GKXHD*{{F(q3#a&324mGvmEp)ufE#mJlCmmo&2RSef^h}KHs*lS=8`tXg* -zM7&mw=6)JY2i}|MktY-SZ;Dv4=evJN7H4FSwBy5esm7aU&}##J%}9%{p#4!PtxR6q -zO_390vG1sfD)N4qMh8{rbbgcXr_7 -zyqwh{AXW>k3qt$NV+E%Wwaf?I?*TP1Xg?_99M+&=FTRz89hpRY_HSqf6S?>X_8?us -zlaYH#H1&z5X;3A%q|FXTCuY-{Zqfs+A@>e({_C;K*xhp?$PgYNSBsN4^I -zK<>Rk^KN8mQ!PAYwqGH>?rhm}6M8be_3m0Vh-kD})FsfPtUE#`GWN_^p| -z6E9hxN~A>$(0-j7U`!18s)dO-Ys$CX^A8IhJ=6!cr0poO&FemiFZqAEn>S8c2xrS&<*uIi}a-hC8l=$phH!&*` -z%-o~+733dkx|TS^Xqv=mU=OWZhP7s*sp|Fxan@kOn3z$dpBlw0$}huq^^*IQJl9&p -zjRCr7q!W6nw9BCQ10UWmc#%pM9yQATfO16cFFE4XI^oqG3;U#-x?jlN2KJs2G;ECe -zBlU^j5$SmHma%_>(hDW7_#}Y&OTEf>tdsXE-D@!ig3oAJsNZ^7QrATMB~!w>@u%z; -za>v+rlW=WicOb@s)8#q<1Nj!4WSi;rFlr>OV@Ow@P{s -zb2NOLeFg6KvX(LGUQB`UV%tKd;sJWw5#Rp_-%kn)(#wAYN1@XYy8k)%ljQxHr23O+ -zsjkaF?DAQXW+MyXhUTQs_Ln`vXBfS(;vtQ$aeuA}v{BtNj -zS-M1aKl| -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 -z=GIqqDt@bML$~Lk$F% -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 -z;3R_AXIiZ?Zn7-1?~5 -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 -zDlN11T*ECW -z<+nHOk-kC7we(k>I4ivLS0~)hNHeq&C-*8~4Jm^0Q<2N#<2In3JT^Bz!&_-N2X|X1 -zPiJj>!!Dj4o`ts1C_5cKwzQzA_1YZM+*6f<{O2CmkA<{NaM}}Ao8UE|ZYBEi$*RjU -zO>*9GR#4yXPH4A(2>A%QN&*LA_ib@Tgl#tA<7&ZQ#Z*i4n|<9$*ZYP=|ET6^+T+nH -zP8{-69oyPwme>k%uZoy5bMTZS!|((tvmKt=c^RaD!m?rA4f~3a%IkoU4GSCZCuQpI -z+CJjk18?+;4ptZr02cggh)|3YM_b^OJ|l2%VAo3j%!F2dLs$Rz9$|aqWa2fLJFKN_ -z+=IFQMO|SnN=W+nt>xAje{YR1-(7oz4x?@83_UIsjAo7>FE_^dDZ%(b14avDGU72I -z_wNz+DBc0w2PWN#9tr6#y-0WKRbRpn?-BU9V@#L(_!(7bKHdfQZQ1y2vNi_S(@=jQ -zp8Z{uxm|L9JwNqT_XO>FR~Op++!}+Qpd91YO4elbr@~`}p@dE)=?*UK?Ga}%_Y2_@ -zb^sW2Hmz{4iN2j&{#)pwLZbUNo*$1$36%z4?RgzFuDFefujt#wYh&ctvh}fKBbOlW -z*1h9@b&rg({4eMQK3mZXtlqnSl=m+Bo8q1@)W^qvwrEA}3By6$uC1Bjd4(9aw2y5Q -z_OV?54`AeJlpsyRDd!|V+k7--a*Oa@&5hrLefjn_knT}(^cM09sa1z>jv5>2n})|N -z?S{450~k7|2aXsRiveOfbvSB}z`2|&0GOp$DU1_<>z4gomI>Bt3>knuy -z9*pyU*|b-jO{fRc;(KE3kX5I~Jm=hmy)q7z^}}RL;(QFS^6~x{@y5qU>~-T}|CPt5 -zGh_@peDCA-iZzO>^4myp*O$A#n#>v)4cp6ybK_p;_DUIo^{$|?V;0QJ7x?*&)-@aB -z7C}r^#BN=SIyfnTO=|=roAz^G@Mv3w?LHrW$D87scmmG+v0RqOp=2f|=0gt5AwG3| -zJ~6+`Nx0mns@(H5IX|6z4PX@RWBi6^e$Lt}=xX#UlJyB{fsz4}u;tbyn4^M;92Skg -zCH2G+KWDG7vl}u(&FG;~V_rH#&@F>|gt9Y-9546r_gn>Ko%lYRnprkH1=i<=07f1Uk<$fRqVZ=aa~jF5AN0h_?fVGumfWr%~gx%J*&Q*V&nQ$A?C#6#lE6cA;0H@>#9@ez)&+^|4)lJI;Y- -z>mTsOek|8gKRuCo^M6)ZW0RS;k6+fTk(&}92H&l}d9UkJzK!L4I9|AinQ7skC>wVt -zQ4eoiGFEf9?%peSb26?5x6|PsSk*L~5!uFLYJ6g+dTJwrzO2;F9G+l!dUca@uw;A( -zaSgTD-pSGdwEJ#FMl$Sii$iNwE!51U)zuvd{)@;DJmFv$Fty$D9cLHo+=} -zy{y*5FO;h~U(G1RciP|8MQl6Nw-%+cb-T_+8jJA17r)W=jark&V6!*AR(N!|wMed6 -zajzS)+_f$cYo_Wqd(1u;--dZIHYZ$57#!hzNsol359^8hgdL&Rr`{$S2%>kplaA(B -zPtB{7TuNF)|C;Hs_Nmkq|s-CjPXd(`^21h -z4=OaR2=tZ -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 -zeZKWe=;f00|TK1xkbI9K$b)mvu=s(;@ -zoV{W;t|Z~GvrnYI0T@ZguMk@9S7XqJ)?P7t)jD%|ovE^ptLK&vALB;R3{48bh_8dO -zT(^WdUlU^*xn+6~>NZ2&IY`OSagaJadkaDto|j&4^0QTc=U(s#`5vCx)GJ>Ue6Eu9 -zQv4R^0l!u~EgP#+K~lC(P5l5yhv#-K%xhJmc}BE??@YKu&SG$)OcQ%9$R&xm=P*^y -ztWV9UD_d6r3}?fqnZ2N(56>8@S;T)`=d@GRLI4!gY~+L?hX6z?dRsYdMY*a>f$-hBa(t -z`n1So;(Q+VW?fwb>z^5}tIO9x{cl43y2m1s57KYYOYG0Xp5JGFbWNImt#HFC_VelH -z|K#?<+@1n+`>EVMNKJ>-C7r%8Bp<=IAB$LI9lm{kGf$PQm*cyM7n&SrI3GTq*q?)O -zPMa1!o!E6tSZ*(@rHT1S#2rf*;ng9$P&KES=Nt+5v2gf<^pgm&8`e>NuD3~!0b7X!6;%oJURL*bT0}W(7;?_A1oD=QNsuCN{ -zmgfIG>F>b^v|%zZbTQ*_tiQpUk5Xr-#O%d3yUW2^vKC)$$y5GN8`TiHN{HX7bHO_xP@=J~PIZo_d -z1Aa+uEO|i4y6i4kBX6PqN3{6LHNlri!I$VLbggDt5uG<1_0{I*H1`QH3(ga))O5#q -z$pfx!K)Gg(x;)+T141vNU|b@9*Vj)tl~K0lq+)V?xj8d=PBA-&;l3$mPh&#Q!R4b} -z`GAPAhEcNp@~(cI*z<;vKC{q{=MX_`bsE{r`@#FPeGv1v5obY}nMU5}}B+V%=I5_4>U@hpb%j4Ub+oyO7)qE=s}*08KK*HbGhU;)js2x{?i -zsVy}%Hii^dL4SZxItxU9__pbQcjHi|yb?tbkQ;mqx -z;5?FV<= -zd{zp}u4I97VCm)l%@zF~ydRP7Klp%=lHORMIOZq*KN<7ZWR(Xf=IQy5nBU)j#QeT_l=*efrawd3Ji!;Q&o*^q -zj6k3p8vvWaU7SsSB_SOn+0-~5Q9P?L9=)93m5M!UImd+jyGl2 -zru>n@;A)}uJ?PQs35X{_m(n`AX{GPSF_ZJ8^YlvUEQ0>)9leucq}a=#=D)WJU(cU{ -zFa49)YV=nEbc+r*P=HNh5e>OsjK`J5`}cn^z7NgCV849_tv~Zh6Dd4*CO-k4MV!J9 -zr2#iBq^?DOuG&&)lTlKDxoFN(ELCY>QvVx3i(L(Gd7B@wum|Fg;AxOK7=I*G?m92^ -z$hSn<2^F|yt1q=vax5pN9>6nbsW|x_0?KK)F|Ra`!V6GW!}F#qH3q2dqJ1_i&a;_w -z5sv!L$s(b%Xk+@gDom#WGj;^b8&#^-LhTk%&piTvYLkFCnb=nsbhH=e_U;#7%+eFZ -zdj!ZzdOTmBDvfv0|cTOKV$`Ha4s6gHMB83^|=Y+3F)DfP$~R?>c~E8;~B!s@#< -zO$vw4lwbVv>KCu~KH+K`xy^nXDBYO7_zHGcY{YODUC!U^LFoBLKn`dK=>J$PEU{kF -zy8Y&V5?Ha&PPCGD&~OcmVM-M`PK>Dz&K83N9;8{?OK)E3Z$?|lu*~bB4$2HLPxJ<> -z2-d$%+!dS-R-U`AP5pTopURmPsZ~VmlOpUBw3?m+>k((7Nx}*8omDbE*NVOIUG~-z -zW-6u37h4UCK&`-nzO|KH^FF<)lUtvA;bMP(IjfO)cM7ft9yfDQ_2wO+a1(p>7Oul; -z9dR4te9oX41F}y?jba0}NPV<38ggl<#RrA&9?5&Fcn(A^NRr35@h32f%`{jyC=rhe -zU7I(&ah5JVC~RU1)@m-pLN5NSl!-QM8lKmf61r;m%;j;F*xlHE=%9$Tgk$h|^mA~3 -z48mi+KY?e&G`P(>+Bmhr^>a)GV=fDN^@@Y8oJG(R8nF{=SX5b_c_*G#g}#kD-gO5B -zkJ{}|@J#@lgZ@k|C+1_MZY()$bKOBvy&HZyY8*33s9qmx?6)&TvrAg+-@YBd{3UBaByr&+PDPsbg9*`pyP -z=EgDEeNgIKbX}fu<9fSg2ai(bmr{|(4hp=cQ`JZ(#{kgtioz}WQ9=^L-!4J_VA-Ek -z&T;M?nQyA74b(2Zq9{^tEFk%RzXiDSx!%Hlm;=;aUBk6jSFwTEYF4y{7?;vmD_EQ` -zt!(@WFr$8}#7wJbUF3~=WL*V+Phq$hp8@){-?|XmUknt-fORG0hamqcp8p9p)D=kd -zE~``Q_OI(D>of2r?e=d%>faz$$bAD+SEaHft{hU!#*bnO=}*8nFnUrx;r^EdJ?pP!)2 -zkP?(rIOch5CQy7FE6X;LLj3}`58++_)CgV{3|=%$fV4WL5c -z9#Z{qC$z#Fq#K>wSqx`3LDH;RHiTtr(DZHCC`^!*^H)*x{@-OlYTF%FqiK9pqnV%t*wou_Tbs?^gz4#e0?M~4gIb5T*~GG{e<6!b2}e&W?#yN -zG8B+&;SE88 -z)w_n`sbThpl{LAMOkN9-8Hg1m5aU}Q?MGd>7fQGSD@VLwG-QD>jKIBLPh7YoZFvp- -zrvy3FHH`?jx5jR3=s{_l&armEFF?<=C|KUJ~|WWA^lM#7t$22FZ>?EkllxW=QG^)%gUbK1gm<({+{HAgscRME(`Q -zDcpjw@Cg`4AV6gA0UQS(QDDlY8t0PvYitRwd(hPzt@86`C1~Xx@ofGA)cFd&s)Azp9eU1|K~xeTibONe5Z%w -z4wqwTQhsF9m9QtTVs;`+hTClAGGfPbWH?do+L&6}7WUh8l`L=P(o&00JD=c;~=fuP6YaYFF>} -z|9gOw;r%BP*$UP&gQPj0J3A%t+*$Zb@^qr$Y>#s>Ul(icps3OI13yNI{3-JPg7~EH -zrv`4hgFc>+-v8T!!Y_=J@&&Bb5v?=mhxeF&ocKzZkx2pgYM+D^IIc5@o|s<37}=z- -z@=P9m-M(lIqc@swo9~#~<^HRHKtOM*w~o7#q{oK_c-k2@sfQFscu5M0=C7j~=)+iiE8Th?7IbM1_O -zb8eYY?z%W7?2PLq%xO@zhR5}|kU3YE;U-7#8}`*hEE|h*4sDq8CGdNklDMT}-Bh4w -z0HtR(qPIn?orC)y+jHL(3T=aXv^&rJSYdr<1C(fZ7ax}j!q*hC+QJ6F5VYB_&#p=R -zfDEW-Fs#?9jVJa7fS4Lf3Q$_O_7awVTP7suLD<)YYd^)Z%b>RnVitkUS7$LP8`frM -z%PPIuh4Wd*tn&cMEOSHt|&pU%)nLwcMG>Euz6oNJ-hg{QNb62dY8;rDKRqf)O8c0p%s@x5+-3@88C6fqp;D1{xOX1J_&(-{*49T^8C;8&b{0rgIp|tee9Hik$5h -zg0ky0Z-q3$Ew|zG9R6(k<}kYnFaXpb*F|Z%xmsSWpZ?JLW#h6`(3Qi(&D%fog2hy^b3O4cR?;U=a^c%3m4_t&J7nbTx}6jh|K1)ce!FB -z12=q%`?asuzd*-T>m`_b)Yri -z*WteK(;v6H`gCEzVRtQm&~rf1*)!+Em@Z9a)%2?T+lVn8 -zDP3rhj@aGvb$h1Z)^tf;pM*2s?gE(Bd~8Fop4;vmJsq~YrQ+$ee!IK3GE?nA;y -zl*?a7-JEIUT+U}fp1QL{NL#pO_B9_T;<+H7XA|jtS(&6nwEu^Hx-S8bqc|4so@)1So2nIqR&nE`?wjtbLAmkC^zp8tBc6KEjc*%R;_roXeO!stm^;KO}T?gkP5^xTR -zn_r+wYgH6DF(<(+@)Of(I!1S9@^YxX**J<( -zw8)#lS8&3mzEYV8usOL`=%-_!hM-Sh_t~3ICq1s@2>suR+aTmCrVboU_`Bo2&lH;8 -zQiTLPssyTV6ngfeQo0KuZGawiF|7f~Y2=V02aY~bp+_ix1$#T4hVN|XQJQfqP+wJ* -z&TD)Cefc%>tBm;UtBj5pk^!CdFvM*k -zBwE@m*Rfuyct2aApq%{mN!-h1h?FTy4qe@uzWE}3 -zaOSg}S$jr*GL0H(I1lU6H(j9foYn1U;g7d%&dnSiEMKOQC5;a3m76)v#WY-V%!4c7 -zUZ7@gyg+YkK!}^^kqpMMInUh;mhMiJTLXj#Atr)8saAQ53VUKXP~#^7_FfKqGNA5t -zW*(!bXD-xN9d^;;^sN`@_bpv@(yGpjoco$q9fsb2vA~k2b)VPM<`?W|q;A8YMlMKbB -zpQ%yu*%b7fBavz*H9nwxVX(7M_wL1J@+#y -zdN(~@Z>U$uJo$KiUgdeLq~zMd;y4}&&z4q6WUxc_}FEdzSBjLyxNAH=zTzml=6wLGoZg+21uO7OgO+Hz8jm9u;1!&w%| -zeSI|hdSzFS+*RUqenY?LCD -zc-a~um$^v42~v8@3)m_XcoXHNh`V~MQ{8dnd+*vcBJSfjrWInn4?K7odg5b$IxnzG -zrUC|Xn$Kle1#fIRrKI8N)u^k~CZvV)a&z%lZgKZ@y6qBuh>`$mJ);Kr5(fq5+ysx%Ws`$TK2lesqF3qbAz6%z7*Pr_?ufAgOon;z% -zJ|s{N=b)GZ^nk(cPOX?htr=W@mj~C{=9uu&f%b7|5panopTz&}mN*TUhV{CZaXMSacKe}_paeQUk@GBd!)UIr@cBDcvzTsw^W}PG?)6oH -zIW0wHz;(cz`7Pv7@X5ZW>V7xvTGWwYx9Ab2rFf(-pC0yQpkrlC^3jMKbZumxS;Oxr -zoY|M_&K%wcuA{>Hz|Ph#4(CGj!|rf67oi^y3+{aZPxfVNHbT>~fn?tWVvRmpmSC?U=_-phyc>~`5#on&f -zb&o%at>yk$9Gkb5^43!k$&%Zu2;;FJFLiNwJxR+~>YIUow(f!7US+ACJJ;*h^84T~ -zRS(5_bT2-9^IGAX2FA24RBm_V;5_6@!P%=^rMqneMH{@H!@guaOGP~juSbmaoVDDR -zktAf1ZQnk1s?+(lx4S9?^!E{S;Ybzdt -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 -z71jM)3UwZh{%Hz>%hJ*LM=QjOA8vGH(z_ovoZ -z+4MAWKcv<`YN)e6^$JUQ5K<-s*Zu2Qe`;%$EuThy3n{g*LUysY-@scPyuHD`egNJM -zfb!QI(w};lrTh+3W&ls}l?3_;ebgt%zH_~hb#%dqS~m0LX~Im9e|hG^`aJU?JtwoC -z@PX^2+*T8QU*s#+m*%C1TzcSF>)reAC8Le3`Op{<$I^{(=X$MTx&>-DL7)?})zgquX*sV@fh7%(7K~24c<($FM2JRy+^?caP>CQf+x6m4> -zd9>jSJOUg=C0ZKbfA{ca$ulKM&YDw_ywoH9`Y^vVKmSp$)`xY}6?LwLT}L0Xv*rqR -zH-@=mNRIw`q>R&Nz4URQWq$9{GCBI>kL$U-*s*`Fm(eAM;_finTh@FdLGox6tnc~t -z{LTsKF}%~AXZ}I&wVu%Zyxtl?A5=b}ml0m4Ou8%opmT}*e-kjX7R{svRhjzBy|Uho -z+Xr7{&HKmjIFF;)d&aE5_=j?<3_GH99@NF^vHkUE?p^)P^;|A@08vzCZzo4&grNhl -zXw0z8N-`;I(W6vCv#Bwp1NMDfZG!WxDACMzs6*mvBdp|5qDn^0mnIQKbM=DXThD1# -z#H5kLB&ON4f8F}B7`*-sPOe;--yI(ib;(H~(Q9qq0o9{sT6 -z8-mV%3iAI1H2l-PxDUhQL;? -zr+pC|k>9yhbt446|7GJ;VCtj|BL2oD3Dn?p64do$%XyR94T3j$2Ku!c`t_{dt30Ro -zs?Y1af7+k*-oOjqp7MMHqy^7>39C)`U_Z$1tJAa^b^yDxs((gz8lKfNZS_DYIZe;$ -zxzy*q)Ia-DUvN|XbJM;-?D4+`PGgult=d!Dk#5 -zcI%^m)d$S4C+U}nOR}$6CHOqsgXO;fmNniQe-mYTi124~geq)ovD|TD4Vf8sB4^FJ -zClFWjC}W;gkcQfN{g_5Eje7~mQP#qb1J--u2F?efK6V8?0&xF)Rt_od2=nQ|?dTT4 -zcTWcX8#Q1M<1y$Hm~9F@!QQ0iv08?t*7NIO}jD80j{WQg6sYv{u+(127L -zf8LeGWnNMyEEXY@s$~Cmkcf=9g|~g~297gx?O;StgoL+;5d{$@d`q#YWe6RRgZdcaG>6~wG;Bsb! -zqLsx7wA<#W$ia+)v^g-ws}c&cSeb%xe=rlH*gZi_qEcmh{G+USK!V54M$N`-Ldlz3 -zq+^->FqDTg9`Hn&hbOuLTeCX$`2A(yxq+``>}A%z&6BfX-j9d%)dU*EhY%HGN!0FV$$_fHshFa9XvcL}me+;Y*>aV|E!!FQ*# -zaRa~8YmtiGb`FM9Hjyyll)b`}e;4y_x4LH)p8xz?VRf8I-8G>ecE?mGJ1T)(!4-)H -z&*lfq{>?oAsBd(2fJnA&EQzI%S`hp2!k&D+DRHkDT9kwAGh?}m2;iWfAu;>8jGtiM?e>=v51+Nd9cMhaBy0omh5$MPE1k%G8d(kmB -z@EG23R^^S+0&({Sb*8E{%4DN_4IQ+R+o8nC832pK)}12Rawa89e{E{SgSUO782^Lw -z&eg*8qlk^TiD`mhEb^CihwO4All$d<-5Z4+xAiU&PL#AhBHAV1EB|>c-q%GuE;NAbu4noXtS#Yz2yE$fu{bcw?cS -z9#4Png;6HyJ+>EW6j6Ez-5UT`&p -zjR4N~bx`gM2LE?q-}jNA;mpC3nHrN>yzuBYS#mpDRZg1M$~A>1YL?t8m5{i^J*P{= -zaUef+ae14REOxyvE7RfZjmz+by`ZKNzR(Pu$9AYoGvdloe}I*iB^-t`A#Jv1U>lZ_ -zNqs$GD=qRErX?dYjPa)$9*aO{x9x<%aD?h~AxujE7bf2oi81}jMjlfF$3`N3GK`JQ$3`aZh{!zU>~bDub0W|(?0l}_aicuwWrSX4 -zCmM%dX7d8jf5$lVCPH7S8F;sOVnQZzzKh -zk<*2JBn00-mE?M=8&vL-@2~FrZWaeT;?q@((+$84{uj`-eG-(kpH5nNF}R*|ae161 -zfJXW+7WX7z#K{Zr_Qxc?g^XMbq0?Y3<@V$1jr@$ke-)OoPhqR86{W!DLu05*v+}%! -zkcZS*pA;~V@%bTq80n-Vsh`M*)o -zI`(yy#~C|PqrSWH%^NxWDpt3Inr>xH&@GuTNl*5jMreh$M*Eb{iVcPHZEuOb+QL02MSIQnT?15jD`{0d^X$Y*CFXsro?5;Jd*yy%Rqm|t|Uc>IV -ziw*Q~Vj6xvvO^Uyb?!+N#@or|{lv=?e$pc^e{(&;vtWi5Hs*6we*}hz;mn8_I0MwB -zKSmL!15$tn;jyzgUxIt9-(Hb$X_2@6wEftZ`FfouL0Oa6hV*h1avfoo0=3yL9*Iau -z{||@#xBKbW?-GS~j$U5s;e;vetK4JzDfi^Ca`wxdS3e7Iq{-IX9MvCdE%7qHU$Tf3 -zf6I+ovuW~o=p*%3X?Mc4+JEybcy3@L3AM>W|7i-;)xqS6D*!8Zwe8l+p^18EXd15K -z)a414rrS!4A*ciGR5Ru&Z2mI#m2iHzITFt~BcU)`qouhVh3A~^mbogI6XZE3yE#`t -z4*KsEV{pQaVhk=BaSXolCC1=V-xyr#e;Wf~M?33fZo73B^w!b5F#uqu0nh2QMT{0Q -zns_m1XfyiiZ|AL8?rOr3N^4v`gZ&V4pRc~m@nAYtVr&K&df?YdjaXwtL5(oN?XJY< -zEO_o$Yg3H9pg$M7>(jr-44b8 -zNlaJON%LBmFW%TxlG8>L`l71)N8@^y!EPZ~x1jmf~`GUsOEke;?`~8V1ULO{2#wG5qxEg)a+wHDYjDwKw*@FK)?Y -zFT1`m%pSm7IP0G?X+S^?ro#t`*RbVuBdWrEIg;i=ABbcJ1-Msl+-(W -zGxqU`8L)cG7{nIAC~cyhn+3e~JXmdC0ABd6eFS*F{~v|-gkkVnjG`xGe+9HN1J~9c -zGUhiD#iWQjGKU%Eyq413)I=PW!`w-V)xg{e?Fh9TmTtXD1Jl(pq+2x%)Ujz*0B=DZ -z8Yv3Zt0Bk>kVnR5VEx|`M(>taC(5P3hQRBAe+0w8`4>gVIod+_n%Ql?;P3lG-WXo| -z1;_B>5y$Weubw4eu%0CafAw&B|5>P~kIefb -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 -zGMuf&1E^^-zvdJejpq4dUb@j|nZf5D2< -zN?v|xxm8#mFk~fP9lQK@@}piYB~zI0B(zQ8+X&!n^Bd*VeFJQ4MilV|_{}8fAE(@* -zujPIFTHd#>`M%Z3827%T0@`ZD7oqJp8B|z_tHqM~~%#N&u -zoTE;{2=1&K`hOok%Px7H$4vlsHGCZJ|tN$y5qPe`uc62(|gA -zQQVzD;HiT&LXx}jTlZ{c_!LjAi^{oHV~}Zp9K@bysZR4|9lfkN&0F+F6@47Os-Hto -zLrBB$9a_i%ByfT^ZiW@|Jm6th(kCUE6=(9lf|5y+LF@sxif@(@pn=JO&Sa5Db;xKV -zK=BsIQd`3F_QsW2s@saRf0(|FwpwPOEht-TlmkZu6_cE&9fg`3umbN5IrDcgs^Knz -z5u2sZD42=R-i%qP1Q~{?C01CxHHR^Nc}!WsqF(I~XA-Oj?D-^2r$b0#Jmp)pL -z=OZCS@+0+lKAO_TaF`}v=KdjFpA4^Z{jv1?_jL4++ylR@WD!vAe{bQ*QFyY=AMs?9 -z>7?c+ezLW(ImVOi*u+WvK5Y+j9=Pjp2Naic?gQ|)NV9cU`wDg}`jZ0Mp_1?DU0Cw9 -z5lX)Hxh3Z<_?yoC+pFCF!>c^bamF02gx%YjPJnof5_R>ETY$1a%C4HNgC?}7fxIyA -zb(V6l*GiIoa}YZ#f8%VuC0%(CKDUY$u8blrK;1d#ahh-zan9j%B4Xl8%aiQiR*ruj -z6@E^cUi_3-n62=ioY|9^i@go{F+>#?Th_5;aG -zS(dC(4IPt+HL0OvEU}szI&@;qZ0G=dJlimStuxRqd{?uG}_Q#oe^i@uecX$3xZ&hayr*oI*%iJNB>rN^zTnaB6t^|7A|yz6z{xeGAJ-LL8Wsf!X}f9jr~#P$3~v*z20B4)3$s(u<> -zz~A%3L=qR@ -z5>dxKf2_8uCGe~f5ycc^23`t~B{A*|VYcvllXp2kfxg}gEv@)icYgZ19=IoPKk6(f -z?Cw2G{B!ySjNK7zPWQmv%wltE0mpS{-t6N1jXb-5{U6OP9btB77tC(XPU62`<+|G~ -zsDDgms{N^1%$@=%v5ft-M2zJ83@byW6G -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 -z2F5#yN|yn#fuk$2n7;y^Yqkm*#G8`~xG@5+L& -zx@{}>(G(@GSMl@1t2L5WtIuO#iRUpeW4}LHVm6{sEA{(=zGo|^#WLn6leraXZomAy -zYe%@s5ju=yRO^H^?9S@f8pwB$|N%Nq`0VG`em1Ag^9{r2?`O+aPDcRETr0c&-JR40M!NodW1~cAPs8~@ON^=I -zvduVYe+I1lcfd^5J{j}1do0&~?ghpd-5WxVoN?vIJ@ouM*?;(0frpe@$|R5ZeZp^c -zd3b_<k1))d! -zzRNT8S{EAqwp<$nF5wb3Bg{@JwRdt#!usm{f4+tP4LphejXPM(=|%3G^7H*4Te*w} -zAxOtA0$$}`lT*~OzX@*_8!PMGp2+B%Px#l~>#l<+N!1H_V^l5D8{af~N-s9@decT~ -zQqfA6}z{^sXV>vOzmwYp -zowi)VHD!{B=hM8-%lod@-)7dD4G~YqfA{RMe7xf17Nm<)p<0Y^o}>R7yt21wn2Yq^ -zaGLsNMpJ*rXzEK0zuw$I+XVi9d$K=v!T#p|KS4Kquvzd#OMrJerq=fKFnRvL+x|V8 -zC{a6{Cc^(Ve`vWrbe9;hJc@|?pU_13-(VFVa}Gle2mYi{;J~DZ0|kzI{|wjnf3Lm7 -z=#E_qWA@Ejvw&v8cK1ay`TcHs<8D4sC-_LgtIXOaWEl%)wFkP2zTy8ZK&?NL# -z18~Xktgt6#NYjEXnoMG4+3tqge^>|S4>ZPI5%TqI{Ql1`7kXzB@A0b6Z1<0oGa4dN -z&bHuG7vJT+kC|D!1J2oO>in9RjQ7f)RA%kp!+1w%4#w;khH=&~7{B=iVH7xK>9Fs! -z=KNZA=S>cYA#9ZJ`Zc!xuHVLKjv-Z%P}9efh7^U_Yschl+f=|qxtI;Ne{SRJ&sTTb -zr8V`F{QeQ|-j*+GL%*y?R`T5&v#rQMCfd_oRpY;JS}`1Eds=Obc`bmw89|!W@cD@T -z^){{pC%#umtgVv9!{0m -zoEHHc(1uSMJUxC0J_X?EZuS&}r}|EO!gKMZ>T^l#Fcwp)e=<2-f8voctm8M_$pKpdR9feAA;v- -zxIcxs>!&0F8%?yG`d?_<`JA@Jem-=&ps&S#7I+!3Q3@?ai*f%_^zlDnFRyW9Eq%m& -zm-DqXYdfdwb9f_XhnTg$TFd={q%=S7I(oa{|NXeD9B@~I8GxPn^;+D0$%sW}!st=pxcTebd0hG2UdBGfW}xo{ -zlf-6lTg{n(qeXl@v~(2_gK~QHCv7i06R@7Fc_|wej2U7Qaesg~FIKcjg@!ihpti^%DY6bnHx@Ydyf3DB{tkYSGv2ewGg6#TuWO=D0 -zfX*%^Bj4-vdUX!Z>!}s8|KWLaYW@0Nf(B=KcG}~UhL=0uYj1e}4)^jx?0-To7I~rL -z_LKLu{q$kxe)8t+C+~#)(Trw1sk;GQr_ZSe+@y1b?&c+H}il}#;XUhksP$3A*btlitU -zb6H2${BaGZyk>L=%1h8)KiJOcq(Zt&6LHUg`dR`#2s1q|?lbvk+qtf1ZjB4hHk-Pp -zwvAcdPIbnS8;GKAhhZGBHz2ZcMN(>Pk{jFN5#9M+&~feRmtJ -zU|5*P5`V-faSG5{2yMN@u}VPZF%EcJFK*{D{^4Vew||Hs@h-_C?pTkAX~kG=*j`8* -zBaT8zF|IAZfO~P=IGz$R(IF^v3M;c*iqZ$Gr#c;Eno>=sHZy)o**8Bm2WSA!Pt9@p -zt33a`jF)O6)k<83I#gZ<_wifCzV9Sa?X)h4sm;`r~q0=!O%ZN@e9fK)-_8jc;0`YPt@ -z<6-B3m@k+2Fz>CAeEMvkZs)w&Nc>7cNqa?2LtY#xx}$JE=2n}XLMTI|LIx=9Tc9LD -zDSzY@7Rkx#y|_;l=>*G_L0M+`eCA3jI|+E(nAJ;{tVbdf?c=iHn1` -z)CSoIgk9dFd55?g$j#w{F+tIBYEtp2N!6n!HIJGMGOnSE;OOEkSgPyen#rJDAAi^A -z_khAWD&w36?BM|LBIjz17m-8B*QN!44>_0TUe5kqNFs6$Paah;7q|~ne1!ppm^Dvz -z@gG9r^ISmizTNd)0J(9BJnRoNeScwJ@7!l!JueN!O=J2o5fZ1!%ipOX{=t@pkAuJ; -z*&X?Ox*y+{G6{hg4So;Jr34q4`BDPjCwv$D*@Zj)Z}_uY3;45Zcl_shq+33RM-n*e -z)*bnLg(7OJkeG4K!58TfPSX4 -z_Fc6N?ktJEL`h&w?zXOhMCE(f8Py=pC<)KDjCmY;##yao=au05R_x$5Cw{(<<6(u^ -zZHV*7GEN0CCF1uAg`ZN0A6LdW7nHFVv6zdCYTDTC6OVzIf)i#zZ5z82;BEbON4}g( -z@@jT(v}mqArmqNfM11!skAJyq&JQa;+Z6YFvPmFSK{$lWlcY5@hP2m(wKBU;vgFFf -zp74Nu2l@zs@jSY=gPk@!H*4O*p0f7!wHSq2=&-#6?e^!L8^}veQ&~(8iNZNCleDVP -z4yTY{wc70fjWmt~+VRdvP()2t92SLr(^!T$Ie@1nmi1x|h*hDmRpG$yw%NlmkvaP^7|mXm$A8Z@*MS86@26<}~fgjF4U@M#!k+BNQhGLhoL5dndbfW=*rM -zaJ-6k4)5pBpr1F?njXEB&yRoGb$}$7iRwx -z64~k28UF5m`0C~R$-8|&d3WqbZg5+zpT^AZ!%g0O74`Y?V0mP4KkZ$zpS&yglXumA -z@|Nx=@9O>Z;d@>mhUa~MKY2g!^}VpYAMFR0AMYpcC;Q2}d_Q?Nj+n>fCg!(lxpsGM -zepouWwsv23e1HGrwD)rNo)tU2Sb(+ucmVl%D~IJ(?i6?5IUNqkcduQTH(W3A7m&B2 -z7WEPbeR_%5=14Y_`@Z+x|9$Acf3N(Xxs$Kn$?tY;`z2NAYE(!ssTuoGym4dq?{b0u -zWR&c7IZZ1sziwx~97baI^ODPt=kz#D)*fPUjB}sTkbf%}$^JEOZJ5UY*Ck0trPupEBaU(&-Z4YbnC@{U;D3AnZk78XAIN(6ZNAlHJ3RK8WGn{2kWoj$$7k1 -zMI~q{fq!&DeoGHm=j$1c+pnIXXzvL%zdg~PgLd-%V0(QEvA8?x@VX^>*wK&FQ(InbIIdc86KXQzE3=|X+P`tgjt1ngxP596gZ;E#Su+_ -zBi{Q$IO5BkJ^8xG+lK9x>E2%1T(&#!B%SJ&|M`72nT>)HCe!nZ!ZtiJXC -zHva$owY=v`pNU6(fip3;-lw_ieHyIy(B%Jb&cqS-)5pVfcK_4ogGfhTf_^+ZeEt0z -z)_>nSZ2evNZ>&Gjk1fl%eow}f>nP(^rz8vMXZ+^N)-7-V$^Z|>Xj!AJR5RYnp{78j -zjF7fwT0{onsqN5bX&G5^=%47)NKzR^(F?ob@#wR6@|d)Kx$9d6k=LGaql`4dO55#9 -zNMB=VS^Fm#bC*WR{j+lVVd8!U&(I(n>whbZC|%H+wI8oTj#%_>?#@EpfdTU)S6*s( -z8U(>Qb|)6jn&CQeJEqnN-2u^$6Gz~|rvMNB=NfY#d`ze=cb8tsPZrhfoBt`^PhLqK -z@!?1&kKQTnbMJBQa}V|Ib49zq>dD8KVth{DS*WiuU=~l#$&=arp_Pk{`HXvusDFFo -zWcbF3@1232TyLZi?E;|p3}*o^#p164ju^1bWKK50|IR*5%;Qxsk7;inhx4hWb>=?D -zbks0i(erl-J&olP#r??z!ZHQmXz=hS*Ppm_C*MnWCtV@^NX?{1*O^i{Pe1qUaxs=m -z_p!epgZ*7zhx_{~-~PU;fM*jhUVryFFjf}8xaG7$7{?ET@traO<5l~B@o|809D{MG -z55^mJj%;i5-JRkd?rNjo{H5nJ2lM`QiSUbYwSl&Zn1@k)Fzx$0`MuCkNil6Hk%?7K -z=MQPc61yJ=&@4PFRsin~0s~1YFbMBK_I5VB-2`tY`|`i(J%RfdYcZT(Eq|gB=ARYE -z?q?ouxiiM^z2fBeuqP|(=93mlgR?4QKbEw~bQSN8f1jL9@HQ@EKMs^DdU*rBGMOSR -z6nzptktBJ#G!N|*x->IkeDiJh1U;3tXVn$j_2u#o+fQC+T_GJ-u~XO{Ut{>sqThRX -z=bNc~edlWozrEnoJH_3y_AN~mY;Q+QDzUA{iI9)bi9)Z{pT4`o+3vQNBGK#f7`I_r!>4{u8^M6lJ7*xLWTh)g5!kW#|mr@UU$#6 -zhK6y(PGQ+HQXxMDeSc`FLrVkv#aoz0Ger9BhPq0UAJ@i^b9P~DLv-%jj$ -zL)he@oxLLP%1*8$V%dRuCjxL=(6$6{Q-E8ts837yeW8~=yGQ7iEI63Yq+@>D7)Tvk -zhf!Z0^Llu`udb5KjL?s{F3is*zrB60Yg--#Q2L~A8JSd5U4N;BRKsdFhGi)|VFdeg -zVW+fbC--$L_J_=7W57PVF2!P}sl=)Lwh@tW90u&!n980TWxz+3NwbgK2+#P{^+qxj -zCr@cOO8u!+U5cVsj+mRzJeota6R;i1TdHUAf>;Dy0;30`hPbB!>Po&lV1JdhiE@9j -zAGBR!>?YI~?tce?1-@K#` -zr-CFZx3iVrfOpDPL>j&?pMf=fDBG9c*^extkQV5JuYXU2HvD$z@m)ekWql#P2eOfSF=m-Ok(}A^-7Ca-6GpYfNRW -zsqD^sc7Gk-EwT|)V8kZ((Hjh0v7>l|F%7-%;-0|$(542|on1W6N+6XrFMp`RIQDBbhkn=f9+I&a*0rHd0y%+kYK@an -zGc#*$oQ(T9SzMy@Nm=;z)yZ6Qfv0E8MRn*AWvzxD9Rp@^&47Jy-3-<)!f7yw#*H9D -z>>B4EtG-=a|29s3u10CsIHcCNhJ1|48HVqdb+BJfW&7n;-+noH*U0x>r;GX}sDGdE -z`U&&l6wAB!>fgm>+>U*_(F&_AW1h**DS^efud&rkb92C+ffO)XX92qxO5}V&qAvo@ -z>-<0B-UKkNs_Yv-=dLr8<(|1ow`tnkNm_E7W|pK|(o#rQWGS@iPz(VnDHX~RW(u^( -z+JY>K@`8YZAOeCcDi#&3vZ(Bv_YxAe#U4oaN4)Ng8;+@BQ9C3YmM) -zz2~0wInVlgZsOxhxIc{e#<}l_b3d2;u7kdHZP{A>9rT^-)x>v@x{G-MuEkpE&4ypS -z(9<4xrx>?L$r`BZ0EtP3?M%?USkNKF4dr?w>o{^MJ=;o6?GWs-IvEQ!yi@Zkvp5z7#Ys3%?_R^ -z#m#Eao;Fvqv$(IsN><=|G=IP7%l>R#&~EI|Q;mWLm!9ynj=T&zaaWVjCcVt*rm}Nf -z5B;2o=k8-nP+8%Mic8tb{SEY|Zdy)@QS${jkcw5-G@pk?RAy-k9iRR`E}H@{bk -zJ$H-KquuQE=-+cN=ZM4zgl7)p@4wtAWZGWxeFrnx=e-MCmh)A6n}6eKlMpvZ%RwEk -zjyYvz9(k*Aa(4{z+fFnpfqvKrAnGzcce8_;a`#h8zQ^;7G`5P;rBsx9OP}Fu%kIT2 -zqHzt|h&@^Np2(k8N4^L9dS|n%H8vg-L-akSSE`l-XtfFbOR##Y{Z{_FX+q;T@ocMs -z&xlszv-mfm_wr|_@_*kqv?G!rK08&bv>LQmt$gQsE!v4IwC_7{t=GEESz*C1p8Vq= -zxwa3MIwhnRzk5%}#0}&%peq+}x^gR=TCZXZ0Mx|dE68mjI)fMoVLB6)bv*&~e2Ley -z0qR-9>$%;jBQKhLj3C9K3GL>&BGw}5x;mZgnp4KLkogt`T7S9;duS&jvpnS5t{^eH -z-5vp>v_;;Z&bw7@4n8 -z9qY&alCZ96!8b)lW1!mOeS>Gq+P=d4!4SR!F-~_X$&1j(6vcJ-M=e30iPmYa!wj6% -zkucUY)tT?Y41ZN{JVk8lJkoAPNWJ;GH36iqD$BPUto3HzI|Amd$-+71$cqA#lK<6Y -zzs@1CNJnH0X^7lrHblk#i*kxEip%NU{CAZ9{tA&EoWLVG{uiyLNRyQ?-+^;(r>uAI -z7ClG)H(OL^zP;bExs3epj?LTq9UGgs$Um@3hxQnvJ%1QqA=_hMI}G_(lQBi(I94CD -z$AtD+qCFOG!*Je)`TV!Ve;>fxWAW_Lj&JHsh#(7J%(Jy1L98(E3i|Y2ICq3%tl39Xj#Y!tc? -zL?+C8*UElJ;L3)5unYR-n`g31TWFaKRe!|t|9Xpv%@MeO$&Esu5x9T`snLj6$bJh} -zWCcHuBNA7pd85EZQoJWduzY2P;CdQYH^ln92bzE?Vghk89d^8{_jNwpv`Sx#xt(R1 -zzn4ir2TCSy6t*Xfe#6`~E7_H>+|e7C|23;%cRk)ri5gF#1Fa17^9OEJ`T9_&_|^WRXX*1d3JbD#%2l3uP>Ltx1xkJstgU?ZSHOD}*iShp?&<~a`WDQWQl&L%Rs6~$O?s{L -zi5|=65Wg^n(-YOMC4;u>ma=vca(}``Me_!0m-5+epj)iGcOynXW^Zn3qw#=dp1e_D -zV1|AFFAAvVv-M&vG?4S4htNw+^s7>(kwnrdyIvr+KyYHjywFn>nb+c`e3 -z(l=eavE08sK?-xrN2%T&dQO^4jtltixCr5ktfo$QzogafldvA-#C44dBd6OP^3T43KlJ`0I -z21hmGXeWX1>r&-k@xu~534fMdy-~z20$(6C%@yLiv?uwaKzbe=r8c&oIMpFp`L^K9DB=fv3;3ev -zFmq7S#eLWH;})Z)k3EkgXe7vQII4|7;)ZI+-5UpD2kd|r-P3~DC4X%xBJF}|z5RGl -zTKb~_wDiFtX=x+S(q{+I(ia0-`fNZ;747*g)HkzikBgnD6VE$O>Kx89(H3%^Swo4J -z&tBBzQClmp`&$H(Stdn_NTYDd#S}goMLS~+@%QxVuoF3b!syj1y-7zJjaRrHP%k(V -z#%)@#7pKBHD$eO&f`54vI~~Vz4~*r{TUd#H?eFrrF7KyKE_uI`jE7MRRh$UryaLw~ -zW$$;oT7N1r34iL$C#XxUBK#hu{oU{vqxAaNb5h@=BK1T*7D~TUQ4u;9Hk7rqxW4ZH -zoOo5D{B5Y`1YS>LV`n{-cEJIW?XP2NIu@xYX4;KmtfEpJ|>=7Enu@K=P!B -zR{9h^rFZBN{(rc{y{v0g -zqMI5EVEHGt$&F%EOr9G7>azUFuV}iCI3RDszf*yx)@poI8u_T0VpL4hWXfKXgeFGC -zBmRhDT`rll)Wmk`eg!_6g?=O~F+R(Qy(DhYHh;a+Uw=1j5;P0Z$Gc-I$U3Kpb$q}k -zq5HxJSm9ga+b++e-sOj5e^fpLJhS+!|G>9|Zw{<}Zre42XHb_4{H(@v;=pqvUx#>3 -zt-;hLf$3Br5BTD=_yzx4NB?0dO}DGfho#@gPL>!dXZbaJo=kzHvU{-7_F^d!rG)E{ -zPT{qOVt*ucZG?=8>@lvTQlp$zL25!)un$FfQ3g~C1qj7zef($I%6 -z9iHzJ`?rpWKJsiu-jgjVf3(uwb#4;&6QKV*Pe+ovyIp-sjZ5YOYk++cnF7uN**V5> -z%xD|e(d@*Y7qVZO;8DyNcPvor7yac#*u=!iwtryLKrC$h=YmCIjUWXmkf&S1emjdc -zh0547ToZ#~Pu -z73lZ7l^tL`eBp4P@H&JA3hD^x`Q#Cy=ipmRJr{gSJU4fwn!ojCfj!v)}IZ2L{n9FYZfK&9R`mV&1J(~RtxTNa`_;Mb$A3xF9vEseO-p_$&|CV1K&vp3t -zfi_3HzhaZZVEBcj@ZrPny}cjX%Nd&l_J4@9QNWJ<7uOsK93~Z`oFMOJ`@GA2O-hu= -z6ZUymmf@tIvq|}gQ2e*}86Hz#=zXS>E<&Zy>c=tTnKBN%uWtB9JdNHwf -z|83cfbF@|i`8RrmbLst;4$|5)fYv_fi1k~^^OD?JQGHuQ^-n6Q@2#jF%+A{nHGjOq -zYxq@2*ZS@K;McE}V_smd%Uy7*8MYzJepk^OVh=`d)N_|_61pRgQ5(IX667tAJKyA( -zGaKa7RDSj9P0|;DWG&=n3hWL3?WQ2-H1aLCR_LL*-(Q^B4U*1vP~bA@tPWx8q#;{p -zIc0@iK*IY-(bxieD`dY{nE5e2rhm5r4XEUMnzxh|V|y@`Mfg0wBfMEy|Acbfs-n;H -zj+XFxM;*VASvIwl$0FRaNy!M)U_SpnA*}x^+6Epk*>_J_%71FT)5o6RbCsZHq{W`E -zhnkA^!`n8AdCjx8Ij^eQdG;Q(u7|BJ!K40YlIUN7?35DO2QB6OyK7T<|9{GH(YLmQ -zePiz1q-^BBDans{|0ba`X&|PJ7`)qB5QF#E4$nKoE|s?Y-;`kT-nVIR8uYfbZxzVF -z&0-vG9H(gCKz-cXQfDMMke>%*AGPzHAGLUMitjwM>9a84_q2rLKkFq{_0jBijuVne -zf4fQ0_b%`EPFM1`&Lqaj(SOO`IqlTK%&+hZy;F)3X;<C`zE@L-eY@XUkkIPZ5-YNm6#8-MR8d>*Xl&zpoj(#u9+ -z?>504|0|G_F)BT3;~m0z`{B^yhn;#oYIn6h%v;^%JpvNSBk(&0zkeTfx+Xo!Gd#LA -zz^&CMOv{4I7gbkNvb?29C&;n(hk2>pE7&9Jo -z#m>e$vyVCns?(W36@QD=rK{~>2W_-?GB45vZRu)zMBWn=r>pf*#~(fTJLi-AzjJ;Z -z?}R-z)c$;2`lAEg31|q8H?GB_ce|3;h}m7UU}R^*OwD=J$#>Ee;${!TzK-yHx0mm` -zhortiV5+^cN$CHCwAgNp!ckn)W>k@G_hF}yy}YH(h-uyKBY#eJ?V~E=tG<za31f*0#!A9KC&R1bZ1J`uk|@j`0dZ`~wt -zsl03@tosS@tdk0_`$`+{h;=`b*Q#-R1-$<;dKJ=1teSs8BjQVlrCYl8^^kt5TDDC+ -zjefDySUAs!cz<^HCXoZD*dD${E7iNWI@S9s_Y{@%Uz|ms42Zu`&wO*FdgkK+&nVi7 -zxr4@($|T~;RII`T73-S?y(nLuMZc$g0j+<+3Hx__vPt+UHjoOw=FAkXxyK!jMj3Y{ -z4&@4Xt2)4b|F`7LT!vH`tsg~yP-C;wPd_(DXok>cA%E6kn1|jzswiJ&NsTUIV*{UT -zy|_M$@~Xk*RTv#U)}{BS$@`|%w^nQxYijD8D4EiRS!1WohW{D@Cpp}b1^41ZkoKlyr|$??R_pNsXg+2|D<__1ylwi=`aQ?)4RrH?}`R!SkJRN9Eur;z#t -zEg>Nv$W}u2892ACj1E>dQky-B3@k10|Ylnulp9h*W+bbRi%e%&x7R?rLDuYP_JF&4G9=$k-K>0o#>1TD*i(+wkA~tF4;s))_odRn{N(Se{)1mJlwpsXFcCn|OnV5$p)Pi={yTz~J6PU@Q8~*xR -zK7Ws%Qt2diW+Wd#o(cE^d~eZa#pAhl-W!)vd|~*V9C_9W+nSches+1!IP0=AxK*;o -z&Sxj2Jl&5r=rwjO`K*K2AX8}G%ZzX6Hw2ewz(Xe*<*2=bDDMo -ziNl)>@TMKSgWoS~R&xIHPH|Ni+qY`7YTxrt(Kkro5T3vJe-4K*llp&$LwN1xfiaqO -zFd8#b!XBXT?!L46e+TcbGgXRrclYN1dAz%WQ=bp-?!nDN;oW6Yp9k+wjq@X$Re$VQ -zF^|JMUIU_i(GuP1Uyl!7MNkR_DV0E -zLJtdE|AIO&?js)Z@sucPB8OHIcz=PSmQ+5S6nTZBhw>QT<>$U?)1Nn&W4$KGsCml1 -zTo2zoEG2Rqmiw2_Ozj_!YF26p9DnN}$~uN9o1WS~KGZ=&oT;-zWuneuwTfoE5IUub -z=YTz2%x%v51DrNT@bBi5FE}cq8?Ah-jL!UBj$;q~gQPPBcDP)9Vioq#7o5)*qt5e% -zuTW>oSlH?FOU{(SP3lbfqZ9U{FW!IA3C9b+xmm^Ws52u$>gJWkTfOM?)PMXjbe?{t -zLX1IyZD}f^iEhTA?qrQNjtG9O&x@rN^8E+gtBHPF -z4Z2vrKxd6bGjYAn;p=xX(5yO&*NaJmS!v_@!!+ct7xVS3qh}zj;e~-+o#&X|tm04K -zZ7Sxq5?0cEn}u(g%O)WQO@Cb4VPLlN0^5#pmm2;>&a|x!;|I3Ndt3QEd;|3zgX6y) -zl`3C1WQ!Q*Uh&dc(h*F*1I6uk4YQRPvReM;Hr^&im3o@C%x*d)4F?KaWH0uwytxruI^zdh*v9C@?E&j#0< -zpvU8Y9v@RekAI8rydg2KOp)_>i_DWso=+>f8=WY4Nkw)6M6C-xUNpA*y!;1 -zHkR2A*9}uSvY`%X2XS6!E{oJsG5Vt^ZuQkX%{ -zgfN59r}5O3iY3=V&mw&|)7u4-Zz(?e{9&S=9D5H|?uF8u=h9{(a$M3d2K<0;?pEJC -zbBJ#yCaQ0Kc0Gk5>ZzMpY

0pLcqy99vGmSIAo>{qinp#&|09_dtAig=vE0aPk%< -z8@=aXrhm$C&gpYvLguKaVs}!mnLB&HH}N^aOKpUCKR4x-;ieRQOE(VcTYAP8!Dn;` -zPFVN61MK459$@!*s|SqFSz895+x_7s&3I7F_ogA{Tb{?ai#=OlD-f|5{x0LVoei`Z -z_Wep|OTnAMIm)86Y07irD_ex^BbP0Hr{H}()qlxtT~#UJ`Qh`ioK8nTov@GF#Iquo -zz$MKXVV2N7orY&8@=wcBvq&*#yXfWGVBR)4Dt}~(zR7nT)*^7o)VMvkMfqA5 -z&xBJBQV0^EH@&Yn3oqK++l3cxJc#?Gi+^RFb`PFs{~>LXceE>;q|#$QyhY{NP&32d -zfG=eE8@I_f3f|XJ*#Mil+>VptI`y?&r@p-eo8_^9hCeYwWySbLv+$2t%zeK!lJ~xv -zN``FgPj6AWjPJLX>aX6Hc0@5wf7nuik=8XO~07aa$3Bz -zgcgq^I@im-1@&){V;-Tyh|&i<(SIJ%hLZrPV_L)>K}1%-)%5Yy2zd7m=zKeQ46b*k -zhQZo8o38PP!S2Jq!+|4~`IU^H&ABE*_0{y3so|tDirFdPZmgj~Xih4K%9i3*(%%>J -z51$p}AAY%t@@z^4axT1Sr|YYqFfQ -z)NLd5PyW{%Dq$wQZ~NaMiGM1SxYe$M->(7ER0CVArse`tQ;W#rr%kNjJhRY?iJkw> -zG_~_ZOw^`nVSNvivW$p@7`L@F79v4M9#Zhu51@lBTg&xZIP+=^p#9@lDXNv~Z`-yC -zdV}Lm%P@^h(o1(ZNJl5ZY4GzBJubJ0Z!OP#Rl}pk9+DQIN`*BA&wqV6^c>FmktvJ? -zTI0vKZ!Jm-aq0pEJ;QH?wO3(RISQFtI)fZihhQF7>Pv+-on&+_&Xzlbxc_qC6i9J -z$aS_^F=Zv*`Pt8|iGP}rDc{214_v|{T;FQfZEh(8niKP_^PBN^41ULBfgNE#WAKO^ -zgJH_Y5uUr0`^eW2jn)ERC!Y6U{~ejCyo^`^^~~=eO0VsG0#3u(hfx+EEoHYscJLWmk#2SiW}DBR8+@ -zzM0w4Rh{0N?;_#mFW(*3-+a} -zttXHkz|$)3aqU)N*9rMAb9;OT;um;laUW*%WW4I4zt@;vYMR9HE0 -zqJ&L6t-*42%#&wpB5%iy0cJ0)^~Wd*TBM%)`tiwi7JnjXiu3RFrg2=$wTRo%I<#&5 -zbTWGF`WkITURvSYeRr$iZ8lU^vi3?C&kFjWy_6R0OXzjgd4F3<-*DC -z_2JsdUg58b@cKfv(X~+D4dMC}ANT6k()?n;KaqE(_RO82c(dQ8G$~Ulf9$v5y_3pf -zVivWE7U8PlF$UZx3f2UyKkBuUBl+$e&$U&XnturQOrJ}Nde{QnhIb9rhhmT042w(e -zbBI5>FZ(rrJVoFC%jOE-|Acm=)SmTuSNls5)qs4Jmx)N~W&9i*#-jklIk=n%t*+AI -zCam3~#QnHw$$otZ{kmw#95!8ChHW<&khWoms2u`5nMc}cS~xc(?`c2l!qe0v4Vus* -zyMHEnHEG583W~T9xF--V@fM(4{$Az#oG^wTf^C~k{E@g@kXLA2)EJwx&?XBFDv;nl -zX#nXx@15rJ=me3a2D2W8^4nC~;ruo=rm(jTo!>^S@7T71>-*`Hh=^0q)DH5@GxC{; -z^tBob&m34XrX4m&quERSoCT7mc{!h*9Dj*(%7*lY+m>MLDCXRfqdCPB+!OvTWV=#b -zwm{yaz1X9q7?G_CLp@>c8Kr8CNneF5wBz`)z4MC>MS)*#7gWL}h0b?UtFA#57B~ki -zxr;Qn2J=g`!Cd1V3+Cg2af%YJ%S|^@glAKPR?j1So!|49GaUKL$Tfs&>WwM0qJLyv -zE3g0B7(I}_-!DsS{zhKrTeK4PdmL$Y6@0(J5)m*KX|jqwAoI2fS+kzrY?f#=vwun{ -z95Pe-86B}r(Tr!QlEFT3j!y1!3Z0u%dTmUfffjq+uSR}==P9g}{xmR7Z#U18JbV}v -zJ<56b51iw)U5=X!>r_Ph7Vo!xe}74Zaneu@IToIs5Ne-6a@pO^(XD$Npt@Zzr;K5h -z272iAu|FV&64dn~$5N^{Kt>TO#t64}9-`uCu8d15Z}VFQM13wyxuR!E}jr;sS>ttQ{yDer;Q6j*|F+t?9_d1TYDdqR7`gOw~ -z{n{Y=RU!NJeRyVCsBMveKYxmnj@WSGtwHP@mw4CU-)d4HdB&`dLMxkrR@1`5Yg0Gg -z9*Z~;Y+Hoe+uvx40=2ysh=ph|Tv_%d_Vx7c)z&`bK;UUSaV*}(d$)=Fl;OPet7W{W -zOQzdtGTm%ZbcsH&cIvS4{L122(?&p_>nNSFb|kq*GpXWruF-A&dw(isr~~@d7Dc{? -zqk1Cl_ZGL-F^cp5t3k$zro}iZ-s1P$N^{bc@)j^oOXWD_wb$o*PT&G)OUHG;LC@81}UMKGe3?@!$YnGk4) -zZLhJfrFYO@Ab<5Ba!*!B9%B6VQY3^W@;hf(V!SAA66y}+>q*Tst -z@y?;2S`>bEn-el&Zy?JMb>Iztrv5t18UXX -zVRFA;U)=3Ne!+P>73w{ttX?sXHqK)d=CQ!%@xllW7|`Ps5@y6SD)uJQ-XQvKwit6L~oj>G$7uLYS>7 -z_(J6Sf&a%Wo;<^Lkd-?@j^X^f8D!=bo>k$@+!YP4~x -zHkNb%zemTx$!y@5%?s%xJ9OBysE@4iw{v~u7W7qtQ6r?^e`g)TK92_;4C7}N-p>!V -z5Aa#bevnG)XlW8Uz&J(w6!LmM+FqI$K@ZL>;8Hw{N-r$Z(sMMCM?(1$pd^P}Xu=SZ -z+#-BfcjWvO2lglj7S_m952*S7DuAU2R^pF^o+ORj5pwn7kR418UF%2lP#lr -zua8qyc3Hcivast6cR6x?_9e)nq2?34PJdwLYNU)3S+_r9jS~aY|-DZka$$J -z>7_y1WR%P -zRH+-Tkmt~Nc=lLszy3HClk)TxAWyry+mc@(Zq20W@Vz-RV?bplBMoXW$67TO>`uet -z+}^2hW?*jL#eYvte}8Cx>J#9nu+QrGd7tt8Kjrf{MkpIDgy$EO -z&DUFUzLIOu+pHQ!?$8MIhg}1`t&9{pKTTb6FSgOuxRjT-*K(fP-isFVNP%Tj_*_F2 -zMl*(d^YV%JkXQ^y@?LJ$!csheVC-V;F~%)ga4%LLL#|s--wnUf8gwu5-+#yTt=ifL -zZCyNMTWbl%rbkpJ3B7~I*ihO5PTg^_haCF -zDi7n5OEug_38R`vGW`?(R?n;k38M}qjOvTX)Zbsg$Ecz>Mq0a;P-7IezlB_%tJ`-f -zZ3)beMV|y29i$qewSTYQ*X$@t(CyI*ZXc?YJ^3!T4Yk!BM%Hcj|9|k=?U@SgnLJ2) -zMh<9?YKeWPXv;p?mQA1876aSzM-|_P^zo_pl@CBMU%KGJ53t=H(d=a?OEuKKsX1tC?SP -ze9Aj19z6S@92@bh%Hb~FnF;Uwx#S%|%jk}wX<5H)QKh60l{-pp5|MyD@Dt|%knGml -z-=cTY2XW7%jMWf3$j*CzO?{nvGTjSnB_1i-Bu4BI=X5wSL4P1i7ybWEVZ~^}B4P;I -zp2N{YUWpIw7^wH)l6B$|9;*~bTGdVkZ>UMR0+Dm@MAUTjfVph0@_-3PGg%|U(M$8`$?}Q~S>||6EWuaNf=IU|5Hu%pRgFHbhy) -z5M@GBxV;#&H3aF!43-@k_F`@aXBBaY>my?;NY@@C+?CWcGjPIhR9mc>_K -ze18R>^RK4`22ld2#Zw_1Px0KO9m)^$L#M#bOpE*)Hq?1kMi)`9LHtw=&@ExZ5>ZqM -zlBMF8dRj(T3ENhQZ{#K8m2c#SPQ1*I%iun`sSFGGzI|($%Ci9N@~%jGGGDNYRaQAL -z!ntbIJ%1$=x9<@C1)jIq=6Ypqv7Pg(SRXqfEo?l)(^T_8Y9Emnn42Pg``{hI){GX_ -zLg(peogzlr5t%kPk$TAyY?6*tzRzRnHd0-dYee|d#!K?k7uzbHoWDbj#lDjG(8G2p -zOsJ>QXqDMF1ZKOszi@}TU!M+Rso*-~m<*jKH-9JRNGyZ61M_uCa}wsJExWfr93z4_ -zMI0l9)v*HmLAn?V{Haq#}nVF^2Yj -zjDH5ev*UyvB7dBB+hP$7+gxCGq*349QDFiP4R?|ql~Ll|Jl}3dtB>AZHHtJ;blKiD -za0d}Bqw{U(A8>$yzIPq))sNeMSry5_xY)mm$BO>(pBO5(CY>(FKRtbi!aPayJ?POZ -zZOrSEAg>vI%p-^M?x${otrx5`Ai<8iL%M*0IiC)iFMmhj -zUEnwh+hcxg9X$+WoE&DHB`aVB){%$Igm&%NLiV&~s^Ps)B=(BVzjN*mfeX;*dFeUC -zudM=UU}BnQCLv4g1bxTGo?*;sK6^@<=}4yxzSGqjFoL?iD(gb;#=+`(_jA-$C2gWt -zLtVYt_aA-ic!CO_!{ZeK5+`2$@CqgV-@Wc|JC1@JvMz?C2+G9u!k#04#$}T8K)9w?s?Kw -z(Hr^1X^3{&qQ)Al8h6Sy_5=2lVxM4L_uPzi{iI*jvUET#L7wIvD(>K4Jb#9%8YHp% -z(irQvi1om|Fg8|nwZcYdO;d?{+Q*vGVQj;n?oc>e9ce0USk-W1-<}r!%gTQ7OG)cH -z%!-h2NWODY8c~x)q?Dadky5xDgx%ry@LngjcMZ$|-`8V_t=H>U+As=evAxUw)*h=M9Y~+7Tog{M?D+Kh -zXf?din7)xTL@%}S?8)XRX^KXmx7ePuzov2soR&TrzS-4V$6#LOx~9E!wKX{{aPI}Z -zM!rGh0qf`V8tHI0S(=X*_l>}xI~-Q$Rbz4AFurg4OZ?jZx8>`uPg@T -z)g1~`{YA6SJ2sa|u)Rtn@n5T4+9%uR@MdR`BMh!?80oQGiZ -zBZM1nx!#+_hNl -zXp5Cct*SlVxKq&D9J5%MS2sd2tp{^?FUHXSpL@NUD(f$gZf%3LrExz}ejj)II!}~D -z_gfO#Z;8eD%2)TP!1fEr%+4x{nf;Ze;$ve>#K$J+%bI_>X9xFUK^$!~xVJTUE)v{( -zDY$2`q2g^Tq;C-FpAbuILo7<$V+P4hjxqSH@!wNyW*@u3j2dXC&rOXodnsH+_|>!s -zvkP#=_*J{bfD@Qv&$sWkBlak}`E2Xxv?+ZQtEAk2rCQTgmu)Xa{iDEkS!FFoe%iA5 -z?jXe9Db9a)b-u+|k7lzTJ<58F2@#POJykvAUQuIpeA!qzur8}Zyw~ag -z!{UF{3?ao_@XL3qT(Bp}T(DxroF-|vM?sze?x2?zoO+nA9I0ZMqm;)9vzPf_-&DWi -zLCn@!JEaYp$8727Kj@t*xfuZFd}c -zW#kuqDXq_r>+1bWcM6_HzHe~P6Y;#Ko}YiC#dXDJ;#yF8A;pi*mptz>!WfVEB9Ad& -z?}alr9?bREcPjnWG8;2&V}#U7b|!k}b8aF|J@1+R~V*S={Z{-7A!Yj+CY70-Lg -zQZZh=Bk=c?{vH0|I36I?^3hUbasN(HR!>py_`6I=9)VyEj)OV4gwKCLO^DvO -zW_g^vXwxrt3Oi~YIo`$$hnyeuG*18f7?pITRp1b?sVRYZJ&Y-uj${9uodUC|7w)fQ -zuS_V-Y%?avY*SBv35Yh;AdKawS@3cM2?<~P|tB3Klmn&(5Zhi@%oEVCxa(O -zk$xc6Xq6NLcZ1IH0>YSYc!qFEu(FD(OxWT3Nad-bjP;?Kp%=V1ritta@TFwwmr64R -zQ@f^Kf5wdKf(OC=`hh+Z^J7$T`F|91lWix{2u0Gtj6VbO~~y+moXyH&!Ns%@OC4mlzL6Nh&v_P@z0$#T%XoJ -zdSM@5&G+$ehS418G5laUo9rd0IK$~?J)v*P7P6E48V%;i#8`h;o=1^QfgV=SzU$YoxfbJDJzzXz -za*t3Lg(}Y5!XAb?zs>vK1w7Qnncop1Yr63D>(Z5++p8rws(JPwa4kyv*dMV>YBR5e -z-_>L!?HB)CY}9`g$a=2r|4%5XFk5Yt4hKTmVW;H#1@a>(uZXqUI_eK=g<#?4yTXZjMRs?vnJK5=Q@Ck -z_cWlF8v1{Y-NAKCU2SOVyMx<8Cyg5ga$&u3lbxH}2dCR~k#)kmFfIJREz*}gFKy_E -z1#(v!dBj5Y&a_U&`6#4;?hiy>s6KXET3CZ`!N1&#yjKq>tM1!Kqx-z?aT=wTgvtkgoqg*_MBj -z#e73`Y;b$Jk|DnP0qPBbzJSz&@=Y~COa?J_k2lXD_!WCjgR#^OOO#6^;VfDSdZ=E? -zc_N;Y4t&AaU?t&bX&eb~dW*=+c13y)Z$p0tAAgJ73vGB2W!>BU!tm)B=dECcxUfRv -zVuc8fYF4%e?JUN3m}|Dp5^JQ5VsxdQlTTT=Dr4NI_LlT{q%zV0BiMDX*Z~-qg?@a! -z(GJcjeVbqouJdp_m$X~R+0l#z&vZmb!0-Mv&sU%QZu&f{*B0v<@8C+tzqqP;iC=%$ -z9$}={66KMB<(0St&Kq#QSA&&oi1li4Uqi88Yv9X2&EjfY#& -z6?ZK0Q&n21#$X4)39Jd8XFoM-L)V;;{Pk#V$sjrRL_@w43y)X%3hG%nkHLQrC#n122=4RTJ|Cz&U0(+N;cm`9jAaGVmlmA+ -z7}iU2z?pgsCF?%+t*p3TACeWOy)`he6o)4LK;@1}mgp*Xd?0exhFAQbY_-CFf^?K} -z`#ycm@bv_pIb6wO7Y?G6q62(J)Lz~5K{z+qaWpCSDwcg5l+A`79ZP+#mlA*bnCucf -zqQld~)%*(0;i8aC>VcLT5za?paO1mCebXCu)v3k*dhpSQGx& -zZi-OJZ&XU&v5JWJiBa+z^(y1xdcM3qJdkM@ki#SogZ-bjOYj8YwQ_%yTq}!Pp#|BS -zK{gspTUq1@F8H?caTw1$`U_k5IQ+sc`Z!QNn+NU^IXK2>_+)WxfsY00%cG~sH&3&b -z&If&-4$XQ*K1+Jwy|G*hR6M;UWrbSVYlW*dZ -zX2yWDgc$i^eJzmdq?>;pz`{6pciyb<^PceLV -zv4>y(Nq;eq(p3?)FD5c4kiiH!WtZ?*>SMo38v!PhLvx)I7|s}?oA@#j60`brN*8sh_OIPtM(8uEZzufCSGwV`(IcV=Ac)x?Z(DILBwoB40Z -zo@*!%#3?=@N{}-DslT4Udz{b1?_LGpJ&gNL{v1y93c`OW9BgN70n>6zTi8fL$zOce -zRC~~tb~-UU+C)9Q|MBEc7>h|0E0NTUhdT?MuFOUv+f7mCX9jvG3m)`4(8e5JAM24z -z;klbpzF;(Wjanh?YK7<>dRwV92|}ZN -zavF6PJ*~ -zB0LY66BYKm7J>5KY8>Yg=85Mq>FazYttb8M -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 -zdOmw_X1QL;Eunw;Y)fXI -z4kw__{di-O44y;RMsHs9N&yu+j9OF4##<34!x_g$68Hxocl82`a3z0 -z&!T&keD+aVVH2yf+}SJRC%u0!Fpu8L`QbRM(0hT(kIH()->c?IBct|;ym~IoikvUa -zYlL~y4D-c2 -z1#`GGGnJyP{HFe54csH!aL4Btekom(!&P;FUa2dJ);6a?tuSp;qd_K+^ZVm^!d}c{ -z+M1vSbsl5e@jTAMd921FZWAu+pwAcX=dpaQjtY3EnR|u*1dcEAOZau&28PBVtB}5edG5&*7?s_YLo|#WrG*+LzUvoEnTr8t7ZOqcKWk -zL}rna8q8nK;W%|&$fb>?!uK85p{3=$4(x~BZo^60xhymM3iN+7Nw0kbi$nk0Gs7ct -zmC`1ga6D7A*-U?w`xg0!dcG#k4dk+~zNxSRCS}U`^kQsgRVPjLE@yL*i0$?a=Pz*4PA{XZejdvSK%*PyVkhKjCH17MK{tog~i9D)d_bUUd?T -zp^oo!bOQQID<1fte`Bw}u?%An9F+;n!{-MQ2|qDmjUIms9B{FGpg)AF``W$bzU_VN -z_{@LLw_V|Qe0#6J8blOPo-Z#8+&WT4{YA4wA4VGV^X&qgz|VBx#yYi(p7f*KnyP;d -zM&(@Gxrmyo11%?~a9WNwY^D3YWAEql!LsDJeGfc8ljr>T`vi`33h&f#X;FCPRFVcm -zw20^Kh4z2sTH^-Be6(^5Rf)<9^D40A&|4fWQZJfb!z}9!t~J@&k0&ikB|Ni_vC?~K -z!aR;a53--Mx#D{IEwp8+q)$9o3hcy$RvE)HyPgP|En+<4eC;8hlF;rT3Zoi0WP#+#5Y=Hj_xj{J -zg!7YaG74MZ0dW7Py&`_GkG+fhJP|(r?{I%v)Zf>~-p&a0T2+dcK|H~P?PGzB=iB8r -zdVdHTNK9%N{{{7ahsPx>$b1_!dkEf#dhRJUV*lZspJGc-E}(`Lq*oKCO)o{BbqjEz -zd2dPP0OG&nxo6v$Tj+TH7Shn|GJeV>T*jvtWA59`aN_@=!3O#fIhoUsD@c>wYb<|a -z?RG2ih5^rIrpOo`86egu_k`6Q;@trKF`-Sv>P^8nn_M<>VBJm34A=1VLqB!@R-|qi -zM{gUwCZ1xxA{yPwobd$Mt^?d3|1%>$wz7SpA{$U&w!O-Hr0^zVJige}(e9&y~)nTY;OepKh%%Rm>2Vu!r8#Q;|{7~o-kotIB4-w@&9&3LS+-@~N{*ECo -zxI`r@>eX(9cX521sPGHKak=$F>7xVk-FKjMZ)GCfYJMAxgYBZ8a}D>+nL#`q_eUG| -zMHBtMj`+=02KsW?!!Ww#@#fhC`Bluu1Y=S}ShvKOEazh|g(P$_CR6zJISOZ8$1!O$ -zkVbMZ-p6D-CyY@OmtlXugHa`cF1#-2!xPYlBl+A8)%uJ7e{6j4c{oTX6 -z@06`+wKukWSR?UG6dghOuPYq|tje>1mTXR=X1kY)(;%rA-{1A2z%32E?`?qfh<(tx -z_N4fZvV(m5q2NoEZ0NyR(N0~`)`@G6zd=sUD1W6^?n}6h`zwE;PNhofowlb1e}=vd -z?`4dT9p_0?>3$Dk<@j_WX0M&CfHOUu8~&C}>dftvTJEv`m+_@S>aq689MR-n-rh+X -zBA%URBkph?J6+5(@CM@k`EWl@W6E!Y{;|RtG=^(Gz5=XhAF9}=d<8aVXeh=o>|+s* -zJ7oJ*-G9yu8h?LFi@uyiS?&1Y@j>m)SHN00JA?M-MIn3h$9L827l){bU096qb@^N^ -zW_|1lU&NKJ04_BOWBD5QQS0-bgi()E_5ES{ggnwfu7dAhz`x%G-1Q$|79aQVYH^A0 -zMSGe3JHVJTgpB~d?aHr&ZLp*EDc>q+8Zgw04n=ymS(%wQ5V#K7})Ow8T$vxL@4StcNXO -zBF@s5@xG~jA_qur;nC73%8%u`mN1N+@JP=hcxTZPmRl%dyD)+Sf6Le@4Wm+AM2s}P -z!`kLpJSKm|gENIcuTzrX)rXAm9CRgtj# -zR41`u`@HJ|dzp&;s~;hJ2^);->;jpn^Nh^#f_D!-3A?~;$S=A%V2Obo{A_qV=DGM9Q)I^PuN_F=i_ja^G@K1W;qYPWAM2@ItgunotvQD -zdKhn4edpBxFZA|IxewboOWCoHmv(F+|DPlGwhLV9Et#Y)e8&VYd;UIwkppGk4>Nz5 -z8~!-fQ*#14t`^#1@Og*-Y{pB@9|=$^EQBRemRXa`DX{k?t4?*+!x`*I_(Kkr~jI`hC6I>BuN^-cuZ`87BLc} -zZXE6#JyIEIT-Y63U=ssZ~mbFHH4RiC6b}orW!oLZR``~{z9{Q__ -zMKU%X^;zrpiI@;qVi^RKh3EFX2Q?;|+n8T?b0(SnZ1jRxnyI7&$Y<4)>+Ka}X}}i_ -zld=1XHmwQpdQQs>PK)o#C|&{od3c|&`FDBCSXc5S7WSc0zTUsvCv3r8o$$=8lbEZa -z#UrleX7#f9I)#xHd18}s%+Y`MAnS(baP48fDwq*Em(Pgs?Nj^cnSBZabRkEDVZgn1 -z$6!UX>OepK2gxVoyk6e61<+{BVVKlk*7g1eYq}dxV%Y9UI;=1DqYQek<9r|;_{%GKSc|F+@Dwz1p5Uk&;{#p1HQGY8ijKwt`lG*h`!j2lArO@`}K&eh<)r0tF(djXUXAg6oAx6eC>DLe^J*S+;x=*ZQxs!t@B1qY;uqKcj28(|mhy7R)yoGV(OUVSX -zh6sOhSCe%B?#GMDSU5wZVuo~`EPW}c4* -zIL*rm9SJ)!(h+GVxl>MOxn&}DI>PhN&dN^4FPXrlE*6o~U(hQfKr8&*auHpB4(YXl -zQ;i6IG{TV}YB+yCI+^&@Rd%Q(f*MCr(qzjBc)P>?wBI+YY>XLRrHQC_KU!tU_;()n -zybAUn;u6k+*}sJIw+6XN#unel*A{v|+)K#~lspj9Q9oiTyu%eGc!z489wp~I=bZ*p -z^^@G*+LJu3#Fy{2f4CBhr0C0cwyiv3`vPpVX966-(^-Ehvi9IUc!TX9ErjDH_>I#8 -zw1x2g!gv!A`*}JW9N$`E$={%!TLI4 -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 -z%r3fpsR= -zg85|UDzoQ`LAy)p8Qg}yU^dTz*_@Z3&DXor$3v^;LaR)hV7pF%FNXa!Ib^4>32i@H -ztjQqmLCnLHn+zY%tkf3dp?=WK40-<4?vy&Go4L;SbFTAU;ZvX2jiA9p?A-2Js;1d=Cc`| -z40D=S!T081&iDH1Pwyb%%NuAcdwizt3w#M46({*wpOZT=$XvNF22oB{M~#EnBrr6 -z87T8%vAwzYFEZB9l$`>P=f1}jghn&UN|vnVv9x-BHw8xj%$)9m`=#v6 -z`{gQpCznwXQ;n$|?$7(eE%mqg*<04xfRyT -zeC0xhmVU@jXW5^HuN6YEQWHqF1N(v -z9@l0uv13@y?4o}hZ8n$B@q%2QhV%V-jFDdhMHupsulxmb=!c$dce!<5HH_V2dLip% -zVLu|~MFloNC@1VIe*Q;4D)aeOjIgX$%E-!!PkmgxQ_wt1T+Ktw6^|6tCCu=I?mg;B -zU3XCKru%-wSM2ojcxx)P3D;UvsiQF!e7l;<>}1Y@>vw+&z21CsF%vex8_Z6x)Wh5b -zO%%Plis8F4DzfCE4SpT%J0Gi{n||!ulXSB39`EJz5pr;G^%n-6~?SPEu`TR9y{eBz!d&^FlqZhsd9A?_PlsP;OToHWpU~XriNQt;& -z0*#|oO51+}^hii2FJb5%MwL41j|~yuA%47+zVv*eeZSo)b#y0i{{0fxp!c?^J@C376$LriRKNB$h(3Q`IkhmJ&>FVyxFW=leI#@@Yx~sk -zNE@T4cS@RK9}&eV;Ds4~9MfE#kMon`hQ6J$3`i%BOumvxVPhsOcj -z;68u;>rTO+$^0~YKj>ZT)jGnX+sc?kFYgrcuQzl}H#9AT@}+VWqmp$s*LpG! -zd=#yi;CI_jF`g?|uDpEZt!C$Pb0~ZxYOY#dYBC<_n2>+(6t=`~l$K~IU~(!Wa1Pz_ -zMx-Q^ikM_zQ7)GMQ)Z{OQbJ&6lv5&vddxJNkUh`6R0x5Ej>jIP -z^QWu3Wd3x|%hNXb7(gN?`>5Q!N_3SCee=wN1?wz{uUAhya+AFrmrKgB2o;j;E -z<8GOG6X^ZEW4qlAXMO`e^RMVDwwr$&jO`}c`rBK@`BOzNG(~%xyu5F@kdX}DCH9r@ -zDRiqZ6k2BGLO;q}?{?e+?Kpt9W8HUb$NRHnJMQ<}F|lCWuug23Zx_hNt(a7)7n*7J -zmu!i9n#exy&GeF_ulC#v?HSM8bLF?TN1VBT^aMR)6Pb-QL$78_ydy>eMXP_HbXg%H -zKbD|LhVK$N1Dh1|#B1i!YV+@+b$f2Lp{2LUt -zmL`rc_Ra2*UuoPf854xZ70KBQUBxmm?~BOQ@VgFvuYuny;rCkKCJNhm&@RD8WuUf* -zTH|{6b5E)&^?smdW_dLvUW$K~XV=Ky68@AxTf9@pxGL~6%7eP2F5)_kB&o~s8RwiK -zW!+OfnMoyYk0G%1p?=%<2kLOTr$~vof__9ZJcY+-I27nT+a5wom11QGt>g14v>j!+ -z^AzgJT0x(hz8yHw -zhr5J-PkQ?GOvYrJ>hb8)U))^{qu^EKO2$@>$X$1OKk^pRt<>m#jZ$Tzu^(v#23+Jo -zs8VmyTj4`OPqD;h@fP4J#;ai>-s*IZ0H|@mkJG$`5~9&+i1!U1|E|regg4v0Ve+{$ -z4HmX#D1M%#u3bWBgZ+OLGcplo(&o{9sekU~doK1&l=q$G=-$(I2^~S&yPn&++RZiO -z#7GC+#rH#~=qXdJG**idz&n)4bh*ohGp;FJ;A?@a{I`NOFe`TnJSpVB7|Hj#TwFvh -z|J^0%6YOat)H=iy(f7o6wknk3*w>J0&{!OYa)P5)R^SVSdCGr8+#~^8&gmL}-GZ`k -zVkl^PDCew^d+ViVh?%BjtCD-Bj!jm;3{oXHgOv1~L0E}yt3nNdBdQdrMMW*jYuWIX -z2~>EQ!Auis#2?AW+`3_x;4>y@B8QAzaa*azS5d1X){GAs7OQxUkWtD#fk?$+Oq`zb})w3fVbUplL -z;rE6>E`mpP`SDfV^{lP>Muu~guDyY61?q0L3-_u<^SRXsd1{v*i>CPoR*lx6-3J06 -zyOome^yC{@E8rN>!gR}e)(USRE@~s=xyLGH@sEN$>|uZP-zGOd(i60Q{+u{~(-q4& -z4Ny&L$k0fJ-ovu2oJUi%?ZW^>hTfSkiHVZC@+C=8a(BLDvM9MXU($vpi^xp{z6vt; -z&tUS9+2vNm8TV&-$P{OAo^QqRv8UIN&WKGj%3Ta*irQ92xl>$KXOw%yRU)I@Ev_bI -zlzaJAPd|SRk)P{#(6Ub^iWtA0k)Xckxm_ZDNetTL(18ZpfiHyZ_ -z`emVo7k(W3TN}NUecF-VNMaMrql@Rr{g_E#`se#ny$VD*43jtE`Jly -z4^65i>j;nUFwn0wUxJZ+Iz2(xO8&KGw}^iy)yaP5Q9lMir#lxVK|pb$mq*$bUlCsS -z1K|D+mX19HWuJ}_@z9?zkr1hG?| -z;2Kj={!l@=)n{qG_U0b7ag4>9IRL(WY|h>s)+o&90N_Te$d<$^%Z}OVSd_x5*fM|g -z{!VLmuz|YdC~Z?asuH%u*a1Hv_Tal8Kfs2)@_732#~5l7Mv|hUs-jJ1s%Ruh7S)rK -z6(#B7TUh$fFoN#m-t#0{6c6W1p5P^wCEeYLlA@BPk}$L=Kcf~+M2aF4BS7aix5lr2 -zJsR3-nl%1cf`)k1k+`C5m=n5{S!#dpSjn4U??2p{kCpt}0)6ihyT#ep0sZe}zl&qm -zQ;~HrMxOx+{sH)Y2ebrnYzN)IE$V;6F+c}JOt7gm%RU;3cy>0ujph9Xf4p1p796hI -z;bDHN6Fip$V=y1PTk!58*HyX^_9%If4SH -zx#xNbxIe~Ia_{253wDe1mFp$k+gZ8>TXzr8^w2u>PS#Pg!KZipxH`Lq46%Lg?JS?? -zqBx&bU;(VTDG#&F&2ykedMZ#vmRq-c3;xwMCKzRJVcp!R38z27kZDXgPv -z(w6uQYoPm+bV7_Ew{=Bcw~?>Sxw-lN?{4AC -z7uVN~6JRb&8c6_;$T9bh1y*|GpfFbs2=K39y6!PnGJJ=9t~%2rlB -zw!mDO*N?u|Z4W99=lxr(Jwl!=Vhd@coj$-iy^B1|CR6I$ZestPJpvc_?Py*_268;t -z4M4V(m%(~^vV7H)dzx*n%e6)|lZf8tZDM2fGFVBc<66{h)}V)fVKr`I2TvgKGnmN$O^+v%34cxYAe_W)Oxl3dJ}7$hZ%56m9}61fi*4^ -z*X_4Hz_yHCHPfztynEq99Zu@o#MmFnwG^{mI=^gFerl&WEb$XPU -z3E}EKs(u5BhPIrus-a;loV*#tT9_%X%(1oD#Z4}4&qvafQHX-DM; -znJzR`?Oa1uM2d7#?&xENh^w}zHZlAzmg%Z2`$MjOZ2yBr8Q#|rNBJw4uh;PV7Pv1_ -z^Y_5%(>M9^GJZcF?km;&{Yh{?}=`Bd3e!}eour5CPSMJ$Ey`KHq -zf9B(o6{~VjUi6ubq&bdkWtj#X*`!t0Jxtbg5BB{+ -zga=4}ARjm(*X$9p4c|YVxO5Yb{f64KP3U3a`mq~;3PV5egl|7!0_`vD<9@wI#7b_z -zEQp`eYsHGjJ!l$L2CQjA|He9|{+(G` -zOnJ)eoOzEonW602@cnNd-Q(LzqtC3C_K@qmm&bI5yXO2Ehk0(q(>wjAHapt;6-zh3 -z4)q@NT6E;V@^a=E_lUS#G4cSnxjBkUnSbxw+|=dd&KsFSZXQ3FZZ^@rhH}dOQ7C(V -zwI+Z6Al#qHv!sao`?+nR!Q1~beCMTr{mmveyY&xj&cP3}jvsDecGzZ(I?Oc%JiInV -z*OSIs^3GB2tw_;jq@3=B85>ubuXO~^l$KCUIuTAnszT}IDYXW0_#?ncTnqGH$HALf -z@a`ctXVN23GRL@^TlgFYWsk9yGt10>dh*1{bEX1k{loh(vPdAR(G6igs*%v98P5^_ -zUTC`Xm?3aGUL$Uwg}xXC8ndB%FDwLD-QVS1Q@m^Px^?{BjeWc?^&`eNLhoBiSY6gT&%=B`QokDgM(`$oZ|Itm -zf|<)GFS0i@jeA)DZPPrJ)mzBnpBaC#}7UpRCQ?z$z;c@dP)}u}$1zcJxm-#du6T3ig9AT2;nh(K|p^W`} -z;IV}50`_V2H$uLIx#;Z$wrYo3{SwxrX(y>!K*RINQ4# -zV8SZAdpx%NUl|G*!T@@X1u42$yYqHZ3TgR9;5E#$r~0E4FDX_fp2OH1XrqPkGhl^( -z2Gp=BYSnT170y+N%k)*AgSEoXWr}!n8o)k>wbcv_>-a{yJzsOT*?v6hz$;De;@r|T~FY&Zo -zj(8i!9=Y+Z85euCsw@?CO8SUPv)l~&@kn3K40(bH-#)_E=6T%2d%es63f)|8#Q839)Kg8nyfb~hN0W=_6FFG|!oO7R -z56XAQQrscSj4QpMJxzSOv=_serl*)PrfJBBaqPeRSXIVmv#sk%*0$u2to@{?S^DH> -z7(zP*pjk#fR{iCF{x|2TTj4qFqGy}ymKj%gB7Tm*JJfgWG?+DlQ?Lu@`{gx -zG~%dJ%+BU@o`~BhtgmnVM%dVNviC=$w&+PVTlpiKqdv_#^k;wvzlvK!cF?C-iEl?s -z$;NMl%qKnfDVD<(D+Q+TGdgA7xU$Bq)ze$*!6YwLY}%s$5;%2J(AGQ=4(8qtORz( -zbI|6tdaqYqAJ2I=!k!JrUEA*~oAX=3&T*ZQ=gfq?qqOth?&E*)g?9J?aG1&G*|=(y -z;fNMAx0jG~0>10k)?@5SY)3?E^PXpozLZh4N#pTo>k{;7l?1GDC}f}+>Z4bqiYM`hFdvq_-mgz(SG9v{SK?-WWX(`-8vdAT3vV}kYrXsadeN^|nKF?+?Cm5(=rT$YISE%$h8uh2WB6r>U#@O -zjPf?D&P8ZFPpc@)MT)M(AH}x%HN+m?)xOC)>Z(eh`k9#f -zKX-ahdRME6X{F8XqP-&4JC1^XkbPpdE4$WKy4p5*>Ll?tzSlzWy@)Rh=!EyibGiI> -zhW)Js&Q@f}wbfJ@@RTOn%j1_+G^BZZ$70_Y%}^mfz#Z7G{f#|5X`c2fOBhreZ)oJ< -za;9Y{%oO*OSm~k+=uiyjSSWQc5`qa&|Ur;8D(Ot}V_eV#aI|^gX$9uavd)Ub7+!$46sSXv<@$=N5eC -zuHYHvtLy{z<3gs6KAa+dpX49;X`DMZ-<9;&M=avPWt7)Xr8~d!;P$M4)@8-QC -zuHT8?(8g*tqr49@`vUJ}Fj|UTE~BNa4@5_C)Hf=-T&mUhu_blihPs0H`xraRMmCBV -z9hdAUth4ND8{Rsi+Sa<-ZW-m33w?p?!|i(|pYiX4I0C=Rm48rwP;Tbpc70e-zI>Z3 -z{|^h=qujGs#$bL9Xo%-I4e>s#Ae5;68-7>8?}zYv4*Y(Ap2qO|p8$>V;NIT$K817g -ztjGMg2>AcQdu5#5XEF8y|K7hCP#19b6u*0~z$XUBE(pJv%Lypi0&uqR{^0EVg>wif -zUmOgyprc%)I_g?~;H*+~2wCE#>2q2nnkl;0N=3PsM$#cw6SCffWRcQEwxJD95v<&z -zRM94~#C>Pt!$4hbgc*IY0BVYs^$jZ;;;7&r`%H(n&4r -zh(IY|Q9EQWvLnll8%OETt1fo>h$8;GY(x={gO6}w#o3JvdgK0c_()EZU#DY~4dUC4 -za$mY;JY})Q;XK0Vn@|&0!vt&_QcVtZCtwbnO!QjIuT@l4^o)+Z*{>*G4l700ji#c- -zxq2fD>Xq<+eJ1=4Zi@~L=;z9bv9$nqEP7w!j{oK2660R}5ZX0`x9jZj*e-+Eu0vZ@JX>xZ -zRjHuY+9lj;Ej{CFhMsG9vZJ4w$gU(};-G8|{nQSBA?Yb4e7+ZOS;oiRX0l2-L}1rp -z7)@p)(YdtgAR=_!$54zF<44PZQ#k6MUH{!HVm>%z`vKUlFkGF~gjXNgb2f?T^8jL0EJ&avrR+-P}2*s=}GO^VM -z@OX58?{&-POW6B7#!c31AHLLxzk=|2gj!ZqFQwpF_d{<3w-|qD`0d0B=kan$x4;bo -zFPB3ZV&?y0M0SikLps>k95)pCc)A?wmn#BK-yX%Wg1$s>tRnDhN3-tn^dY!%$cI(9 -zS0be2+OJtA@)@k7w>_+rbziBv9ez=M79mxCk*t;>x}AX!XI<7HtY{~jT`Y@nkO2D+ -zG0HR%_Xst!826}MdMD<_&M}+3lu;2Fzo{gBEG5{2WxV%`pcM64^GW=@F88DnNq%mi -zA4GP9%4NSp4F4M;{KmOGV=IMHp%NKeDO42#_~)a2>pG|z{}drE#OSE^bwrl9zZ~9w -z#x1XAL0_w?>PgMLqSWR49!uS-2oYoQul~kFQTdp-+%MA~4?WjTl-dtpDBEdZI}P4W -zF%Cwcoj4As@Nu}n*Xyk&@qc5h+jva7|FdK8PQPP7|4)s9hOk?Ejsd5R{V~w0G=M!t -zj6rK~3^t11PX5kg@NU0jpyb9Nrqly}9@#it>7!kCuXbUdm%^_9w>MlXQZTw0A3?xv -ze?Sji>S!}YW1UF^Th9D3=5{`86V`w|GM(2*@*3!u+PfE3(2JVQqVyg(GpnMaZx8j8 -zv!IZk`n-T{dgVP?{zXB#^smd1|L%j%`m&%LWA%#iuL|g|t=+DA@cUo*y%2uC3eaKZ7rkRvQUAL|{JWpza+$-48pvhd -zlU{qHfL`0yE$Ouvpnb3M_I-?b4dCu&e)nksy@umec+Lv=?{*8C+d->&IF%H#Ncn{8 -zA;r1+0X!d|U^_pC75JJbbSy7_#)ZtV(LeDs1lQ+#ISOkKr?5Hz>Io^NlCFl`lnQ+X -zE9MlmaR`^wwqpig<0#%#N8NvdqYa+m=ywfE4)RDj9dr*R$w7nQ>edO3Msg5lq1;Nd -z?n&G_qA7&;e}%6sRMUv@)podlhC1OF$77wVb9El!b!u~U?uRm3oyo?V=isN_{r&Vc_tv=tBn=eWHTD{$P!PwcuUKT_)C3%lrQW%+>8^LZ(m)PIIvyg|}dDi||Xwtg?O%YZ8nz_Eumw86?q!pfL`+@!?(??m#?$2PRV3U1_4 -zB5mI1@}1D{y{z15o?J?@&1;p(3vpbIuDQ1~9^p00zJXeMS=PHuNopng%uU7Pp}~9^ -ze15xGU%VkcbCjXYxTdPPOh-Vw8s3}6*V~c9@R?51(U6PY&a=c6F*XW} -z?6we&O_Gm)jl#!9;ZY>S>?$PP+zl)C>M+lrF>^9s?G+pnw@Jxmd%*Xr;XOT&lX!;A -z^q}K>O)ubm%f6H{lq(dW+Yx46+QO9u*?>O}Sv5~S_E_Vp!z!FUY+Wu=y%ZIh61h_FZQpv3A> -z6stp}7TS^hc_j0FFDPHs$^NaD)g||V$53l -za%oJxQ1A2}s8gxyohJO})zkEN7-QX*QQ~%bXV!VtRJ+(+JYQ>il47M>sI@=s@HUoa -z*{rx|?+_}!d#xe9n{FmnD{Rgzn*n$$ZVL73UV0B>FBt~DrHz%MiRI$9KE|1R}`!r?~CD$1m(X046pxXfW+uGAf6W( -zUBlkCkh$s%Ql{-s8e2{RYUwDLV&UC?HJqG4(`6cb<2sI`s~ha{aV=cpr9L;hi~X3( -zxw=Rj<|P3xaSyEcmqr>SW^UH8KPIt5cG!;CQM)Ks{13CU`G4Lq$CZ^-5xaDGC^j-g -zoDhs>_zE4{aW!cT=^D;4TJYH6nrnf3@`kGCL|RoWp8;RPUOD~BJ=;cGmDw;BHmX3MN2c;Yxf(#OovrW2Yyq|-fT6s-0T+(qW_JJ<~oxQian?;axQ -zV>gxx&ua68s_1pPV+e^RaLh$^v0Y-HSjI5A#Eqk(oUeYB%b0xrI%G<r;>;<5o4V3@|3~l&h7qxYE&{hu11>R -z@;g|AL)F0wtV8{VmYS!Jj0`p>kZGn79&B#KUoGo(*R>gNzEr4I&C|0ZF?im|hEo$} -zXbed^sx>(Jn%U`nKsH3PZVNq+6u~Ugp;U>R}Db5L?kJJljmp%S1%Mo|yS -zrx7DuMoz8kVn5?Knc$v(XZvY0O5m)OdiQH-UuSa2*AtDPhu3PDneg -zzF?OC>{5Wutl63cu-R4o<82ectmAZUZ*B$sWdCIy1Zxt -zV_C>}E?sYn^KH3*S(+fEuX2`){3&>qCic*pnX@CdF-_48+n%QC -z3eT3o*9=V^vIvg;H$ -z1&!+C8jjR|Nvm$CaTWgR<{bZt)~aZV9}gQ&SQ@Vxhq?E<>(WM%Rx?&)wELA_q}PlS -z*R@cN^%1ILt{71>UesR}Ei!5j5OrpmfXSkBn!4OaMm|8Q%xhtsU#~Ms#Qf`WLjQg` -zp*0PnW~*9c1a`8yPWSgP*Y`T6P38R!+&@InzrsI%5A_B6=lMZclk^HjTnYZrp_4WLUeFcLu2W%e03IsZYMPImmz%3h -z-Tdb=LrnnwQ!@K!y|YMl5lU1K)*@V^k?W;)=^&Zy<3{e~vdh2n+Z>4%z2d{9_b)Sa -zfSC1veok&G!Z>%Y0;O#xUWB(MRc5_22>R#6W8^m7p_?i?-GPBTV#JRJCuE|g -z6_l0MyerE?R!~-YC9H7~d*`1(&v$d_qhZB}kV4~~S#TG!^0;Bq`#tU3gq`tq0CQA8 -zZlICD1Xp_z)dJ_pb!0HThL@J}OePq)qY6rYV#>=vUG4IeNil5`@iWCy%rXaa;{8%_ -zweP2c9FwRH;L|&(i-;@6=>|>4aNWRrRHpu0MgG6q -zOE*_ql@xdib#ZC7d3-%erm9G7qzN<3dNs5*Vk={n5V6(6RH~p4S$wC-EPrjL_v^hj -zWsIXVtF(f#2lo!Bm2(fD&yBY4{Z~6u{d5S7^5gns2C?g&`OOsYCz>4 -zgufbE;9R4$0M0lhfhS5ce_BcYt=j1>FRL;QaH@Nv+Tzn@BChK{;2Rx$ja_JeAXkPn -zO8qZ#_=*o7zSEQ-Jkyh1nV0_IH!;gNf5v00(S_K8>9Pe%rMipY_gf5Q~GjF0ET!H9rIdyX}LkY}$QKgSzn4J72K -zgLj}k9n8<3mxB;OMsCvuu*zi-^C*cEbDD2XIDzn55TCCN{-g -zAKc^R1A=?J582h4X4rkA{VL~hA0FA9qtg*4LTp=EWdXLO2f~`2xniIdS7)wpteGo^ -zaI47@a`cKJR{M&hNYK+|LPF(| -zYXs{^ze19Krk?~g5Jvl|!B+dZgRIR9FuwM9zzQv61gY_#)O=I{Y39d*wF$a-}xMO -zmvL(si~%b5EAH~<0{@5uwo4nE1FfKa-YBKqkIO6UKoo8Va-fyZgG)&g>io>N(QDB& -z+Bo=n8<)tS-nxbBo$t^xx;QzIH?}`R2_jxOWQ~b38=cGh0(LJj76YZck7xEkiQgp( -z%DxiE0?f#q%dIIM9aDM+?z%#+&4ULseouDN%;d5Wx8ldI?S_%8l?_E^3QT|JhUBY)kV;^7?@M+;xIJe)E7oD^`7HV|-vwESuC?Vk1$F)NSLAO4`XJw;96`HDW? -zA7=dZLZcy0x-_@r`k>n(YdH*m -zjJgT6+}6Z6XwBsz(SKa~JW>w3NaM%F`)&;-HkXh*K&FYZ#l*!eHCCG2JfQQ -z2u@KdPEq8-@Qg(HYX>gi3`F=AD439vVVb}BfN!MnBux3k4N8Z+MnEHNNql0{}U -ztg-1RL-Wtk`vbA<{}I^VirkmL53@jjNnNg_(JyI)l4}*lWqm@|_PQc?qQ%-sYq37s -zT5Jr3)*bzIDpoqma&aIq%#I_wSSZ{dBlLCU8GD -z=OriLH0c`8!xz)uhW^(Aep#fAf|j&EOHu}wZ-eq7yu235CnwYbdJOZ=3*W_m4T+wy -z`w!UuZE-!1N(592eBt>FV(?-pd+T0QT8O -zNZ51xfjyy5*!Zr1odMVr0QR`XAng6dOW5=KfjzNL*!Zr1J=aQCPXyS1Oax(HpVQYK -z+Yjs?^a&f^6|k>@cK-li|E-{Z-FaQ`qJCf>)F^BSMa=9a6pWYAbseQu6cSF7(Q@VO8z#daD-fw@aK2X01`)C-G -zR*XGauy;OJ%6-@?`+g^a&f^6|k=c*oOe@ -zWWij1eu9L3UO%vZ*mt{sPmr)9Fy22z*adsXsg$rU><9Lt1+b+*=vOc%2XeZ`J_z&K -zbh-0Yp0h?7L(=VsT7$KlL#PE#YL1GYE=WV5{#(eVj*LsYL6p&=e`PUAPd^mSlsCD5 -zhFz0wK8ds}U))do59@Pm@Le%B4vfuVFg8DbEEt<3S|#i?{lGrF -zPuTdbfV~Fh^l*Uf7R+f??u@v+AK26Sgk6<8BR&Gy(*X7d1+Wk8kg%`p2lf$t!p3(6 -z?EeAmBLMd90@$a`mawns2lkKpgpKbC*gA~&j{tT>!FcZ(AYotM5A5lE!p3()z6>*6 -zJsn_AE7+ekx$(Y#u^-qo`h;DR8}Io5dj`OMtpN7JRTB2i{lISP6E?mpU|$Qc+W_`K -z1>@~~CGp{{{lIST6LvT3&(C>0gLdGgzXb03)CAhU-VUu7WxJs47d^^$L)j%g%Jx9n -z+8$-!K-m>N%JxFpRXxhOq3qfoWhB(;{<23Ig|hWM%07gDcRPBN{Rhf^+@tIxD4W-# -z>|-cf(4*`VC_Ao4*{4vpxJTJ%Q1-JPWuHS?XOFTkpzNd`WⅇWj)Hig0eGulzk0l -zXZ0xiAC#TlqihG1t?p5_6Uxrdl?8chxh5R)_GrN)V}_S}4xYSTbfzz_$;W*ObGgh1 -zJXYN71ae+~=>qu(zANbTH%QP=_dux^b$`oS6ZYd)Icho2U$H1O)3Rl>AuXmWFw?gr -zR+BQL3gcdcVk1ew$D0C=SkB`;EMa$#MBcnu6;>AujV@2qm?||WB5sG4YhUNUZ{siS -zOa%Q&hQfCS2KaIXxR#9pdG><|SC;sa^i5onE^S|bN5K0-d+2>Pg^t@H_+{)@ -zCwmVdci2Z-G3CdG%{tw#dIj!}vh25K+q12_u4l -zJzPzHIucIhdlVk8d(vzR?`^bu&(LM1OW4oq -zxm7O}S9KKm$&tK;V{`fC4^f32(IGF_2pxi>iWT1o^E4V~09MUqF47k&w}}+Ck6T*o -z&$3>UHgfqzC9%tsEu|!;z5v|w)7*x^9^jCF;=#DmG<|vio7qWJbPe>YG3(x| -zVAQR&3wJcz{D9J2799Uss<8LZudA%PKed7Lz9{67(!oM6RFWIpqoMw|Zy(!ae(ccV -z=>FW;=1P_P^>-Q5I3LqQF1EsARpNY -z*2g)%k99Em(DQy~K>VARfaIkq4r%1R$p-ght|4}1&Dt -zKno;)_df8xOtpygvU1Q`C21ZJRlbRx^?%mt=@F6tvz -z)xOrtQ;DDr-eu62LVtdTv`nyRm%Bh^Jv{n1hNTsHF|4S+B@oB{J>eC^61fK8VSb{2 -zG;|Y;gww^27=>ExE_al$up(bh5mHOrEu+A@cvp>5sf@8I+VuXL!bZM|VlJ?0JWEX0 -zeKx`ToL{};Y(=3xf8yGQpICi=)dm -zUJs*o0|2z`*~(Os{{1w-XiJ)~7ig9B*F+QatL?r+i31xarOzkn`=)Up5vaTIaN?L< -zP148qg~V)4=-?NSh@R3-;zYbqN2HZlghMcOk{mjk*zx4*N)oU*GmXK2xUZISTefu0 -zUcEzWCGq-T^wmdO{fMc#OoJy&k0B#o5v;kTpPK1Aen{GWbuekDg__#BA#v5wo~UcP -z;}9})^I=59%D6_wSQ%>ro=T4S(P$rz@3T}QeU_lrw?bb_`TeajBVvRF?(c(pD{!BS -z`WmsLF?FTxXveFa?&WoVFy?Gsok}v=%cU{>Qaxr|tjEmNdZ&9+-2tT2`$OF_&0TQ1 -zj=3wVjMLHkK|5V9Gtv8DMco3^Z0&R(t;2plQFklJM3$A>kuLX&k?>XT>bja}yrei% -z7b#XmS)EcGag+(d!y)2C*3>$5#Ax&vb;#`KR4$AC8~k4nYwjC=KZc=71wS9kvk9$@XvTldWA1%*Z*lXmILE9|!7e?O`!ba&gp~ma -z*x7zd{k)-B_a=;gQ>ZUtiQ&5M_g+06J#rA{E7d|*Up?KXV`&LFMA2y%d!tTRugxDm -zjPTs>|HU1$0N%FrBIq&V;_W_;aLCpcvE%UjQLfF0UB)AC+D69wiB%RF!Xv1SN00QV -z70u)9X*s*W8EfL%ZdQo -z{5gTPW%CMX#Lrcsx6hxwXousFuLt<@d|b7%Ur -z=gwGN-s{|+TYl%c@VA`}uN2S{|3e&E(4P$XDbP?KB=WwSF=D}Jyv3=D?VP&URzQQl -z>)WsNj^EOMRbX4PS1q(H(YS3%mnCDY;u=@Aa&8MK;x&!JculZkemELdOs%bV&0I68 -zx&?E8p#9M(Kbli)G?ud#Y%k(?X9AvVo*&1`E(_+a$j2J^S%E%2AL}V=^&L~-M62&u -zPn}lZF`aA}vw!pR>ZhL@Vgd%Pqg+O(@CzKe9YV9Eh`W! -zGjEUo4!6heZAb900y~2IUSNDLyvp~&d@JvlrjRJiL6g6~L~L@0o}_k6T4*_R3H%-l -z)O#0s2`M2Z9x7HGwUOgaPciL|$;Vk;j8ny`xW~=9hX5vc -ziyA;#w8B+-#$pS3=`!szbxHd$b&{K9lhnfanwJcc6mCGrXGnj_xjs!M#=aW9`Juqa -zQv@F?_RfED8u3aVUEqyMTTRg<*K{vbBYGfz7CE_+f6w6G%S9mPzFrxiGm1%i%5hdo -z+eFIr;XoDsZDN`XC-?fLcS31>uJkr|`{RNyr-19|>zh~g^Ud^>69Do`fci3rdImiI -zum{wi0E|&8daEx)Pb_^gYD;+3>oWQ)Jz3cVdwcz*14z;s0#|1oGZ3y+5})N5zfm!N -zHp4=oi+EJRY3Zp8t*rN6B5kCn9&0(quT*gtZ+48^3hN%wv+gft-FmF2%X&3f&oS1k -z!Mb|Q7*Erozl7_F{`GpdCe{(j -zdI$0Q3_TKP!~xW#7#Cmg5m}hSqxc*?o};#&t`V~tBP(^JSmz4gTm@)V6=+pW(5f1z -zRa>a*o$h<;a$1#~?tAL4;GVjFNUNfC?;q=ykcC2n&z^M7K-HRIcbyS`wpo|=X1Im>2fP(lNiZ(?Wt#BMoHk&jjI=RmB2&$;zvgkOmMWdDn?>VXimr&T?vb( -zGTPm3zQ5F%ix`-H#?*5Fhg=6-a0RTE8WM|S+4bm;tWDG~57CYMI@|nk9c@Jp>?Z&n -z^;|Z`7b^ctN&2ssSZMz&_(BJ$t&-&DBvv{RMq*eB<&y^izB`_<()3%RCd^_f;#0(> -z9;u*YN>}qUWDF}R&9Xo7r&;&MbT3K2DeCiHyC;)3QBGQaQdd%3ieG+*)RpG%w!TOf{xWz3$^iv<_pJa{FSLU$D_4x!Rd_kDsg`H5vK~DI>+})y-U(5Vi6J9M-9krI1 -zp#|lCLVjfcete-u?*6Rz386*-22-Ep6iT88#>(}E945W$bSa}T^m5W(z!NxRpdzI; -zDNoQ3xNp#3b}*^t>&oD{%dwHjJoGy<9jK|(p$&J#m0gi_?;_LXyELP;LkmwF -zoo&98u%w9Lkah0?SW#I=iK+XAI@2tv&WmY(u;Y!jTqCi7@A#xvs^|IHJ7-It{n7%S -zeUM(rv+JB^ztjryK|`RVLcgDk*R$y*mA0|Ea;l9;F9wkjNj -zP?E=VfLdwz%@|AI&7BE@Q>poLWPOD^H`e!gZe-am@lL>J>ZS_mGqpb8GbQWq?p6PP -z=6>t%=~e%he(Ue;RsW&^{nh`bSN&h~TVIS3TK>e0^MU4@GTNaVD>}VD)f;p;IX^cd -z`5IH9#(lXO%X4Fp!gGPwXoVX0`!(Xn%0B0x9}LeQkk4nyK4R`x+5QyZoVjEMDWfsc -z$mDyI;Jq~i{PzybvhE&mC&Tkg<@0)f2{-@z5O{uxeD3()GPq4Gf8GMmFP6_Eq6{(7 -zuu4&uWzX__qE+M>9Zv3gvDcpQz3GGN?2lo&&Tfp)lj{tri>ih2twEtquPE8d*Y3gs -zc~@UCEf=&(dCjT^MP>!|(qI`Kl -z`5$yyeo8_46FVfFQwz#vo|XCJw1V=QTzgJ0z)NToE&PE_vc6kvP0HW0!XeZP)+6k{pIg!U+JQF8f|kv)>Ww^6v%p#P108lny2UTxd>5O%HtgcTK7t?)}8vj`h3!N?DHAl3+mGE2=(XR -z3+f5`fNI()p7VmXELN9)2JqS)@An-8cjC6*K3gaGK2V5X)&V|P>f429*^WftF>nXd -z-*7EI4%3S@#hojh?dX -zQSR}R(N|bmZ?n>@+vSV3l~%lAKKxB-9?59%#C=$4CW}=lugfxjGf92PrSO*>68H-0 -zaJjY?xXO$U943kK>;^i}xJ9|Eh<{ZAG@|JDZ=l~_2jr6x7y;~)o+N=tPX>+fTrMaR -zS}R0!GWsC@|W(Hx)k+Ur^o8hFC10VXmbdviegLxUG?{gblS8x`;*@H(gIFGQ-k~Z(U -zuXh{%EqPdfe#9^j%Nm}C1+gv4Rx@-Bw0}ra#6Y~f4!yyytRqslSB`ntd+YG7D4>y1Iii;+nn{PlbEMg$|%3o%X{VbK*+VpLY)N9=s_>z`>~A3FXJjo_&N?DAK#<@ -ze?vYl<+HjW<+E2>ooum+a~1V%a3k>SQl3Amk&4KfBJM+d0e3gw$VbDwS#o!9fG4c+DCyx4fvpuZlxFaKj -zLywYaAydzUrj^34g711}5viF!J2EYz>i9l?+VsFRx8iG7<7RQhAx&HpOd}E -z9xW#gCsJ*NvErc7CNY{!C^-^J>S7@QIYgZBES};1Y95mX?up2+7~(T>2+3cc!oM1S -z%JJ^$&6CNLXjBJsF%w`VUE^c#pftW;-#abQMD-wYpM++PUoK{;AtM$ -zct*LOBcKMb%4m*NuD0?K&=-+w3UJJZZ9RSU#W*$^(ncu&PC&80ZzG7-HE)EZJz#aH -z(~T#AE>W)mjPTNMv|{?HnsrZ5QA1PW>*0R@e{dcTz$wmoX%};v>2etTV_iqNue#Rl -zh*a~4UMHgE54FEQ&uN!yW$K%SE4PP-$dK1zDAzud|+NxkgR3(3+t0{GuJkeF|vn^wN=k5HA2EINP -z@V^+fc9mPgq^<>EEi8e8TGM-6!GQ)4uiHC#^!eF|JQxrzFuvx0LoDx9hw0 -z?bKxT_o~1Ad)8m}J?o!bP(R=2)tn3JTfcO6PQTRq*;%<~l7>4S*4X5LUV!Gb0SZtC -z1GvPV@@Or~;0=reSbA30eSnu`f8CY5tSVo|qfOed^XmcY|161AH{f-e_0A*;jnNTM -zdLl0k^U~9y6k|dvJYTGA)A`@CP2P8G(@6MwSFbjWg3^=r*(L@M(En*2wCO_LCee~o -zVxL&ky$Yy@PM~Qgsg82Kid-L4id5WvrLg-h;U#4X>fxqorMjbC%uC7@e>hc!O{1j- -zQp5gR#2z<|lp1!k|BebUh&^4_huU09hk8!L?c(=o_(j}t5XbGP=QaTobl^^pi`;N? -zfyP9M!7-RYc7$V=2jYO275{+PCCkGTMi@Ob -zt5Gh#sOB1&!3fMCff=M1^0|o6BA~jaDPfpXF@p+)IW3>2hG9;{45}37t9BZJ60%ml -z6|ozqMZ%hWsQ(V&*Kow1BkM!$2+p9$j8c#xC6bC9Br~K$%=J|ye>Z~>oI##>3uZ8a -zGl;P!6=|njX8wTZp`L)!+enbYYz=T3>w&TsGq_&Tnh|L^xE^K@$L5IK9L~wb{Rz^w -za_pYm$JqVi{~x=3j-BKbUV*WjiVxVd3fNnZ2 -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 -zQcfg(wB|0FOvu4 -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 -z{#Plrmi`X&Fx?*dYor}UGN1aN -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 -z@}5nHu{nhOjeCec3aMKizuc6+3 -zs>d6=@KsVKvD0d4P(1M3FCF+~AN<@B2R_9IA6^=h@K%C5>*$a_N9pdPU|*%vn%bcH -ze3*`bf3lN({BeT4YoI=79A@C?2K2Bke3_`E;dMI`^s$reBxmU(s_N*uskk;3Id{F# -zkrJwC#h{qCT%I-kcDy1yQUrbwE8!JI;Z{+2JBt;qr=6Ad059(WUeN=*Zx8UY9^id? -zfLHbakMfB0%Z~rXmkPP+1e;C1*{d7SH+z^Te_$7c6Gq>TxS^pW!P7}RsdJuC9!9wW -zI`N>!j=~lx5y<_hA!h0#=%2!Az7M4A4(I%Sbj~k_*d7oYOtHQYn+Y+SVigeE4PuoP -zD}~rBhz+Dzr9AWFe^-7k+Hp9HTe-(ay8~YY{ZtHoIE-iU{LvoZeYn@(+Q&aiom94m -ze@lzH>k#y`R;T&a>ZPW$_GbIm*sM~ayWw3wIp~F14ft+7ry=gKbB6W-QRgdf?GAOI -z57vn94I@PQVEuWU+K=P7zBJNevM_X%_1TdV0?3t*gEO!Pl$Yjay|{golMF{c%6 -zVKwUbGQN0(u!jFZo!2UUR^P|9iC?9^e_-%Foz|BVbvU!xJRje=VJ~I}J|83eZYJ%r -zK;a~aTti>_JA?iP>GXA|a}Jc=L_4iN`D-)2pxWlJ5QEc9v8V!37gd2V?>ZmUO5u(dJG`IbE!taJf7sm9jQ5?aoNlKz;&e|D$P -zpmR|J{M*;Fwj3GUgV+FG;aOYGeQ|=#p|v%g)|Sn^d`3aOzaa05|NT|U4Id75mdiIx -zj2{N$_GlNo@%uH4cRHJWOTSE?4WAW(!W&u#Lp!;J__8AYDNt%Cu-)F+c@b~y$cr9B -zbL4Nmcw+yXu|1yHv#_I}=XHF|e};CMsAVmDuKQbg#sqIGWvhaydyRJssC#`p`k^(2 -zNA{H}{uUnD#qaClHF4pQeI?{;H-$&`rDif<2ZYD>!(3a*sQ0xT#-Y;Z!-^}8{ozDl -zuGx{=wc)aGG+2dph|R=EWruWB=QViW9t(QiHM}>y?oxVttl{3b$FoXff7|i)7~AIC -zqa(MBcdmnIAAyx=&1euFyZS&K=RP*98 -z?FsIEZ#=Km@mIMwP|-HpO9peBJ)c?xHQVet2&*9cBZSouz5rpubH9A+Hs2ffX(;~Q -zxEFkHZ~ERq*vaNWY%awHfAQYl8$|Nowp8XaNZqF8u>^M -z-x)5yQ|{60yScQxk0|Vc1q}tiaN@4~gZ|QnpyM$LdKTXjHRimHe_?%hmx_0QD&-S6 -ziG3~3XR7!u#NdjQUhL2+K3 -z5r`iHCq$FQ>E0>`e`m&ELO;>K^WrgPa7NyW$@`xDTE%@&LO;(yISoA!Z;^5u`bk)d -zon)YlMvEEL6M+eV4y$}P?kR?zkH1{210Kui?`gF`Y1binw_P4%=&ie)l?rbINAj}c -z0@sd0yAZbZk`{$dM?05MICw{6@UIX2tK5l2`@-6;I4*P~e|kDFy>`O`eVu#QYd!a{ -zcIY#rKWMcZ&$lnvo+1Cr8*Iln9n7BwP-OrQ6_LIBTQaqcB#09dzrWj0X>iKDi-(AGj7e|E(SWZ~ggx+8(wDulJIU!5Atu!gr-A#b&h6dgjzD>;ULH9!v6p -z=so^bCM>gUV7}5Xl`)gUe%Tjxk7w%GZMw}iY8c}h)%OR)uDVcH6ziH)sLT4cR#1~d -zou<~8C9f0pD(O154C-vt3iYAY^(;FA>Z~9S%s5YBty_gT8K60d^A-DTN&MZq=j4k8 -zT9q?cf7q}~cBdQo4M2^qffe~L!eTmO@cRQCYlD|`#`}$GgK~+I!2z`L-YBiSPaq!2 -zC~(R~*05NxvC7yG$XnV-!@hX{2SM58s?KF_X%jZuCX(|v~Dilxqg^Txnq_* -zgEMU7n5V*)%?_!z%Z6)N>jGsP?JMC`*uwupe-5+4Vz@Ho_qBNQHAc2HK)79FBu#Ab -zT!t$`LmlIRLxA%>ykP;hu~gh&mO5=Sux-#&Jj>%W61euzdXyPeSyl8C!;Bg180G6^ -zRNA!siTc4{*yfSUR5>$^7)x#uWj}$M!z%C7FsB5#PQ-U4`lg(Nv^qHe(@QYDF*7H| -ze|Q4ZM@S!(IAUbSQj}4tgv!;dimUW1OhaqMW|mEb_@5~ba|Ol@X)NB$Mh#)5e>Px< -z<2Sb}k1NK{C_a93ar{^f6XS<O?F?oaj-a~&s?*+H_N=p?}wSdwmUy*d-e}_7D -zjEcWV=d>PY;3UF&xgsf{7M}pKzof_6KS0cWvBKvA|8{Ug3HpQ@aX&yr+2IV=KCX+B -zuIr*STWULNqBQtwRR!`KUm=aF*iunpW-H)4R0ZduG1&?sZ?c&szX;xMmwahro9?6j -z_S6UCf0a`o%mS?KBb3)D#r}mke^fCzQ2h+foH4BW8Ph_oz{dD!Ha$`btMJ=o1o$2m -zR^~Cv-|@F@ocgCWXv(I|RxxHkE=e`|Ybgj%q@ -zgc_Bk@Iqu|R -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 -zv1ry#}^&fV_{sE!nhs> -z<9a-d>v=S;J&n@|Md$koFy9Z%uwKUZ#G>U+gmMS3_&iuSKb9saGZ}%j6U4!^Kb5(ms3BgDq)e*5gzCpvwGZH2+VBR-6H?SPrdN;j<^;=(u1V3S)A<2)i(o -zVZI#Zn_D)^DUOxeBNgW?ag^d{dGuu+@uk2E%}d-@NKE53I -zz?jkGsIW@%g9}LI!7CxmTSY)R_40C!;c9_>zZm* -z8>OVvoE74uAs+U`$0!ZyN}v$^fu9{x7bkrVVINebx>c!t?$lcYUn^0(R&368{C{+$ -zu1ZE#$94@`6h>|+<67R#U3>=5UAmm-E?dD9!T$t0tXI%tk9i8M;xmAHTnZ;p+uTXU -zZSy4eS2Nk{Tn2OLl8jbuD<@J)49Z-DWt6-7i@2?vEK_)7LFYXc$;vXXG@DsRG;amb -zJYMhu1@vx+l2EQOJN7y}Q@=N^vVSPq5#(ee5a(W*QmY7?o))WB+ofM_^a(Hq#%7JQ -z+xQsqwIwhgA5~7fx#V)?QH4FO2wgEn`lAnf*6W!t)6asLzLFRGUE*5BJh{}FJXe1f -z&!txaFL+!AZQDER?o=x#1SKw&R}lKxqrM;RoJ8P -zec@NG1#@qZxdU>woiAxNrN%ebqMkUGTRumWsxVMCPptV%<=#ViTkffyy%h3JhrF{N -z4eSeHBJf`r_t!=SSTuMrTi!8u%DMdU_}nRH^C#l_9&m3(ZpL|l#VVjt=kSDjo!QZH -zY^L49@u+3^9cPcLOGOLqOMl&08`nxyOD*^WzAJ%4XSrFt-{hYBaC35Iq(`iBfQcj~JvQ@uE -zRX+ZDXu1dQN#neD-&^bDJzgr8vRBr+j58+!a&Lab68A2-*%v~&P0h|d%S1MtV77YO -z5VXk}_iNy4Csca%vI?Hn(E72hT6Bv*y3QV&G1)HW83@bNLyb>Y3+ux9_~InKeN2Qi -zyUixq!tyU#P_kKzjDIBqHaoRarcisFb+j4UGmXX}A -zA;n^fL(ik6o4Oo!iI_6P2RnhG*4^c3=Lqi-REM6&6-mz-;yFK9z`9_^{yodF$vQnN -z_NBaaEZws8QOZusr!LejZE^fW;JCsX>M=QYdmlr&-Kku2N`K6)CDv8CxZgUOg-&a* -zCdjks9Qv;1Yty76ZK^KPri-9WGpS8cw@nGJ&=5gSa$CAMev;No`i{;S@Ea>e -z{D#dUp1yylR@^T|XpAu5caU!^ni -zqt#;8#rp4x%Hr04HM0II@^h`RW-;V=5_m^Rt7e -zQN2s4&8`){0M>gTtlQf%rnLOMkSud#q3@Q-`ERpnt$$df-erX@?`4JJov=xLy41aU -z9t(R@3G9krXw@3_-R17Mp&otm^1_Nkd*>0)opCH8?#^=YLZ42AIfZdsSuq{46XS90 -z1gB0hUqy|UtT80(8wB;ODmq3d{2v{oz5iFoC=RXqaGD$$AAZMI7N>)Fqb+VjBP#Xz -z-QD}#xqn}5fId2v)=-IOt-USBOn8@QmEI+6=+t~_~dYExQ^cqJ;3ki0scS_@Vf}! -zouAo2{7iQ|uj&EMdwZz=!5-inC0z8+jELB$@I6zZ_bO+GwOQxGIrxoGhxJS|Y93zb -zyVFHJL!2Y8^!4k^h}6Sux!yMph5Qe>cOv-T8TX4j>;=jN+ -zaDS>l{)jwt>IBb4oV${~s&i%(r$^Q0)ijrX!&loua=#QdcwP^|no^o={1s*BZDK$u -zMrXpP@7|+55~H^?r%wFN1S;j+d5E=q800&S?Ejw$yLmp|iGIT13%j~!yGxara+XYs -z(JI)D(yCdNa-9;>UXf`Tq9ad?tYKB!b$@UMT4Q$1o}Wp_ke40;Utc}MR`()ZvpB0% -z|E!^9*tGCpq24+gUnEtsd-@i6@l4T8H>54BTUrn%c -z&5rowj77H@y4!y2rxT$4YpDILzV`3pw*N$hPtM184q9FNNELk)7k#8UeKdq#Wq(8; -zrCF7F9gUGiW5l73S3GrKo)naaepCj_agGre@j8@%^Fc*BG31Nsv39WoZF^Hv{*98*@Bh}IL>F?vwvQ^_aen$oNRI^>|*HWFL4i1BA$L!eEk?yt5oPo -zc9u6)_GF3$HJn$4aiUaRj8lskr>QtjEo`ZBYbHV(U!UN~Qs+h!aI8F*RFzyTfLwDd -zh}^bqZmG=b$dA85o^VXh4GoS&r{`uRTjXZt66mu%GcfyrUp+wHsVwNTntw0oBl>Ai -zmORpP>lXTm?gB2M(b7G)e2Ts^SW}VhcyK0NH>r%9x+H1SYfnzQBCS0p9m%cp;<6Pe(ed~TF -zhEgQSu%x$_}P_0H$1} -zVLhD6R*r -zZv`I+27~>U29Jkc?ud_=cq>bko@v-+hXbdxzV;*5r_5qCTN2?)J -zj?}aaQks*s&3M~XR$Eq9E>dfugLXlAX&B$-(zl_?mMLt7vfb<6ITL>e{o5?$j}2Q{ -zr3u?E$eA&sY$?f&-+$O=`%aH_MNW^G!F-)p^h8{^PyQt$&xeYbjTT#M9k0!d(rR?^5)Hn+zg;8sVpT_$CW* -z>FaC9Jm6HaN(k>Cfd}cZ)@HCYS48ZZ4D+oOn~U{{vO3l9-G70s6mUI7t0t)%^y`pS -z1LTuv1VdYXxZbN7)`M6&w6~hxZ3OK_`H2&i1iKJgxEt-UQ-dn=@Xu=q^_r!NU&$_0Hu~H -znc$INcYoEf*Ma@JC$#q~A5RqQ#uGJ}0qQa0ixj7QeT%gHWtle4*Y*zU#!S$!ac*!! -z(l635ckD^Iy5>5bbA!HfvG74)>u;L{Zv=bM-(jvdf`1O{rXETi+uvKt)}0im2n#6)(z~QeWYYjHQjO;&>L51Nq@~&E`;8`GGenCBweH`1zTOG^6s)l -zUOCo+Y|%&EWQ#8L$QEt?eA?`rPq(->x~}ofr?a?!K3O!MuHlaV6deEGL!OyE%C(_X -zq44`9qzda{eTHXngAe1u&b`-H@Q)0`+Lf(E|q~aX8Md6pjR*q=K -zynoihf>-xq^X;l0>|R~%n}?TjM@H^em?3Y|47n0zB4;duoHi?g@G8%I+^36uDF=SY -zPutQ<|1jfySGv;On;jX+PWBnKIZM`szRbjZ{KK`}@$XvjmvaYdRA%r_>vQ}o%R83j -z{v>6Z#DCwbj(xA|d@`g3zb&_u-1|ovlz$3c%L{y%!mdw7$*v>H?`rU!ugDuX+UykG -z&ePJD8fR^(Yq{{tty904?rcT9M`5GtI%)q+qkaBHF8EYO1{l_oA!LB}BI#bVK5eth -z<5H&2XfkM}7+d-~`{|x;J||Ds=)-c;u7y1$!uYT#+Y0;?k1m=0^~9kEC4=bkeSaUq -z_&}qaU(GiVdSk!Af1zMb~W1;eX9p@=UdWjDzF&=o}4t64&O*T`Ex -zGt`ntA98b{S6)RaAi$5IZS2&Z3P)`jPpq)Fe8XeJtHx7znpxm3bMf1Gm3F6@tG}HW -z^a;XH=Qo)&*#_4ckD@G8g@5MM@gvmHNqC<;Rm|aBd_B+AulLl@4zQa6cC!bz55R5& -z*o_|8EP!1Pu*1!W;Dk3?qUb@U%FUbI0y39 -zkg?*86d_S%Jl;dPY00q)>10@WD|BO~7yS!T4*Yi#29k3H`p2ewWhk>$%r25$;(*I!6nMPEOXU3wzO!K(r`7^{!sr -zChzh69QeN_KYu0o;L%aX|JB{Z$NWru%pI@`-UaRZC+&iFLF{Lf^NyCLaTZ_1?&L_f -zHP@DQ37x&SZrys?a-|-&po!?)Rz0JoLf)rin2CyWfeAA>VcloWQ}5;TwEOrReFNt| -z@c<8Ub53X@pA)`^&ntO=&nvy3&nvr|^KxEc0xz(%!hdX3Sj2L4pe96}J#wAY7aT7= -z$Z?=(pPDvYS4y;w)Nh%z9@gg9Y~&H|`JKhH@@Cs7RhrOmGf=Ax&k!B)L6B1G -z(IuH06?`nW7FhT4f}P}DJn#o398+dR#k-c6Rs6g8)&@S`+6e#daeemTSz#~8H<08+ -zm!a=?)_+LejE+j4g*HbMXbrq`?ggXz4#9Ji#wyJBOjAkzUFHr{1gZf;?B{l<=Q6Sd -zSH(;v4m9THQP@A#>=@X*}65#;h)DNQ)BHxK#4wY -z>?B_^Utt)q^{PN;>Y`Dt25N@{SvCZtT@qZB41e2tysu1wy>f!WO|D4{^~ToGimhvU -zM~mKgKqjoC?f#%4&Vc;egH)$i)bx;psaK}MZ*{QA -zqUK1JUa`Q1Ma>DUVFlnb=RIAAGg4w4LR}oD)Kbo2=&{{Qu!b|L*n6s~MEfO}@T{Pd -zXMY8=FK{LORd!t9;!%B(#sjXylu}jrdf>4Qla*Lpn^ah!!qm40M{x3TrO;pskepz8q6NpqZ?+s_G!7nuA##d*?S_Z^8`09!=6*;orX(3@TUx^MBW| -zYkzAp4Hm6rkZx9nU}wJ1BrjwAk*0)L#Ptsz`lLAR9Oe3ZQyZD*Zot{U=2?$%@7>LS -z2@d>mAKcjo=UGqt;OI9_z@PEKQ*s}lXZ^tkw=13e&-vi9raN~PPx#>H^>g4)`rtP; -zIPj;qBm0W+t6=#*NiwRB@Fw<{hkrksH~AUhZh|m3f5{5IWZvXINXTyzGH3D=+*V&u -z`9IS26#x%=;DTGicpT!-bCIKEl9S_kUygZ`ACq-|)a-oiaS17z=s=#9kX7z?o|N^L -zc_98TKP7X_cXK?|<;%~>TKAaXeCJsSVNDL?Q3*MGw1CL>TR5%2P85NiNPpaMku*}? -zx*j=MzShMZw;T8GR){Lck^FIW;QMo)DzX0DG?5=|a$}@a{ -z`UgH=dxFo`pXUpV$M}N4<9~cX@M%8Ze3H)(J;fJHqLiGdKBJ({C`dnqgACv1NrzsXI -zf{`ECMjkjWuxWyV_utmX6R=Fgbm~@OPTk-Cf3EuzS+_&$>US!zOU!22~ix~61< -zFedtzTMaqjKUjRvhks43;<>y+%}suhR~ZkRxw$XWsj?pC`GbN_fwWCLH+NGJ_zOHY -z?*)SI$->5iM%F-h1^G}G{&Ow(=IPY_QKJQyp4;#ux0UrO&Jy5=a_dJ~Y1joLbpC}j -z-0AV0_g;|wioZ+Y_r?zSOS@3lg1P%&_)q&Ct8yMhiIv -z$Xyy`qgg}gG^X(66#A}lgNk3AoyIeBL)Y(Z?d5xw#lF{%MUBzyy#U(^+}O@M6nyr$ -zz@?*f_%i>lp)|yj&*B%be@dn8Q0M$TBqr<#=HiIK@r1z#j8)~TH&GnVr5h{(c>(WG -zCJ2a^_UoTGXMd?p+$*0tA{Haxy@eG+waOFl80Q2`^}aNra8fOHJ{^Cu^NknWa~!5r -z1%!-!-WuAd$TH5`bqc;enRGi|M!yz~;%2uD&ebpRTzWIlr)no4-mt7Q?X -zlcGx5!V;3DdzrVXFYz{Qvrp&Bp+9B7Ck&?hq(@DZIgq^Ok5oc82MzNp0Ds{%m_J2{#(WzX}Eba&78K1w-+oG>=arbJ_ -zHXmslG{ -zqVL$M(o{hDNmQ`!73%v_sP7e;nbCl>{|yv8I8FKo4P*oVvla8e9u=qx!01?2jREvo -z4u7jX$iikURQo{9i|I8977H2gH?oE`F#pVdOu<+8l?<)tr&yB#`-kxgtmOfXL(v%)vYD>H~VTT69O@ElJmP)TovY$$^50C=dF#EFVaO$g4*;m4c -zS-Xb#*^M=F2S*K=d*!dZHMve$-~W23(3x3cjjI!K75J6p>vpN|+50s8-N@_`VL5)I -zV~M>4F(@IAjTQ9u5*o>e&4LHDrx~8b>E^D)E){&-W|k;DA@Y^%HmQTYlXyO8b^~Z+VkDH=VPYynjKheuM5p{dDDoAxG87^8s# -zZmKh2F8me!2EvLB4;SI{bpaZOku*;NgjWN=zjCejFR{KR{0Ltq%G%XKD}QY5^#P7P -z*SX1RdL=$f74N-xidd5Rp{@_i)K2Sm^7v^7mQTafg@Df+ydVR=%#IT6!tbEx+kC1C -zD3`EDACk1|O=#m3YU8DYg)cRmolq^fOXORE_}&4bNuC&|C2?Ny$@~W%ZN&Fw;Eno{ -z*NCH%{eWvr=g{Nn(<5_0Eq^AEhYlrOp~4wQNq#MB3(DHe^vWP>T5|wprC5tr2;>YNCIfY#7d5@w1aB -zveGd2)!_uc&Y4r;h`EMJ0c}$LnoWsC_IDyojeCuu_w(Y -z`0Kzs;w^ZRQ3~q;(@{eBN!%+_t&J%~=B4>m&jzazR;CSBYc<4nG>t{QD+}{WOvsca -zG$_xod`$rdC?AK@k$*FO&j*U1B~}b@;NyMwCMV8!=)+S7I2D>1D`Msc+N%2I}j7=7-Me(EvfI%{~zMs1WtFMshhF!L27TDS4aCUa*SQd0)0gZ~nGH7tn$bWdEX0wBc#v}?F1D=tn -z5sgPoG>66rzr@>kNBwz3yiqhN67K`NH7f7(RCUdCuZ!`Y|ND7g_`p^_R7a%=N#$XlM8<5FOXboS* -zrU8}$Ea1X+2Y+mrCdS8Buw4O*0~U2*&qGVw05e?JtAHf{GhNsVfQec*5txI0IUPyRaN!PXLy1VLgC723VU5OMe6Q6ky|ASQfB<05-ve?E=_F -zz>+Sk3$RB3>u_OH0DBa$i7qS!*o%Pe;=*?eSwUD!Y2eb)fi?ZVyw>;k}gT-e8e -zZ2>If!e&BwK-;Cf3ws&zoe5a43ws-|b%0HEVV?o^CSZLoY)>ffCBUY+uztW^0c^Sp -z8vyJiz<>H(*o#o!zW|%z!e&FhQvsXh!nQ)ba{!y|!rlYybij^qVQ&Jq3b3PG*cQOf -z0_3_DGhk=9 -zus(Qp6JTe$usmST0(O=Q>jmsNz|MAIQvrJiuzz2=u(^P}4A>wKU -zz%FxPZ$bOc2JCVd_AX#21NIvi_7Yl>0`^-M_6lGZ0`@x>_9|$R -zzX4j~LB|4mJD{~5v=z|10F8Li1fc%|sO~{cK>q@0)Pq`pUJa<>K|_FE1E}di!+`!7 -zP|Jfx0R3M;>pW;Dpbr9C??ER5dLN(-9)GkQ(E9;x^q@&V9{{w;gLVLVIiPJGlmPl0 -zK*xDd8PFR59q&OK0KFN|2_7^C=$`;>_ngX)0Z0ceK@wE?{w&`uB92I#K= -zo#;U+puYulk_S})y%EsK9<&kATL7KnLB{}kEug!2&{{y(1Df)nQ9$nmw9A9W0e`&* -z(6k2~2k7qs&3I5hpnm`~>p=s6ZUFQT54%wV&?^D`qX$(1Jr~fcJ?M6rEq?^`PaZS~ -zc~1c9K+P)lEadzlV3G@a4zLpelU>+mz>Wt@abcSPTLG9VFyP&uG2H$E_xir+@k6$c -zS=HlRUFYbT+A}k{i{~^ex-$DR-hWb@L!4d5RDUI -zmf8O^P$S|@B;pC9LyJMC-MI(|j44VTwB -zyf(Slzi|Gbxo~j4Sy(X7EEE=)!-f6XS%{DW{IQPP_Qc4|j%;nAJ!t01M1K-b8PQ&p -zqcRPwaUd{v2C6il@jtzYK(lB$vW{ggP(F-s*XJ6;P|Kck+|lx -z<$7q#p02j|$ijKpmK-~yi7!D(tWM%f42ia7;Em@fK6yx=lR@hNl)LtGZwVi?O(+JJ -z*_U=4414IjPbaOuVlaMi*?(TacGq|{Wbd0f4AN0w!iR0&kG0)L+Tr@^ZA4srgQx1a -ztYe{$EmO&2W4;-s2??M2*z=S`+NG+z<%LQ=-!kjJ>E{JI?dMB&($Amlw4dLo^fPbE -zx9jIGvj0s#4}N1mfAY0{7IX5GfO}3Zrh{g69t7$|eD5pU-1A^a|9@Tv?E)6Vw<+u2 -zMg1sJ)aOBZk&|9v4(UrUkA&aNt&979_vm|0qh9El7d+=zjrCk#$ewpE>@lIjpL4Y1K0$n)sKy%^3 -z1I_dxUPYXkPe^YPP=9ZRy?fEoLtEIt*c2@&^dAJ@5l@Hz(uq;i%EXw&B8aD&a<FtpY#Lj8t^a -z37JyQ{UR?+Er$BqNFh~(mf|@>SwFRdpEJO6Dn+FA(sPp3T7O7k>wV%bU2h<|Fm<5$ -zB7CUzQc}jfYeW*Z>scs&Uo0PbpqHR@?Gazpb2j_1Pe=oANr-c$BGL;QlctU>+h2CX -zUAmD%=Q1YWI!m0~mNMKk;Fle3j*QnPB7b6*IJrO2MD1xj(duwcwA`{rp?m*$+L1?) -zqB%N#5W_X+{eK4PxsUzA!T7ye*;z^4Igg4nFDg3BO(K_6_Ljk|~8CJ;O0McRDJhr<343>LW{|`!?6(yy+W -zdqIZJ*!h|H?5ppCC%(Yt9bhIXFK<4KVJy#PXF9yRxKkdM_08pcceHX~j_`7D)VFQG -za(^h417AgIvEVytC8-&I16VHeD*@%sWBN1uIOm7^nF+$nO}Ws8rZ_7^O5nT1?OSv) -zU2HCv4m68$(JU$lnN^?F*VJ>}*BCi-z*+xN2WMbD$VjhbcEYU@q^3jmO`Q^>c@?y~ -z2e6k-gMAQ6nn+NN)U!)qv>j;Z{oxCsN^M5(# -z01rYtI&p2c4WKV`WO&Eh-2y3fk-jJ%8Kntvu=#pvf{{c1e#1zL2KkJGTE>YU93-HE}-L0;-* -zXwzSrE^j^Y(*`0*O~jBTrI8FTI6R||3o2!DERIZ=A7^*g!LRW#J%XMMQT0zS`023naha -zebjt-ZrM(r8yN9iNjV}C3pQGKbtTEm6WN*C0BaRLQyUPaDMR`>oya4{f|u9v{H6gr -zMW+AkWBSj2T_OIcOpf=RKYv+=`Zfn;B{?oZfj5@+VZ3piwA1b*#z2|NchbU|(cetl -z6oDBlvoEFQ^Tn&)f4zdx_GkiS_z_q=Mr-Q&5 -z`SbK5l0HfxdAf$=F5^$NlAg6yd>QHUbG(7{tg7ORVK(-Wz7X6~dw(_n{tBKL=jA!1 -zFU+vJs(I5et~-1sslyt!{{kEc#sxYbeuq-$b-b)?coTmg3mSv?8xP>B!%}`+b66^b -zD-KJAalJ8QmWCet1y%Ttgrn#(QBXExiQGTK}EpbY-#yuItquJG4%JeUL~n -zQzRn_tb;)$OCiel8XIRnNu763&u^OPrwP#O2eegGwU~RrO#MZJJc+27bV=^1h3pFHbVzpc=p63Vv -zZU25|BMC($Qz6MztoEAm-n&P`-EdH{;ETj#wRiVb@2bRKUxS+IHKBe)pH+f2`5IUa -zqY7%K*G!+{pn-e<*djwAn*tK_Z*pxDB`dp>2u06LN`FhTtBXd|Je@=u=_d*U(r~kOQEr;N|-b%qR+Z~RGIF3ZU^M7V9MO2tkyJ; -z<#b%O891Qcph~n>XhCQ=bwoxF;*L~-ISF4|(yqh4VpeMK8zDg@Jp*_;I;MU|uW@wu -zjK1wy3V+3K8lwlxex;t|l^Pg7=#{`)z<0Pw1u0=Nxtxy0S|!uB3qgw=W2q6;#-rY% -z%Ax|nvuu{1o=hva7g#N{7y=_{reCK(NAB|@mDOS^!o!&$iBc_&dUt0!z8f!L^TS83 -zaps9cuMRzqljU*Bw6%~oSlA%+Y52O09vb-kz<*dsze7KrWT>z-BXyxZZ&iM=U1`~AcEk1}YxHDp$0AnJz(8Duh$`}}Ba+N$2? -zFMrHC(k#q4(yZzb%_N0+#{hPW3(J!Q^A0l?%skBOf~wIcaADq|kmpd-V{JNbDPT)Y -zx3%fQc}JTIXB=&I>-CU60@6o78usAxj)L@2kPecC3lBFJ_8)F`S0Z0WR3S4s8s2e` -z?NN_3tGY@RThsnyDkw*=jb*zhnXcM@_J1EbB2S@z=?G+D|Iubyf41F?9Pu^esIMW1 -zyO2o57VL`#p~rBfBOlK9H|!=PsOoxYb -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 -zI=BRS=>2XO5&Uh(z_W#vnmo -zfvzzV8gSz>-{W_YpdVL+)qiZKOsoEffTxX#lTN>OR%`eHwG=wXG-|kCSdCy4v6c|r -z$KCU4l6<8=Pd5#Jo_3K$fbYb+92r9I$ns%aw~F#*Z5o!J4?}N@I$BK_*RDF`q@Wv)@e6u4}Y!*#(*|QYZCMt -zH6|sepp=Vi|KauK-NZG?yy6MhNXr*IF{_*I$ao@%TxH0>Ao -zE|ht%k#i!JMRDbsW`ER=oTyu>ckJw{RBx>SfIxr0kXi(g(>s^RpyEVk?=cTV&>hh4D08f?wIGZtohTX`^^YuPmzDM_c9<^H!bk8ckuvG8ii7-M{% -zzH)%X)ZM0(`+q(8zzrB7A^^MNU8fY4v&~JE`jUMywRgnb9&uMqPC|bzOZVy9Cn5?a -z?91O#xJK+fgkv#zg5=zF;x7xm%zW#y(sDW}+X~|x%P#l7gRPXzz;49!w~}8Y|)ZK%sz2UXi}yU6Nk)He1iq@z)7o-?ozU+AReAFQnr^ -zR<7R&J7qrr-^G@C^_7fUKuyY)BZ5lF0A9tMNKA_|{blrei@twu%|`gww2gT=_5)@0 -zOE#g$(%rR#{J`5v%|0UeEF!f4_o>wp$zM;TKm+jy8~NLWnpmycqyBKL!tdmx^{xn~ -z1(~k`{A6{@2#t{kVwymO;B3*4tArpQ3 -zhIAt7*at9I0il2IC1+>{iQd*8rN<;fyfqn#MM+;mv#E -zUb>pDqkq)i)NYqT2CIX@+tyXy7RwpS-lw+Gswml{MW_^oHiZq=CMjaE5s4$y_}r-N -zAif>$??!)6^5ZOfE3@g7U|>@)K+RBsWImtADS~Rufj)oWEjpi`q}}h(1&VZm_r{s< -z^qZMYp9kq8ifdjvu0pSxM0lI^`wf!Z(@im+3pf-5=G?WBu!K3dmry}T)+IMoG%?UJ -z){*K`oPX$FnVy8tl!8tRHSG%4##iY1qqVO<-P}ox@Rk-RuJq8>G59UbF+gF*975>! -zm^7eBwHANDnKAk0pfuc1vm4`?E!}K>Oh#T$-i>s3!I+M;v2p(8mY|N5d6O)`7@EY# -zP$M5h8`;XB-G%K#-W*44)b$PPaGpXdPd6n=Cz&mAS1oN&OB4GJyksIqXA_pZo;Y8| -zH8Ot&mAQNRSyxZL6X4#!zkM$wt&B+@Yl7-k*Q9@611%rJ)(@`fRa;p<*qC%fI8Oj?&a8A&|LmCUW4oh&BCmp) -z*iOkxW?%x-qv|4IRofrS%WL%n>)_??&dY7#<=*2iSA~|2$FjRrCRf^A@Bw$?t0N^9 -zo`$aw3v?1A2G57_c{B1`9uF6uR@oZ!Gsl1T0N*#<9uqMPxW74+-Sl6oNvmDW=Jd!t9;o=Quh_R;N_vvTfM~tWYD&vXk5PtjdbOswwU*GFL -z$M*Vfu)Y3ij?9gPY_%MDLmPg}6os8c -zKd+mgC8Bf!`{^a9`v8>5Y~<_5Wa3?|gaknH85J5cY=4$%VKOxI`#EfX?p&bK6seZ-YL?VA&ho8uN7==)#(GNuW;x -z%2Mn!BiTgn%RC(;vG5@>((Z?z4u&(&L#tER|3;H`rFK2NpZZt$c3_MY^5%bzO<|bn -zue#&!`o>sJjQXFMZW(2Gj5Q*jR?%4P@+V-7a{mmo8WZ=O4^5}sGfj7WjZS^I9=Y+~ -zRPvwgoVRh=!`Lz0|Mn)LNSS#FA$?IzI-Ydb#b8gczTjX=Ss$NMFn0I$v{l1$;%PCW -z_?tEvja4J6pvB2CLbs34eVKphCZOcNqHFwJB(0l}ddt5}W&8dHqyVUiAUmhBrhF?+ -z)*!v8qAH;Cu$~VhauW%&J!Kl|*@L}n19^cGinJKM(sO_>x)#1Ttp_g4 -zr(-@p%aw#{Soz^vXV)EY9We3QX4jo?9klSepIuKxF0GC{MOL!a#2|lKI4S$X^+bC@ -z+v?Y%WO=X#cdM`)Zh+RIPRbl;-;Z#PZNZu3S22d$7T(eRh||M}#)BT;L^ChU6w7oIm_ByR?Zwt2We -zntf-0OBsNsZ#L;f$f19dJlX{L%la0s(=R9gu5C_){}>q759>c{;mKc78q43|B|V7>@HIYQssU^Yl0pl#XszA#QF5QmriA8O&bEmA$> -z)9zFF+hRW2Vak8gN68hFS4-(rnn~^#@CJ?8qA`+)hskL;O1TlA81UlB2+KVJHK_9x -z4bbGDtA02MId6=R2YyL~UOkWc#NH?MZ+3Qpk)31~EkMW}FB)TwDtElBf`_u)Hwl+{ -zUpa>B&&G%>2|nP5&KW*ZV}(imGr;BJ{t!9I@r;A9*s6c=fXd_eGOw%e@|Z%r+-t{h -z+nE?qrHZfDK0Z3ITz*D{CymIr8S!s-);N)!H6~dL8XU`KJafeB-I;Fs1L}0Nb5kd< -zwtkoKBYBcnU=+&S$|cXRJ&1EIxw)1!0X4vRa2vGwexwK6FzS;8Yl&ZOB!(ivOw;CM -z#@|Bn^g4e=3Ff1RYO4|UTLF?@9f98<{D$B+OwiY?>92ublt62*`@<&ena=_YMnB}u -z*Vn*YS4qtOKT=YT`I}+y{`$4K4f3rcQQ%tt-YR9 -zcw2gX8cF#0tn(4H7%c@4jiAipwi9 -zbd1G(B1=DY^$xUn=)0Vh$rzMLg~;3L<(PNj~e; -zqpg2Gu7k|qp}o#EH}R3gXOlya!iSMdQQt%&{ar&`e(POUn8@w&-WXp}zk0jmdv-Y858=Ak;u? -z_KrTnVqe{fz2PGjTJ2BX$b1%QyyYuMyU%~kQ+)2sW!rv%oqM)QFZc_Ib!I_dXFBnT -zzjp4){xn;Tubf|)5tm(&+AMs}{@kM*H2;U<{Bm8z#>{D7gk{l`$x8r;`721RHEKBZ)EGZ -zpBrpnOS8l49}J}ehgvA{+VR@}O_!mTS%!*rFuRo{>r9j$I5w_~3yr5x;{ShAx9I-~ -z%{*R0VfdFL`hT~b_CJ1`YV8)Uec6AvuO0U|ECwIcJ(cZoE;8MF8Dr#E>34k%7}|vy -z*aP>;U+aOH-@XlET)rWE8tH32dSBUQCk{ob+Amf406U#X|I*|qB478{PROp!TyHE! -zmdHbPdseDMTE;!vkR8l&|0`c`KP<48@;FA5v&3U3xO=nEBfik1Pe%_H?OuOZ@#}|k -ze(z>(!#|`?KtE_0At}pC4zS+@{YV|Qn_;(^Y^#QVLLRXOT>R}hj9@G%Bm3&0TbzKwBi%&`|!+s -z);EH)D$Iblv;A2-MT_INgLOn@S1rz!l10x{Yay2}i?O>dFiR4Q!vTMME|N{NvptpJ -zP}lY$TVqdu!hN5^K9*LlhV)h}Q$o2uj$hlU;o}TG(d=Bw*{VJWe$$^oo1>ohthSzU -zg_3wn!gv}UYvAfo#HA;3YBS$kCdl(lb`s8_?BpEB(^Fe;0{ikyVReC3OqQ5^MT)?_ -zkaUwCppsdV1Io}#W{`iGWPr?qJ^mb6ql4T=rCG!V=X*=3BI%JUGDM|v8imy5o<6}J -zayyJ*MR)W!T0mq1MBUR`>L(T>j!V`Qx0f$Z5o5dKWwe>=;+hvUJ2Dnb2WoD1kz -zzc0&t!9a_)GM_M~VT;6`ST%f^d8byc(0h)eVyhJvFMW6B+XeV=_!2n6PeYs}w;;Nl -zgjI~WVr1~DfYN`%aWVe{$q1E;zny&A3XCVxOv=TznD*s;^}<_|FSkOkq&L*#Y^?L4 -zuOL1f4wFL -zcFCCcuNN}r%b_lQ+U~3+qqarZM?T$bG5Q;WeS)AjSw?RJjS>D;t_}rVdLb8GG`e2M -z85zD(ED0sn3J-ndM@p{==_p3Tyg?X2m -zWj)VqAijU?ek{iJV-2LR;4*WLEIazIhcJCGKPl{YnK?oS_HERG73=54l^D;Ln$Zfs -zOv#(gB4*M_i6Of`%dJU$BEAZvZGKn(hF!ezp>u@I{jWT>_*MK8kM8@nX3L2S^Ae+l -z8Ab~)Het8wvaP=auHTfa*T3@kV*AJ$3qq&tQnP<3{n{+bmzzc9GLzfy;duD6+1Y~^ -zdb4`E>K}N{QsEQxPaa>Hf5{2_S`WT^qu3YR!ROJ7&2XC$9ztw|}tKfe#1z(AOIvjj~y&jKPD*2~W@?YU8=bdg* -z@AV!W&oG!w*~M#iSIW53leeQ{8}U02e&qX=c?h0>nd^5J@^xq@~`pW -z`AU0k_TbYi_-{=&&pi|Hqg*=q4*_rTvkZTpy!_Ejkh|b&4|erC(-lk8zRq*C!7Pyz -zffm&;eUzeojcMqM?VHRJ{j*VwUtun`{{;W8g^o$+e$0 -zh=`{4Es*1Opn`|sYDnaId|-X#W|0A2o{hmB1ig%Z^j4qoyyn-*ux?|NG(<0{i!=Cw8 -zNC>*{hzI}dXn}9?;8MMq=XZPXa%DdM-Gd+UtjPbkcb-cEf5wB~yjbARS8%+OcVaF6 -zK%f6L`=;^&G2Wi^jH^FZ?4F+X&~JY%i_`Brc7osODQDZDDCd3;{!hQaANA6t%3Ac8 -z2VYSc=TCU>c`1?qIS(GG#1H(3XI{i4zNQuI%_e%x#GULlu$%c@MLjSs52$>{{YBY# -zdCLA#r7chGl#ZbM7{}7e7Qvrzt74QNM+30J_1~Yf%__aws))Mo^_2Nc1;2mKgMU$> -z9}jr7*gAc?Y1nOa -zd9WnCVme-Mr7fm`{#6yU)#ZL#?=;)UvB47kt~nPr=q0)kf7yM$n&08fZLG)K!*tG- -zw*al0nMG~zBeLRLnDb;mhqixwm+dVciu3&p&S*SE+neq8i>dzw3iBN&eIKL;S-Pz6 -z!YNwnQM9%kfjtJ;KF%`_LAsbl-g);PVdY+Sh1k!ssc^-iDEJzRO -za~+bNM)eKIY2t@Fh`5q5M=|v@JoR0tgr|QXeV~(m4$^x% -z>H8tQAKSGSyPkmbd?)=6NYBQ0(nVc&LwXM<{de?w;-sH}^!J?f^N?QXq#uX$0!WAG -z0bLs*y_l7WaV?X+1dRoT^|5)_DRw<;+BD%a473Gw&fIyf#u2uefJR)NRqpkpA9%{} -zZ9DM9yOtPAv1hYc?74pj{=Hz96j&8{?lqGK4e19ty_6&(T}*9;R?Ts~BubWwse1r9 -zn6;B@A{Dz{0AzRO5ufK7vUg!|2w1u468XGtNIzpLmkC@xmFf4eXBb9=KGS7Wb*IJ> -znNTm#aeW-U=NsyP6*wz9@vm|G{x6JQKSi0}qh^dA+?yv~5kr4kWK{blh+Ylo{k*TGJPo?~nw`Fn(%T>J*jaC*Rn>ebZ!?qa;n_X4WAr#*o=gMu -z9v7M?9e})GGXG2xZOhBBZ>l=b`1o@BXWv^$Pdde7&mT -z!dC#UBhBPhf7z~s{>2&as^9IuOz1F`$UkBBzBirQaxV{xbr0L|6?}^luI&f6!JPz@ -z5R=qEOwLR(l;Qrfvhkj!^kuf5@q0eFmz`o*;@%e5y@sZkykfu@C+_{rb4`6)7eV>qRH*4u&)AR -zxlg{~R5YneMfp{;wsIDtk9GVRl;1M*w22g!y>9toTjj${=^GI|ro_fs7Gy4j>%E$iRKvS3DNq}cO@S)P5B;>Z$Fp+QI!4C-BHi*3e+eh -zXf2O^Fx(WZcM7LqMiTGrp+|v}hW# -z^=vTj4; -z+r=XEPgSmW5Ij4_#h*)~mICd}@@O<~LHY_O{RX6e<)mMO^rbAlOy9jz2RRsycg;6UOqhs2CX-;A5eX`p6vY`p_Iqzi%$U5!Zlev9cHnWxjxbvW5rpJPZGBEtLUoV -zuDbqspPs`$e#1X}z*X6mH%BY$L3e-6=Z#OQ(-40)Dd{)SC#TYujLYt~{@EsV>FJ^2eB^B-Z>Ll^q-t)waxd@(L -z$pPauM*+W0HTrc_n{A3ci1v1^NYB -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 -zBaS{9dN^jW*@pCI_!zWr3L9J1G9r1N^l=8 -z%k)%ML#-9^JCx+ng#4v{nVv=rR_)=1d*;lUL;Bu1nQ?y%g&gM~7BD+aTaE@$ilZ%n -z76WaJ23W7?Pvz)fIJV7i{}*fErPAlo2?HPP~+)P3w4dx@2u`b$REqFS#s -zMp)!Qeev^k%7iVO;%`$ -zz7S0*Mbjvc*uyE8V7bUEQueK$%yN3NYc8$eH@q{OVp8ts0T0R8`jmp#&pFrkv1@m` -zbi%KfvFm%d?<;60VIu`wi|?f|jR=jsBc9XXJrRG+o$DfrT+gsCJ@V~cwP;w&u&Xzs -zT8-8Y4B#&X-%2i!zOFO%IXjh|p2JhwT`YI(rmX?*_|%;Feh-YppSkoj)rwZAkM*z0 -zq&5!_LrUufNL@_R`aJl(41V{9-;dyT5BPnEr1e?w`!M|W!*4g`9*TS5HxIw(!!LS% -zy?}qB=hunMw{b+mum(mPPXV9EswQ#|38?iUCTAGZLmB4jZhJRIgsh;!4EM8EKgfwcvtY>k?H~7hIUNZp+;||JJfjxz9aZKej?$M>C&$J83J$_y&LI -zo&2bXX#FY)>xs*_KPwD(J8f(vg=42$oZ?>Bfik$Hyx>?@t6@i@QjB1w%-3mQxW~$q -z6ss3Chz4x0l#(AIc=WOyZQ;YvI$PwW3eDhzzA`u!2Gh$z?DWbSFk8(`88T -z_@Kl3+?*5l7wzU?MX*RAp0{vR@%?{W)UoD3>!Gh$q{hLVPH}yyb-vFID613ghBtOu -z2JIz5mb379-om^#J2_hplAV`( -ziPK9F{2EfP^dez-?0s{SofEqb@)W`H@LMvSe|@i94fNiyz7PJY&X?4TPt$*^p?0nE -zZ3C+=!f$(FFce_tMt{V-H7svEkfrqMS|>NdLaT1Y+&6|pp`@hzYDlkzT|7#-OlV!0 -zJ(XTv<2(`OW5Q|6rU1HA`f2NXUXKS -zM_Q(l2A3RuRrhVvRwZtq1Uygj&KgfFvTz4k3nl&aj%_uKT)B-`#TiO%nEn3-vu2UhB}npTfJ{!f0S=7C&bh -zvWvNkfiKz%+HyvYOWBXl;c3mUBoZo|kF{^=xDsPPsK&?XL(w&X`4;2o6Th>O$(cZ7UX|sn@kGnR%}Dd?UiLyN-21u1*Anl -z1w{%1auc~Jtz3nwpr~BsrU(d9Km-&JwGPvvL9 -zH}ik@uwO@Y{@!{h#|d>Zr*;ZU*YYt19AaqpKG^dIvz;(jR^@Y~Py1G8E{%j*R#Tgq -z6ioe_f03GMRO?=f{r5~8QlvqYT-8$S5=Y^Y18e<09DzQH={xmyMUO3lbEGtok)@%4 -zHNcC~XvZjUpWoyo0&)K7I{R4L>}U^4>=%E>)jfSSKT);jYMm3)v%U@f{#Eqv`FK`K -zs^}G;+ygD)!-w>Q@IAWWZX=ill*y#qDga0!pkc2TS9;P -zL5`Jjpw);rG2+n{C6=g6j(v9%;Dw(EJx~Q-aLk}If+$`Ta}Mnm!83R58b~H -zj;@vv*6E+8e85YYRt|yIUN}oZt0#Y{wCwnN&gH9s+rq!H1V1l|52Zs^(*@hu>PH%Wh6(B)3+W} -zsl5hle -z>OswvEwmy#wIQ^SjcUin)A}c&Klh%cGhNcJ-4HIo!KV1tgQ|2d^^jkrYA%+HVQ4)b -zlYqx@o-|#^S$P_?enYO%5&8G}a!8gce0Kc1EOBSdqzmt#a;e -zo-Xt*&OX97>mX?3{#iB)%0PdndGV`@(!sv{B)7Q^u~x|A62jO&7<$d!d@%Ic7Lu(s -zF-Q6`)P6-?@{y`WWj^k4G>j^I+;huE3sQatdrHCGhHC*&!qrttsXrLN`5>tor2*R0 -z{o=vanEk~(Mj_h}cjS9_dvD74CgzN9l9gUpFcxQTE05QREB{(AGJ1a{_9m4eXD+Q( -z-7^oS9gpIw*&Fg_vR1WLb>vp|G397GyMyIiGqY08hL0%+eKPszRT#JT?(+Ol7Erru -zY^|qXQ`kikTf>eQ*n@}on6fUd;c+@A%WQw>hX=;Z)jDAf{U6NLfxujSVb8g`YdP#| -zPZOtON`x^exx1EH9;bgG^XJcyW^8guSXAl_p1z*q7&`hKfsUq6(`7iT9+OAO9dbk$ -z5{>V)I*Ubj&T6QEc~}_8JbPy>+Flc_SyZDlJU!p(#zL82I~wf4n=&DNL*^0btB$r8 -zE8AQ1C0McIY_Rt@OterF4SxD;z -z9+$q$UZ39u-?;MCLF=ym6)z51L@k_{-{r1+ZP03C8+X@|&Cgl+I+pnWX|3!IZ%zFv -z&GRsmPrWJjQ|TUw-6MJU{SrH7I=6vp3=I~Bt*2n28tEIhnnGzwj#NfhLRm&!bB^K@ -z%3@T(se28qi}im}Eo%z3(wx<3t(!K1kJM6c@8{>Xbx`i!bZ!eFQlot`o!bt96NDZ~ -zOKPC(QDu%LBG)cv)uS3twDv6Gr^@zc^Ucuer&B(kwDy90geH2-_?(B6+GKH!^f54s -zE9=oI(}i8)Db3ZosHIjyHd;r_;VKSfS=HTgxYHtKdsBbjgu6p6zOG}wA06zi>-M>% -zuZnthq^Co9XN{XPT4m1YFlWO2>%%M+;d5r2m@|%n;E#(z=z9+dkJ9iK06!6jc5*3c -zfC&ur%PMg;8MYBx2H@EY&jKL{TPqZ3E&3t}TcCfBx$VoTEfABioG&o9a~XYEh*f+q -zZ-V+4=-ju=Ka=5UX#vVpo0rkKi(4(>%5x;_Rdkkm+qIXEOFs?LFP|Vi)`@GlpKg-` -zuRkx(+^W|zbK -zj6i>jW;DFUHZHK?PFNK~@U)Y!gPklB#%njrSI!Wt^RV9WT=6h`XKCEHQ7gQo_W$+k -z`U79LwCd|L)~b2$L%K_*^A!f)=O~wl;f@Zo=tqRMzY^|Za-&)Q*{=v_*NIH -z&S~Yz)pWs!Ueh6b!~3eR8KNsh`u?hO-K*1u?}+fd7wc)kTAA3#YLIvDUSalGbpfCL -zKYRSA@6&Ih6vU8&Jn9G2g+29tiv-`;Z=tPz-MBbDMYA7rM_ii}J7V7;4kTiH2;6^^ -z*{Z->;dR0IdRT{lKshs5Mb{f+(_*bK>sC22lBoVRza1^5WU|iEOg#}^#LS4kb67Py($ -z%}|^$G5C5u1@b$I>VNhC*IN!2Am_ed&Xbwjzh};ao&*YW9f5Z;D&_wgN3ee_+h5PS -zhzndOTEm4E08Bu$zg8)`0^Y#b%73fkJpbr%p2Pi+#=ab`67n1`9!E;~1>RTP#bd_SHu4OVk0klv3?`(4!q2d^Z7H3F_q2EUc1!h~7_oRP -zK_1Ix{tWK3KV1H_MSN`-`Wdd>vDMap(7I1qFy@l_nd`N0;o2Xr4{M&^Y<`BYNqcrW -zmlqVx)mGX5LvK4Co&mmM_TAjYqFJa -zxbhQ$Lb+}d-56FuOv8cj)HmfI?bE4mT9gukF?0TR1V2KvPK;7CHZFG -zms4V2o58U$hm9jD^9inxH{O6TZc -zVy*wq4B;y#a7*2633~gzPOkMN8$$_yQ5W6OY%!{sAyd3xOUI`P*X;9tRgUE}$j7x6prj?_dbNhlGimnM6Bl}*?# -z63Ilk?M{IqN&;H&-UW5u1fQk9;2K!3XY<^WWlZAtR8QG7FqWYs53)w6%|9?Ir`n^U -zRZP^8$*$!s&*tU5POh7}Gk>^e=aNzM#TngAVs5)gb45IVpzJpA{Bd=0v?TK|#Im${ -z$SHQBCUE?MypE&dZe>C~ZgQPPd1SBdS}SKlaAucV*+}9Wu0KbHyr7jFcQ(Om#8=%c?2g| -z$KZ*e&T%MzTHULzd6Ly5PXVrNTEwq~@hke?lCcr(fi!p0@s>MzomD=p-5K0agf~h? -zm%~x~Ho)~PYF+;3v+yQbFJ8jj2KcT?kmF?jT^kNVj^f|>E>XL*(h$L1%GtN_NARAo -zU(9zicQ2?<<2p<4mOhZf29qQ8OpcmNjwRUo@Viid1Ce$Kb1nWoeBNyI=1m3jq6g3=1B6Vafq{e-f<6}X$dHN+CPC%8wusTPzWNf?h&Vao`^L!;Bk -zYcl(PgG@Y)PJ5j>ll!o5&~D{+Ikw_#@-fXzhVC$0)93{HCazz&y6OH32BX}dXS?_+ -zrioRI%z4)J(I_COtCl8!kde8^ynAA+KEz(uOskRDH&_= -z7kcFL-4XP6Gfu}}4SD$}t%6r{^Ap}uDcN`B -zx3P3|D(paM=VI0x1)4F#fjudT&#q;y5$-oXm;4L9Y4&f8IX*8pQ=D@yZxMPijtoTj -zrp>}%cw{E$h6E>Bwu*_8RfKU?gt=b9cI<=v<^|3U=!1!Sg`GV*f|g5qb{ac6;dAzZMX7YX0(V;!; -z9r<+>EyvNLP?P_%+~%WUwBOKW=$Wv8e_yz+%NTG}FI5Xrr(>$^T?19Az6Yt?7Pva} -zxqQoVv?1OT=jp$!N<4Fkt(a+fwt>gMY32Z!foRi<9Lqi3Eez(HQmNDSEBe_Rq1@n>yeod@9HyEa)Wz( -ztn8yd2E*-Gq6=)r<7bNVHMe^Tv6WrNS%~u;@=sVL<0jZ4W6bS>8s?ye_Vrye;10g6 -zu-I8_AmU^+QeJjJzAIF(R`|JplV=KF<`0|wxieGDosL#9cj{WI=g!eEcm50J&Szlm -zKpDpVj!L`Au~r4I5Mxwn^gWnjUq@gw;y0Z!(~EhO70=x4(H3G{lm?&6XY1>HUo?q* -zX(soXdtVCUw3)`R;+=_9uP?Mf9_Ll%vETnF5Ai*SeIE6Hzh{4k&r#iB -zUi=jNu5&-dV+6T{qmf6G%>;f=AyF6bquw@CoIM40Y-N1!fbm@yz!O9~K5h@=rLe!> -z74+q}bS9S_(fR=^WtPt(uXa37)8ToF`F8cV@f0ZE{w|)8XdWJfJE32%8>wEwnRr9h -zOjJD#Xl%17fi}aKa)gI}XqLR$USj5R#0dP5nB%W7cApX{}W=Gi%`-ezuyDPJ*3(`UkBjOMNJ_l(~zc -zj`r`6LtT6_tVX9;>#|l?lGCB?oKHT1^UL7LUy%L#vw0O%m72LaF{iI -z*;bcJ9ARc3k+-8vXQK*_-h_KdFy~ns&l%qxGw%1T?OeZq6mxN@aPfix753E=pp5mr -zjDZQiFY{GwD?DHGmibkld+?m#dGws!bpmUpvoxmS_9i^`bGzr~=+N0Z%J%VWZ!jju -z2+Z1>JglA{`F7q9NvCd&ZITAz|D}hpF9haixK+&0&sNRP+E!t^@Pa3UF58boJ&K9X -zR{3u%_iYz{J_obc?G57I{`W@-Zy)&_^;Zz5@NGY?;npgdy@(+67` -zz%*x2ep{|?TVt+crM@Th|+sWgrUTc(1#R)~&aP!#~YF0DADP{_e+6t6&pe!PyfcNwhFiIQpiv&Sw^(R{QO8y` -zZ?T5$vq@exY@g%#y+{(BI%P-FDCZpIT&rMz&Ri!#`z)Mu#d+n(R*o4nY=4={Mq!se -z7iP+*dxh6fy~1~rtM=tP3FodK@-W!M+{pZz+fS8@NAl7*TdcqQjz23KFXw}MHpO`H -z=D2Ho$*Sz_v;4hX@G|RLxlX1smQm^;)43Eq5cW%>KP~fS$#C;li_@=Og7goY#XO3C -z`Mb#Td3ldLrQY}BITgzL2Kn)9^2Xr!z1-n5T7vl%ungk!D<|d`#(ba3{kL&`DZZ^x -zN*NIL6)?X7Rvs|FB=SN2Z>|OBzSS^VrB1Y{LFtzHzN1bidm5Rdn>-0~=`os1)71J1 -zj`b5Mk~>+bBEHe@r8T)Va1u?RB{J%NtoxWL7uRjFD*EgOVfm(%vNcXNcreBY=5WhYHuT_4%39lo6{Q6Y9 -zj`Hg-;B|~&kKuI^eSHRZ9fj{sa5pvZVfpo>Q%|eWGJ9#4JIYO|+7+uA8@UPvF_#!~EHQ -z!80>bwioBW>OC7}hgtk;`0lNL7WzB$@;+NtUUOvlo~=;c!b+ae)(FZ`-JgBQ;%^*} -z5@?NIpN7{uzutn^Vf}Lbo(++e4sliYz}&TubW$W!cs5@{vR~9w{4Re9tC!HfQ(|eU -zBGp1K`&uc}P|M7EOjYCiaiJ&v;pB;rk}u>vq^Y_jZAVlJo*&E&kGJ@Lf_H{Lmu%$F -z=4xx~Z0RhCT_RQDUe}6#Imx2|BlgF1hU>BeQD0%VdwB1Xy^Y6rwLfpUHgZpwb=d)I -z)J%rk86&S-(WiaEa*Z>{x36Sej{KZ)ns@h?JYN&x`$(1`Y{=R(T+c1e(x}%ulQd1G -z?EbS54-mDiW#b_@VYpdbM^5nk`RXF&?9P09sAO-U9Md6x{L*lhb_K1Pxcv>5w;&^Q -z)D;=TSukUJ0`U<0h+8^`=I$JZoDyD5WgdSNNqd6*|~&VQ8nCAS&o@v@uq -zp_bzGFT%J*aKGr-vYb0c^1}9uB-wg78S0WwKDM1vak_NdSyzi+4l!f -zy?7r*=`<@SGg_75I$Goh`5G7nUh~UVg)0;>4ffps1;4lK0-% -zaU;2}T0*1gA^ysxY-_K;)Z;iQA2DuUQk2fKit_nZQTeKccC`=9F<4!Ix2@FY&8qrf -z9w%lvUay<|8tf-;2lP!?7xq6uLz^rttL15OTyx|wn|<_+3WrDZ)L7B9y% -zlYKmYex1JKYgP3Z{kSDFv5)_)NzuOvUoMMnd_a-6i<`a1^0-N5};PbU4f -z43~2jTduLp7L!5QOPA;S+v`Zjz)?fb$#9!ap^XXoQf3wMzaDyN=B(<7(6a*Zw;LiU -z8P|3^NjFN4jvD$9^0G4eV`cPGR(AR{&ZUfh$~ea|&!W~Y38z`Ks;Uja{0X6EeY$6V -z-{sp4^!oNgmq8sr6WB+>Rr^Tze|aC-EcOwyGTy|{SK%M|FyrVugXJ47I`P-JW7k^l -zy6db4=n`{=shy;iVDy>c%w*Fj*|koXxnt0Nc4pRQ=5EB6oG}Y>2|HmO?yrUWwUDcS -z6pn|ZUfhBm@SRtTlWFLcuM2MrTADEabrDvv)8t?0+i5cXJjDjQEBv~XnP-2Z~@uH(5tp>^aTXwwUDu3TOj%P8}oqOeV&PQ3-cnMSteX!FI$)~0DNvUNVP -zH?T&nT-eJw_Q9yWNcXX+y-y*;9b7DaUOA=8ftt?V_E?4I3iSz{lEu6R$WCj2NW&btRQUP; -zchN}PMa8!99~pr&`hT-Fxn=C>>9aPmiPs|$`w#n|rj6U@;m(J%3`dsgjVx1kpx;MX -zYlEwF^X20S4Aq=)(V3~54v7QZQ -zFX2`iB{zFH#=`M55`XF}1n_*`>kI|7VV;f4ztr>#i#9iVk;QXz)L!7UW6qGUjOr*E -zZ(!akwtY?wlm_)S{B%ftr8B5YrZl07)f&SZjpJ=f*|x65P<~v0{-)>4DoG#K{6OO4 -z7yBgJ#$yPN-*b8@d(M9>M=w`NwZpLI2=7mK-DRH5lzYNe7GL??^;gps>T?=U4hP(W -zL)Qvj;|!VPUC)8*$#hMaM$_GO7g>m>Qp&FGk)RrdRsE0f%p -zsSBV5a3>zKr{@QM7^XBQ$HTSZCcQOm!rgH`e|fq;uI~wZdR_xc3E&^;9-sFKXv;&; -z_jOfTL+NpZ)^6Vmsvmhu@`QvPhf{lK$I%GK_-)vU-|6Nye~~us)wwcmS{=DGa|dx` -zzT;T}R-Sg`EbrNS!b;G$U6ef(1*yPojefpc>WfR_Y(Ct7#$#)Z_eXZvf2Kbf_~-hQ -zLSTjkY%$ep)f1-8bW7xQb}^-$XYkDua@#+l^AyR*m6T-kh?IZyQ(pQnjSeMvE~~Q{}b*XWvSYI7{BtqqSpQD)k0Eu{*~T;YLZs+5i?XCyv7-z=o}bXY4bIs -zVJ^X1yJelRbs@_1H{ZtZ5iO|(`OfS;&QL9kX;@25^iU#;BX7mEf6@Ij!Xv!{)7F&i -zyPcmBK3xrPqY3psmK!=4POKM79m+iBel^#XC#B>mQM|`D -zQ&P)bDfz}8abH2F64;U0E12J?%rPS|M~oken2|j9mPv>i*-U9TW+YytcLky@A|gMc -zEplZ3&685fxecZ4k2xKBnxqx|y#9QJeao}M=6#uy`0Ue-%6xfzwvdHiPUAe{oyUKF -z3~hKoKvt{!QgJvdt`hUkUCqa{#N1Iap4}s0$59a3Z8%aM`dm->%uH*^I10{~QHtf0 -zrI<9_PwNPxZtfUW`Do9&-e_lN4~i$y&8KsEn&l%nN6HNo#lAI(mw$zPkH7BW*K&J- -zU$%+(Lls-jrhNp)$)p~%J-g5<5d%;+SUB9k!jVb7v?A==#6^H7zSJ^PB&EEZODX#$w;Y_0uhM)> -z$0CukeIA~Q#)2dC9U7rM(hwV!h7*X_%_C6l&8l;$wg4TK`1#eF2MZ*jyX;GUOH(6h -z`EP3Qtns1hoi*TpJPSSLU3sSthTc|ahmm$D<~@TPq`#>t`LE=M)l5$aHK3|SZ+7yU -z?DA{f!)|A0js7rC_pXQRHvj09 -zW2d4&Oy#=-hq$7QW26>N9Pp>rGEoaG-yOS(w9hzBpw45L1@4NUyUHql?lSnh8vd?? -zzise$Dg0ezjhu3U#cN8ts}iVn$W+79Bo>w%n69nYu7KUOrxxa2Ew_4qhB|~wb_@JE -zNknz}8jKyzWwo)TyIX53{q%OYx}Uf#_jC4mS?SOV1NCK$30ygz~?XaU1srh*yD5yS9WcbaqU~p -zMm0Y3$eUt6o`%qS3*T7KaOjv};mW9@r7)fbi;Ho6H9cC~qg`o#W$J1XEf-IWT1r1} -zU*tD8khcZN3AC+H!|Pj@vsSHEO=~Z!X`RnzSjEGO!#I1lFn51mI{N=3*R_S_vrf{s -zcQPBuo&$4WBy&Z1=O?MZRVGU>$2LlL#MXE|yC|JK7~1zd#Ou5~IL9frFvdgYd&E_j -z39qKWS&;5k5$DE#Y$z?iYgW69JJp~xP5LbGR_EuZQUtTrh;OYp%A_hwxIJ@xljm5t -zU_rty8F$V?tH@iif0WVC=MyRQf&n}a48a%P)zwLFyg_eNPOFTNgr`%_tjk_A>qG@H -zw7*GbRVX8dXCq9kW-;K6~j4&&x$wrb1H^& -ziqozn|EbZ~^T3&Xse3liGRkP|#YFLjORegh&xf3UVU>^RW+uw}+V%UoHipQYL47Nx -zw;5{bxStTpEKwiQ1oNp4eM6)WJITWemf3EZy(^O+5AtANhB=idoyy+8CjEIX$o4H!F}-v*i(+U+H%+M8IQBXUCY-& -zl3)*iUEXzrOS0l$)p@>|$P-=;+uxFO+Te}v+nE3#>Y}ed|HWXcpWfz`}hF(f^^rKG+e^>TA -z`EQ%W<99YngT}Wl@=b@|CJFc7CMk%86Y<}F**S}295hO(&;Dj0wU7@>6nR;s|4CK) -zOFlNeh@W%cEbfQeCc#Q4az6s+u%PsOT;F9W!>B(6hj%C^B-^YCZeVyRnO^-`| -zPlx&=W^z>fq*cyJJ+9`S$a}j=Q^MsQYH6^pCzQm|Uei;iQD57GF}6yE+=Kf|apOhS -zDBB3LqP~ZZqQ(WtVU3h8uuNvQk1ajE$1#Nb7j=iP&Eheg8R~vas8? -zjZ58(dOr@sUcF14DZf`GQ;Exhev=i9 -z37nWM{8tLC!lrvI+H{-WgLUGjDxAD2ep>EJCsQeCKX0?~X{XH=7=7>h@vwGhxVLtV -zh+-|L*b0htEwg$VBgpW0S#9%w1g)a`j>{A4zW>-Pbl)=_fggzUZ3`2m(-^e3TW<4? -z0MbT99xK{rsgOe%JFK8hKvsZaX1%7@k}f(XP8- -zJbci`s_-x7%@%g^)Ay;yzt~ZAu0;${Zl5sU5%viprfKJFE;Duu-zQ&x_A#S0o6F|h -z!p&BNFK=oS$W}d4Eo;dh5gnC29X}W{88fDO*1m4vEwJ9?JRiijJ&8fi{~ZMNT|;A_ -z!{M_36@loB_!S!UOb=Xl!!?|rM}I(ge;gf=ERumwZx;5*3P!JgN{8MKyK8T=%7s67 -zyY21~KZN= -z<5z8HP1*?DVVi?d^@6itPkGT^Brj?u-S4edkmnhlEzYc5?}xnYw0-`y@9%9^G4Vs- -za&EVZ$vdnub`;Kk45gUZ8Myv|l~#BwDy*2eOY|X}VE#;fSyi4^J -zZC_ma0}D^88c7J@oZP$*tK1(R@4(oyU3el!ifz88I&z$i%C}n6q}SAvopDSWGZKx} -zOlKwTXo{UNiN_u-8AIejhNDLl5l6K&f0j*h3dlBdb9s%aRBM3@LFe3m+`)@DI)I|UsE)*4bjKa+B-oFl)~p})=Qm`x!%QQT(^>vUQ((( -z3~***J}U7(uy4%faWtUc;Y2jou{+)A@QuybBG-0V3a-tJtY3Em_cVelknKG$e5cD8 -z5O%FN=CAhFo=W{tvxhvJNwL{fYNOfIMkq~rN|B_0UX)C+jWBAb$v+P-l615h_3M06 -zmmJV3E%Nm=rv&Iyd**TP>)?F!mnpcHsto;v>pWicX5=pd@tkTYvQjPW9~A9DLVsj# -zZSbsyn1?Ctx0*v*)a|(9>D+>=&x?KZ_3m~ZeU@d!A(!<~DstgeL`WR7&(CZji@mRR -zuZC5B^1|-(SSFH^Z%HHNJff^-B-ghu>$V{;Gi**Vqdj`9IB)4=g?afc*YQ%Cb<~82 -zv^_esjm~ud_+(p1JW0jAHn&HwgQs^*LRy(p!+gS&F=?ColOGA+7JZ$)xoaJ*oZE2a -z)NjAg(PQxDD=^a*ICH$(kI5;yWv}XzxwfHySr;+hFya&HpWJ)=++~bUQHx)Z9da<` -zZ}3j?bP>!69|*nsjAo|CRy@(&IID&tNPISe5&QOref5)0Ek*BhC~{LRwR?`G!#g4+ -ze~&cpCxMb*^S*Y1hm_0l-}t{>6*UF(gj-@&*#D=@BLN3B8ZxKXDjU~#aO6WIeJ{U?q)OZ2PC5*@m!tK6^*y1P@O%fZhY=@IFVbeO$ltBiL{JXFkwkCC -z@i~*|>UjD(<4m~AOez^S;=9H*$n!+-v=V__dm?x$xdCVyjiv@fFY}`wIMkSEF2A8S+sJoBit#VzI*KQHiNu3w1=%7%4zX#=o -z5|K5mj?GJ?5QE%7X7CF)QzXQjDi?m -zB68{?HlHEJTae>p5n)etai$OMw+Qxvdoy^`f5;9aW~rd -z)>M3B&)UWPU->y^rS#(f#=>5%;QtHGczfyQIXq5snoZJD(slZ%d{n%DoIRk;0N%J{ -zF9z;%RBD5^Ueab%`TAj={CxD&3=8-fw9XN6$p71m<2uTI0_)bjv@1?yNoe^2D;$(SYx<(8~U(=rQbW -zPj199D3;9;y5QHm`0O}4!d0j|ANZ&|91lEBvolQ52G=k%(P_h6kndxib_{-DZrHjX -zhcK>;8L51j#X=2#+V0(GdCFslUO3fEn<2D02v4sGr`Rnt`!*?29t&2EOL0Yv&BNz# -zKMBM}EA=Y0+BGqZnpVn=^(N$~l#nAV*9<(1Y{PF2;ZLIVP9_Sx3%miNv)77%0YbYLInw?wUVN|?( -z7D4}A2mQCU7qRhw3gcyc?;M!JgzX%XVb4LI;d&KInWIEQ9TspSg-d$x&hb1;#ul`Z -zsHul_>dSB+(;C7O`({)Qw}-T-_iivfUT@1hn69}V_^}1yiXTm5riQiFFeYp#PM^bh -z&rx=jAa5WF{+ -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 -zKBh2^>Eoc>3n|9lJ1}BR -zGiPfQ5s -zeM`sP06E37eH)G=ike$C?!bOkGBJwR3F|ed-bK`Ug>##q)&!R+*1>N;J?4{t35=V1 -zZ^TF#N7%GSfR<+Mu+n@5#!7t^77cG_I9)gMcCMVJ(^7SGLfoY*>+WU$vb-)R@6!Lc -zJh28`GoNGkQ+a(s+bAf1aVak`7b$1I?$}Cw5c$p_MN!Zli -z^ly~c87UVocI<(w@%nrX##&!u%QPBLqM?%8>DH=mI|a4^Dd -z#=^Bw71m&|JUgmh$ph-U6IT!wZT$C?O>~fK;v$kwyy5%XV48=ap6LK4q2lkxp}>AA -zq&9C_#l)YjqV*T6n0(tx%k!bl&UE_W$y-*Pzh^x;-{T?e?|b_dKZ7G3+h#<1r^;Ve -z(2LT$Rlab;Q2#K0?QgewamD|VXRH#}?^$neDjDzhDui5dR71)BE1V)r#zi44F -z?u?rjacADP1UDj{eR$}e&qQCoJYU2ktn_7dU!bnC&hHJ2pzH -z-Zf@3cj#@5UD?$@XpFazZC)yLvm&n1ZZG%@e-(zvq?s4o)V|FrQ5Ek+R(j`g(tnCQdKfVVo^!6fdeZ3)n%4L@PFAVMZLy8qs$6DZ78uCcV -za~e#gT)59^?l?wb$%EnO!Rc=|mHwa=NpsE69iojq<>RQC}Ad^ydQWYswI?&|Kx+flQ=wy`cM8E -zc=A(!J)y+>Cw~h(`Ftdy)c8;S5qP4*lUo1DNA%rN3#)!ia0v -zCEfPAq_FCC$SXFUbUWfi%MyP>`f}jbxvfG-$kAaue@!B}Yh4oUD{!T7Ga{1gGmK4h -zbMd4@*2FIAU8LYpr@n%J!2FAxd8;=>tygG5du`W3=J?_!@ -zpABu?OLgd_et4MrK}&KQ;T=lFMp#d#qz41{VYt69a36*H`vdnexPKsUUjz5QP%1XY -zk)*&cf5UpUWqB;q6uZE;`~1`rVY!-b!1ruAH~gX(ZF9qqBiURJJIU_B -z{)S{{a}!YaVs5{YTq4U7mxc|dYm+->3=Y&MceISa|AYNz66(8q1b-oSd>i(m#YXZe -zNtV!Je7ih2U?#_gzMV+dJbS;cI?a -zmfQZib|N`uoHCn7;!GsD*K<7+apVura=ezZy$k)SY0d`Q8g`(NyKh}GvsZNwoCm#B -zwtq{f;RP7qz8zZB?6RZqhQzpk7`|5@f5Ir#K}|@#=bwZTrMQohrvah3h6UiiHP46S -zm@JQhj9;#LU!IURv5sb8vy_leg;$)FcDwy3d?M=+n1Ovqu@f08~a -zS~Q^r(lkQMh9u`#HCjKvkmZ;#&xJyS9wNbh_8Z5@1!Y)Uvs_*`XeX0{&GpGH1Mzau -zdhr?P^^Cd$){|!)lVl(|A;>WHl`Qv#a#tBiiu0BpO_SVZI4<%t8(4G0Gnyv19C=c-*=$aj -zA)F_DGwC_a#F1qU$>MS&Ik+5VucXmEK0R2MG?Ci~{AOZay`=5U+Z!q=f1nQ9$a4Hb -z;oox;eBak-Pr>)@V`E=3}ngxzKP_vknBbV4ey -z4gee<2xAbCb&!>Jn0XTs>ZeeB0RPcbARV=xXC`iVZJqnJ04K -za$wH}1lsMOsx`sbb4|$dF;iffY5#0xF#VMQc!ADDatV_>T?G2lhe%WUKV2V$JmASJ -z_p>V7zjJb=HGYv!$7yL{1ox(PX1-I-KJVnD%9!|_x32O!zsNazfBSvMptBmkPs{v$ -zSu)?k_Z7JkpXlW*mtSI;1LWsQ@4#0klH$F7^2TYdlC8gy<@U~^+|amkLxjT$c_=&& -zg(5cPSe+khjInnikEPxob_ncYll?uc3HGp7pw56jZ1SFaSpSryI{p+^!49D3 -zMu0xpKh@jSrdD>ff2Z8VldE>Msot)J^ufNSBqEUDIc&RRDr1FH+h(*6E^eazt_k)# -zv8F2R7V%^$c5-jfl48W%E4eb!oGe)gWwmG+Zl3rzE$_J4`HfCL3H0tq$$zjzX?2 -z`F2<(o1c*+xuqUf$(H8nraI<+J2Ti$&v|={HYJOzp%+$DFVHN<%w*sql^yYIY0LAct@CE`>Ese>^qi@z3fA5ee(F9O_d`J~wZZ -zjG~SWKboS`#8fu;sGS^q97dR8vqWeb>#|iUrM7eBW2q#UevDw6M;nuzj=m&yXm?_E -z$-k#)G4sgx7tT4Ic(Qo0m$1CL;>l4B=ky0?*Qc+u-)!3tey8c*Q_a6}41^3u9MG|6 -z%(nc=f3QN&GEeS2Im2+xMBBlqqWbP7kx10Nh@X>2$lo7UtPPozmquHnX}WtPf4-c2 -z-@@!EO_!w4Nk>UP&uG#HX-h_t&XkVo*s_ETJ`JNI5|P|zVBB2ab=@N7{ubtcEEd7} -zA7k!a{FHVe*c#$)@CaT0|R- -z@u!G)*nHRa+pzS^y}2#WpUSDw;=E5kKag3F&|&vHv!1z6Vh>){i>RS*I|tMMpMrJu -z&(0#2X&nvg@brb=Gbo}^l8uHVRHyw}H1s^|3>c*&p~NZI;}ZPcOid!R52vgT=7y_S -ze;aGs9kln_+|K#Eu3UtU!SsxOZjH?(n!mFu*M-5amRX){DU -zrYAX86JG}|Xy<1kaZbZC^{!rxEbzOe`7i_f*tzM1vVxu4QL-QFZGd{@`|;e~HK20& -z+Z*F|?e`l5%E0e?xeYMc67rp!Y+Diir(V-&ZD#CJsKf0tw#7cM8oWn-8|frsf5YI~ -zhdb%05=o{)D6x3d$%RbiU|CW)9ZtvUV_~AJW)kQs(o^bd4IZtfk`_+R>MF&fcU96J -zCujqev~a3cJLh@y;Y!-Q1?`ARS~#(*SBX4Mtfc+6M@y(-R-s?EuxCDX7f>f9hF2H65Uy -z>r-0-)SFucb$Wo>I!{n%1gMAm)R_V5r+sQ`fV#@3W&+gJKD8}C9rdZR0@U}jf;u}u -zo!2g?bAs*QQ|AV#F-K761xMdPL7g8Q?>;pfpbjk()b;@NMW31rP+#_`9Rccxdkbo3 -zfZ9dL?+LIa9~eEyi@A22Emjtr^Q6($l9(?M)2z!I+yVjoF1Be}h{|gppDzoY0fa -z4Q-m8G=Ohw@^s6X*Q$3N_l8`-mbEZz2bZk -zn`>?|=-0iw-STuD*dzxyzRo<6c{rf8%oZG#iSP?R|O-%Gbj%g=gF@wx^xToQmfBWW6MGjL}OIp6)T5 -z4Em5xf%iT^?-d7xob{33kJp42&5q=-IXCIZQ&`0kW0dhIb7;3`3%flJubXT#6DBctFFFkmNpik-%x)ZYh&;4_pW?z^0G371w=~fS?bKS%8 -z9G8`+*<#W?e2NNVm -zakKj*T{Z-~{|L32+Ya~jLrFKcFzKdmiBFS{ij=aGdkh)py#aa0=>1hWu45=ly~&lb -zlPs$HB#YX@-GOf(+M{^B%#|^14j>9lvx0e!%2E>hrkU~jGtUnuNBlI# -zHP{-fgTEfK5gh+*1MqDH__lrF+xANq^~K4N@Dlj8zU0bi|G01CZ5pRZa)P2 -zXDNKwbiZHr%=43w=fRNYvgAtb5UBf7KTlzQ@Z$v6x0H;w9*JU1SLWeqIf1!+{UTxC -zJ(TpcK#4(rFB1ARiE%s2$qa4h!t5-ZC+NFcf0Kl}Nif&>C^T5Q_U~HRcocd$UH9K` -z^*EgK({X+kXYM`NtE-?sHAbW1J~)(YjB(n^9`eX+2r*sG)TLoumW?S3a6PjZnDoC) -z(M^kgxg}mQ_F90Fk3#6lghZV|1N;XGrVzFO~>hQjq43v1A(rq1*azbTkOJo*ql!u)RPNg4>ZZ>%b9tb`;bs{ -z95@AI?V2pK9d9yPNzbTwzLBTHsQUqpAD#We8&~(yJdLv7cyhgW=(nEf-X5j0f3swE -zhRjZrPu&`OQi7X*NV*rV?GYGzP8CLjYr|LDNB0y+8Xo5NLu+~pYwNscpMqy7Sxhju -zWhgnyaMd`mXMpZDuPSBBu)43y{-jrhHNKR6v1h4<2*#tz49m1i*_V27Ug@5O{dp*V -zC6#}$hNdglB -zh_xsr4=n^O2GHV?Ca9p*R#ECwYl~Zp+Pc;%+FGc^y3p38Ra>iVRV*%`*1A@$`>y$& -zbMCuuWEd!(~r=-Zu` -z9zjnzKtBa-76?@Xd<&Ufe?q_%jP(TsO9Am*Se3gV1Y`XW^gAkY90oZefn4BR4>AtS -z3Fy;UZM4FJ%r8^g^syrCX&zJrye!QjbU&>q3Z5n6yLEiu8P%jAba>Fc7e-4nhZMzT -zieAOm8V^D_qSj-e)>7DB$M-`�tt}>P^v-19Cz?=sRfhT=DNJA`5#=SkHC_O) -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 -z`Yzy@7uJ^XWHYz&`}r&U{ruB3;cr*sdElGx -zg1SrOL!$1Ha-qKh54@;$Pab%ICSkJ^Wc^Vgy?iiQ3-o4rE){as!k1<3{>A9+z8l)zGfKM;8o|3y -z8^OB^d5PFpkyjY&`}*negUgWHs+l@Gfkd7 -zpW{f~PJ@kU6aJtQ>;WkQF95yACTNShf6jF9^rBX)MNb=5%iy`EYXj_MDF1M0UktqZ -z#Oi^<`#HM}a|n3|{AG_!wM2)7ykUFL@puU|F-Cxkn+!cq?bpoxA*Of0%(! -z>FI3Ri&0+_bwU|yF+sy;)6U(b% -zjI3K&n`^N!-<|4G_)Ffk)LNxcf8}0GXwK?MD;Mio2z4CCnCIyx0^jEppn|^x{q21_ -z_tV=eD78~Lj77+_#FfN -zK8*NdSh=VDJbYLm>(f0SD(l)LU43R!?DMo!05_1CT~Xqr?ldo-c>7T<*`3y-3Q{pb -zho5=!6x_dz5*g_^e)$h{e@huDl#uy^WTHjc=l9z7#8sF4m$>SXQE=6w5x6Qp0$0iX -z=7(*1aDKL}v;o7i^) -z`#z661*4~+huR9lI{p5vl0?5(w12=K$#a~xJGYOoJjzeb-hT8yt` -zt<|ubmDwNvfAA&AM_=x>P3W$_?CpUGMZg*CXI#{Vey^V(S!`8F%$PT1ey=YIb8V3y -zIn<}#T0XiPd|zH^zS^O848r4LKzyAp+gx4lwm>{ -zfyd`g3W&&J#cwt_rM^G(=>n$}{S%jZ0TF(#k)NBfUzrz>*yT=N^<_?<^FzP_-y~1( -z{pzzZT(>REJG)f-)#qba&5E9^e>LDirGKO}^k<5&e+^_cjR9^Lp5CUh -zt-X~hepBkZ=DoO#ntNG#Axr4(gnJg!b1}vQ)_|UKim(!%Aa(by-9vZJ*o)u5%ygN4 -zPOj81#%GR{FJDFS<&Z~DOrI|GLWE|e$$FMw<;3~$aE{e5clotW&x&iD^{uGqk#Wz1dfMcM1IULSzbR}s1235iV!oc$S2-I7 -zw+5HMuVu^~&GDg?B)7~6av=GQCK0!L4D-?f0;f23blwbQfdN{5d*!T8+sNOnq73-Cr*`kmw} -zKv)WHYguyPj~(>0(b^nkt%~YdkS2J1oU~;n+Z12x4_A&2D=SSa$(CAvzU^#Le~xs* -zxsq49vP{0TxkIL3RhIspaWehtvh>43GX0ve^ygb-`i~t+AL1GCG8p^62wl0Ul0Li< -z)>V+9oWfG@3FkxDE3?9M>wM;Jy>YbpFiX?Dw17yvlhRPWI(*tCL9XJ`%$|s6@d}bpB{$&j_`xMN;cw00lAH0j -zdT_}W{Iv#`{2YHHgG+vfzk$IeH{!20xa4~HwZ~URMzo7h3V -zGjB$IWmBGxOv2-#Y#&a& -z2$fj;o3XDLuls-8tDpn -zx29yhqt3!l9J?xu-pVuAEh+&S5tV5 -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 -zamhhH0$5!=bF>&G#c{%uf6FnxZAwG& -z{I@zbYWr3^QQp2i+~hV#=ne|ML+?T#21|UQ2yFtDEt&Qkr?2gH@+qN{ -z57_Z}l;W%}EY1ARNof;|L2L08jrC3YwUc7Yf=EdUs&0H9<-O|{4Ia8Zm#Oc|-0P(D -zzTjZym$^2huk9XqIxIMtf4nc(#`@asE_=Gq$p#WMhJXe1XLOxsb%T89ZeZycMwLnE -zz0IXDkx0K>)0R|KrpI -z;yXOc3^R-!nKo(HP2QW!uykNq{dR};6oA_d%W5Wb8}RKtf4LZ~M`)kw(G)0ARB|e; -z!7{o+>i%|;oCeq6alU=nDc(Amz~zi$wB`T^rV4{IfQ -zI~V6h*V`G)e@a>PKg(p*KMF~`orgTyLtK}7>paE2Lb(1l!u9u$dPcsQ{mBvM{o-u= -zik#5dF2)d*XX6h$%T9g(u)W|%0o$MOM<*6wg(W9FP~U)PQLXh%;1JokhLzePPVL;Pb6B{CV4!6E?*YIQo75 -zgX3CQ9%`=@qcAJJj4bTM%~siV`0il*PFrqeop8Ol7L^hZX{1bX_J;@B#`m|w?l<@cl3kK&JU&*={VHnWxKA<2zo -zfp4x+{S)NOwvB{QDPnOQb5DnUC8y80in-r@*x7OCFwiJl+V2og50*Yvhv`K2_BF|0 -zf3#nQ`(4TT+UA*~ov)=rLLwzj`6j>{;OmR$f#C+y_PL$)oc9pLNw^)-M8u!lsie*R -z8R2Lp3HcSy|K~7PXj3pjlXw)Poe2+2CR<#g@>}Q$v&HgsIWicNwSI6X -z6lV_&^uCvyX1N8JJ?P~^=FWZC@xC)Ke`OV`KM~`w@rGw~m1A@~%&{hUbNh+n4(1#! -zZ7NtoKWOr3QCEdlhgb_mA0=Wfbi-e?RjQ`7u$1%|v463=XTxMj?eQR6yc~Pg%G~9E -zU6OBSH!^qiA4x6~1X$@={gAW%LXxmrVWm09lw1(#s5wAKX<1WayETn(XtW(%f8S>v -z>K^s5ETwkHP*pXbi9YEdJ^gcb)xi_d0_CB6c((8_jy?RJyBCbqXR -zFLVqfZmDBv9|`qW!+2{k9$&cQB3u6N&SEQM)TVR;j2*iuKod -za!pZx6Ja;3e+JZ#Jo^MwTF-^pf8s%G$xP-Bit&Q={`EgfSv2eUI*ivfacJZA*>co2 -zH0@M?N4T~bww4?~lRXzkPqz;lSo~h@?0$C*K!i>Zu>{+FA#+cLQCuTNaY}b*2u3l3 -zqjo58^K~S&kifw8#hdB23WN>`Y7GU?`_0(8cWKErFRhdx3eR -zN7WLT4f|K4Q_tJR25^N3g_eCOa-AnotXxeQ3ivEOCJfJ&j?x2xkj4Q?(oLe@T~5tqU0Z?OtG*@Lhv~ -zH6BkjN?q2Qp}r4^CN2Q|`U&~ppW;QTdp%x^EH~Ln@bRV?M;IsV<}nGqttMf77EhRe -zk0%0;1`@%}35ig(F)1W0H&(+a!~l{TSYK#0%vKB*SOf11VN6TAx=o$LNY~QZ2gd}~ -z|#r;IMznjwSOaq@3n#^&X@`-I)H=AQ}ZB9T{fBJ)s&i6wBvv_JVFA@yMQ<<9m -z#ofGUkaR?!@=sH!HJ>fyZfll_-6`E8{l -z)BjqQe;)DWe}DGnZgk$47qTQ_fk113ogC_eTsB(*WiNqpq`x`L|72e9iz2_xFy|8c -zFU~GSHFJQy5i2gS|LVutLAZN9FZ8Yx?1_45Z}==~tg<*1X{&82o|pW!eFj=s=|VRU -zE${mEN1geauC1SQXBVxd*X(uckH53op7CSGf6WbMr73j1aeQ8dI_{u275xAwdLH5A -zF((F{Y_MT%5Z%36dBka`O2JB*2su~tN1c>%1mqqDetxyG!x8a4fX-GQapu4*^=nwa -zrVJL0e6pM7>n%B7I2a$+F}8E~H1_x5;mYUX`UhMu!1W?rFTwRPT(1rfvrmVIXT2is -ze=9$O`+vgkYjC{|*BfyC3$8cedJC?%;rbl%yaT`Q!u1|p@5A*0Tpz;q5nLa`^$A=k -zL--IT^&_}GhDrRWjuAhE_~K(2n~x#=6MT;`4e{CAAI6aXUh$86y!Tj7mwp_{v>DmP -z)e^16$j9j?=&$HBu|7Y6x<17^;U(&$euf)mi6IqjW{)?pLzfQU?@;wXBuol>Jw4P35&%^Z(`mPSv*evz}+&=-oFT(FjaKV~^ -zvS&e=b?gYN4lvtaD7&N{eeLH$_wX;5b!)K>?;v!Kp8 -zXv=BvJPX=^<(~%MS3>$MXv-{U3zl&jv;*5Pi@inP53A3?^-sw67R=2{kp4ELzYM?7 -zHx6*20$iv77wYceVe=Wd06x^WM8Eml@Xhm3FTjfmWtmWx32>vrcP79Af7DqA_0>Un -z!z#d!`k8<;^B%VgxCh!n1X_-c8880T)Q%rt>)jV` -z#v7qfBx(f0p->Z8R6e}fBKt{dsXaRyKJvA -zJ-w_C^1|O@iUGFGuzbPj*LFC_56*~>XFCn!!^^mC?5G-seSznZQW9E{^AwHelprf& -z=>?EtPE0?)^@!V?9gByV9ltGJ{>_#{h6>a7(NwJzS_8M6bu|<-e}-ARK8vBYdJs4$+>KVj@3Wi-Ze0YsKme(gX+2GBr>=Z>naTBS -zM`0U;bQ0-Ypm0rTS4!z-&O}dXN}dr%wxxX;dYsCWorZ!fNdJxZq<6%1&hG3@|E5#< -z0(&B;1U3bEaNBCH3{U53UN96CdPJBWg!EjfhDw9BhGsMYe=lWWP56X0{ZzgSZoQCd -zdZdE9-{ZK9YnSmUMvhB}cIcqLL-T2EYMS=w9P|K3NRCRs082o$zX5wCtjT^8_DbE< -z?_IS1$h(i&;?fwoVT=y>;g5B$ZCH%0S<2Gy(oX(FCvZnk1hv4mj0fY&F#G-NyOSG& -znCCL@>`LgyH?>PYxPPLJHWPN6Et*|b$&0qupE04gl;Dre6#2w^wIp7GS>jJuzL#tF -zaig5hD*eu&?*u1qm&A_1v)R$)-kSq{tciSS?1z?i8T(kr1IE&|H%nH&W^v24zFv@UG{S(f%n6Oq7{(l;!PscZ)uR76!Pdam; -z&`PCvK94Y5L2($LKzmq4cu{}Sv8(2wH!8(`v(nFtXV#XNcLzJ2`FV#ZuO>XR6!X7! -za4|oWZTb1Tius36tMuD>WkAG2=&>k&5-qx28}culqbNY>N*We@W13#RA!{;4Bd_$% -zz$jiwyYQ!&*MF**n|Ts=ziHJlDj~b-wyvI*C!AaBmoz`&9H=v`O5O9^`AC|pF*H{@ -z%WUVm+lBv9Njryt5&`ZCMzwf$Hy`qhCm37TF3;{_JjB|p7)d}>sdE%S`363rWrM=W -z_t$I1Sni$A#=LUm8DOb3_O5PejeSMY`kJBqKw*6iPk%W@zTrujUtxdUl$YaFI*t`| -z7SxEb6lgwE>}XhL}%n<(#jzOSR*&Kj#ZEo}GiL;VkKD<~^pW8IIM -zAKZ-9secy(Uim!VOV);O45t;dzK&lU%yK-J|1`gdEI9r4v`c>yEptVC`q}5sK=SAL -zBw6#rOzB@sUX-u*W6+DM*PG`QTTSa_60Mh~f%C-(C+Fp*4$E@324gxe=B|0g71c`!F`zL0|p~#b2egRm8=qzfOwqvsX5EcAX;TPIx%_*D%_?iMi9+n!+df -zu76dfI@BK>6Z6(~evh?%QhT+xwp&Wp_HnSbb9=09O&@)2f1_QVbAG|cyNc%{x1M4e -z)v;ve*dThmu2YW#dHqm=p2^L&0ORQ8$e(yzy=l!QU(Q5Uq*#*;r=U7#!KK<1xmONr>{tG!OQ -zjRC833Q9QBA@bGE7LqO~%4lu9N{{NOg91DJ+`-J_jh5c%@o^~U=gQ{rOAO8<=RKT0N&3@a&ceti{(9?ez`+9zVhx -z_5XeB_z&oNCDid8aSVNhzxzH2a+f1aypTVgg#x)inAttHYR|ECbGbRR&bU0! -z%Hr>S@mYzlzv$y@iN7uhNm^tcdfcVc7{u6L3l1g^fHh>onv?kYjJ?p|SNe2#cNr}b -z^ZX&NU@w;8gSXm+4YnM6g?}ZJ4+1tH&+3#1VK#r>fvbW%paYL}Qrg#&tW3~}!0}#6 -zfY}Pd#t#qz32sH7KJoF**Aj01ORxvr&}0dJ4`XFaU`YoIL*Av7_xX5&Zvig!H&fD=wK>S%g5=pRccjGu9 -z9gim`=<8P_U%z2ir}c#fk~epB1J2&s(ZbS^lma8H3U9xth4Qt+CHea93eN_Id>eHL -zcpqZF?hvDKO9$-`sH?CjET4@ThtMpxR4N13FEK@LS%q)K{eO&A#kboiW!i}{rQ8p= -zfVU-kz}t~8NOQt -z$^8k(-2W7wYdm<45Ipzumz_HPm*7zH&JOIw|5MN{WbL?mmvsnynPP(k-wO%8 -zUm^HDPQtf}@QtUa1mEfq`&Eb7En#;^VZ_8m`D9GsQGeciG=J5D{jo&*-4dR3Rd|w| -zyOkaCtZHK(X|>xsga+s%UPSf2UYam_X;(do -z*(O8fE>;mn!kure~e?n+H}_nF-~hxiS~* -z$kig}qOzRJR=(j>sR;!~qF7%2g?OsRXTyqHgSp(JUURU#u?3kcp&ypZ0gaGQoI>%- -zgV}iH0o^MfsFeL#{ROREb6^z*&7_?%vdT=B<$u#y9nTnRtYXZ++f$-hmx -zfaq9^Z1sTd_P^$!|3AfRXW#PIohsIHZkX*126_4w^uCGXeJE=*-LGQazfC!bMa(+$ -z0ln`i$ZL{+&cIh_R#1~E!Qbidcru>j&~lzA6nV62R==^eP(^3FS<_^GIcjN5^*hc!r{hhBN9mP#~K^j4h=0}x=CqzB$(jUGaFhlO%-WsB$Q$&LV8;# -z_O}M=+TDbAW8toICf+6B?q4aq8wYpO3c~u*G}jtOESWM}K&% -za#i?h;8U(Hk^kQL(&&2{>Wql=6@){=$*S2%siWqkK8acHlnB656*k8#reBC_7+YgfuhEYe?oM -z|ChR#KU5VW%SwJUt?UF@Orixpa(~f0)X2-9#F=M-@apdHL7T(-?BP55CDb+XM=P_*$}voToyB>dNR5}$s+_(G+mtB)(=tJ2R&dhLDM+cfWs*E(d3!t=VN41CBs7AYyRd`a8LO{p>_ -zZwNJokeiCh6vfO`d1v{gf5`tFuJvR@IInMa2$@uhokZ(*fY$GOPJe=}$P8K66ZL}D -z_(Rr>Q;|=$EtJ2YpTTq){!B-BG94Pv0qd%%bi>3$Lx_i(wWFaw6`r0!(35f0m+0uE -zeI1>RKAnMc_bIdseV->((QovVA=Vmt0{dmt|CF~FN*lwru{-JXOyBhh_A7pmR^YdWXkX -z?*J%!=>H~PZFfqV{w<*CKPsW=Yxm%*F3kVi|KIV}4V{v={yMGsb+qO` -zAlmzD|Ax2z@Za#(>CSTA`ft6th8E5_B4uF3xS$GW6(mw882vmt#sAG>ouNtZZ3^)uW$p8a7^4EXrKrh381}+=u -zZ52jY6EJ{QT}W@YxTSuf=XA>W=Bs^Nkl@ozr1$s;*f^k5$g_r6Zi?W|U`~00uN^B_ -zL)Nn<{<%Kd_kWB2>+k<+jQ0JK|N8rT-ze)L;&U)e}My@h{pM>q){X -zC_mH)zY3`(r13ib0Iavu5hp4G$t&7%Jzn2#vGl70)+z1C+g52(&V3xz^`(-!bf`;6 -zMj1&)k-Ee>bgCmxb?Baq^2I>E`dqA~MPs%NI}T7auYZwz6l!`YrPmsGK01_KwGYzg -z7=gfH|4!;z$6pK#Sl^va5!|5^hoxVy(j^W%yHog^9<Cgtd%e)b%sG?!?1RQcau)G2(04qE4XdubR-cm?wJ_$5@q+wYXTeF5Ii -zEqnXjl7F`!z}u5b-uA;THeh|NEahM5<+~&$1(b@|c}n|sRi}{cqKut;l955{Y@{23 -zf*iEYp}Q)7&saEF?im;4NBZSHD>OPCfMYAt&&Ug%iQ;*fS$3{s+bD;U=VjM-O1ZJ_ -zd4%t0pOjiVc~r^6z-`^1&UjP_8>M`?pV(zGo_|AY4 -zWCAP7lJ4jfvf;hUlK#KDe@R+F`Y-5bpO*2+C)LUr2=Z(z#V!vHBrm2te=s=~uu^IK -zhkyHFEXI}ON4~kG$D1F;H`79WieLYjQn~G((2SBLxaiM_DtFN{X>q(W?NC4QeYSJ2U*&p4#Wib`t=Wn)-6fI>DB@i`%%H%k -zF;+aUVeC<#&e{8UjY&H(V^4axEoWG4mw%xvb^$##b9Ec+q(EQ7I=ze}Qz`yuJ)szh -z!Q@}aXOfhWz1%6!7{%ERz}Ui8RcHO`ag`W>;n+%q*@410n?#Hr86)$}PD$&_?{aFa -zG$6*%K3C4A9(z^pgy!578%!WSJfMy6kzm%94g^R;49dr*(#CnYqw=;OzoLXW6a -zo_!6)nJk_^4|hsgbTQAd`MuE1p>n!e_3-1K{Ql{*)_+WE{j;)ljQTpIeUxX0`pjxp -z*b7gC^3tpGEk18k#X -z5+B&G#(x3$=Pyb#a*{whn9%bxgM*o^`3#qQrS6p#DH((NjM3-$jBzskXa2s2|1PqH -zep@nmW{{-v%9%koHSD<7u+yqYYNx2T7FsHOtqlX7xzX2KlX1wBGld^o8GkQD^>OelJTM+VZPLiE -z6vpQmNkL9}j5LhukL3(nJ2%tX`P{b=!94rU+*3!x++XTwOh%t@_OR0z!|;pp -zj0n$q#2L}I0Oq#S8Icw*!hbuy7h`@xlk|o#GDgN|X(rhz0>1)nnnZ27vs1{W1l6~$ -z$sj5E_Dq -z;a_LKTH7ROkrSIRPd`7l67Ny|Faz;XPrBO6qhLCDt7ak(=BM>D8-LbMOA#mB#w4Co -z<6d-Vl9&??Fk?VF3?(;DRfw9?Je`bL(4Lhv&KqEyZ>4eO@f4d2wEKQd_@uy-h{4O) -zc#b=sio3aj-qr`KW#j=yQ0*pSfjCBTMsI`)Q7;MQdvP(63FXEdzO$6^T=;Jg@9To{ -z{SE$mv*dmAIQjl2?|*%Q-<(S*o4uzY%iLG&ylTn%!1z$5up05~=@-tFF?yCZ%lKPj -zXF~s#cjV7zk-$(gplu>dxqxNEi4nWiRV)$Gy}Kbx2YeL?i6?LG3L(!FVxcgsI-~8@ -zeMrC4(|fpz_pdW9n#w${5JYWl`O6VkRbuQti?lt@O&`tC%YV+5#|H;P|QZ9_fQ) -zD$`NB;H9ZqqJJ5VC7R(lpzlv>!t*o@%KSQEdc%Xy6K0m{z34=}3vWyc{U+FVX*bbJ -z=Ev>Q<1z~DeliNIr?qC+qi2tyo@=M-v5;P=7x&wfXG*;nxtI1c)DPS9e?r3}hd9o=WWv-p;+1Cyx|CC2gqcnD?IBz<;UDDEL2M3e)hQF^|?kzPV)&TIbs{CBG%d-nAmozhGME+v(mu -z{=J!kw|_3`K@BAT3KW9W7OUcJ#*7PZBPd}nC=snrONG$me?MDUnNa>RR`4V#1y}mf -z>DkPzPmdQ|m>j#2Pq;g3#L=AF?VV)`E}Nqrd{mxGtG9)xZw`N9cR0O=?6aQ*;-!4W -zWiy4nWQv_b`{jMKUmCDWw>JzV|Bx5fyMcJ|EPsTtD`pD64+-|Y?xH_4jrGlq#BHmA -z9~#0_URzzDa5bU)ZZ>M_P2#w+Hg*f#+1C}0V?I2C6}g(aP?n9k`np0;dnDb^BIMhS -zf@x;FfkA$r3Za%@H -zl7CRYdSInEH^F&Yu4K(HybZo2v+ykyg>VLdQxVpsGS=&(tSD$}V!d0>LrEs-q&Q3j?MXd(QB;p`OIhXG9Dqq=1Vh$>;%28M48)c$Az!D -z21Ve=F7gd3=)jOypQMrT``6(6WPgcV&Hy;I;&?(dhGBn2DX0_d_Eu5Zuqvw2OTYpH -zd;HI|s#O853{yNEQGVU1yud0p+xm%d`{$zYWwni)N<*W(Rew(4&}u*cOxp -zsST|HVq1vs2mq7|9jkhTRe$pGeTeVnyErenzUVyAsw|VOjHEZ>z%9L-FW2v{nKg0@ -z2a_L=20e};>fk5+F_eD%Cd?8xKj`1piRaK;WU*}Fv6i0Sp>O+aC+@;k%d3>4U%xnw -zM}kiSI)t}d -zC3YSNiLH?D@DkclAHfwZgfCsS+)hN|$0F^D?-#+$_p0Sy;xH%vmPUWPGTp-x`eIew -zc@ZRZ%t?N7li63bzqhf$g4V7q0;)h4GQMvU9NLQ#%29JshL~K0^Q3#RF%S&}uh?4K#Eont -z>~~M;x)L*hI{#qCi6J&W!1VK1w`>9)R@aBq@4{bh*YI;UhVv2fM%u{)|zP0tucK13$l4ZNV#;&4=^SDVcQHS@%b6}_r-pWJjM&2 -ztb%xqMXS@ws&o+Z@>BV_>C5>?=}T?mBfT@W`EuW|+J8sx8z-$EeNEo*xJ(bW3%Q0u -zYjFVP;#gX5H%-E|6$a@00DaH^Tz-A7IQQO^=}Z#{iWHKx@wTgP~C -zs5809lMoCfj|2D%DJ`>M?+jOkM|;;gJIuV&m{%H4hexLD1nzdLg{`=QMZ!bYihatJ|wsy29lt$lDBg(*fzVAAOo~_@X|Z^&>)M`P=Ly{>&8AQf;VS -zAL5hRoGC0|*fb`GczUG$0hsNenC(q0YoaaGx_|W9@HP?HKysV2*#cA3ah<216+6^H -z{tm?_C5*~W+iY_j)*l!bcZ2nD^rtmsJqR?`P$AsD$&CcE0o3iI5?(P+n$bK7aNr{3 -zM)f*K%?6-vf)A(JJ-6`lBHn7-V+5~IDqmp@2rI}HO`fijh>2^_TVe>bMr -zla$3Je0_rSsvBs?HG~%OpkjyYuzjo@U1wY|H9&S@xq!)Xy3YFf_;?l10(a9e1M`}I -zI{@O3w!`LGd_Lwkh&snH7-C1Et(BJ5A%AxV<_4M|YFF4_ivek3_F?WY=~9;Drq!*L -ztnL{tq&ZeyrQtbbLV05xVo+h%RZsI$7hF-H!24a)Mi(14%7y5k1ij -zd;8YlkQM6?JJBcY9M+!I!Abf^QGYA>`l>aV+c35$_fjbO>uv2x6(dQnt+dslaOK)qkUXF~n|5 -zX_nskt}RKu7C2kB8d`RlczL!jx{kZt&}UhxxqF5KGb_h$vIZQKgSBP -zRB(bZm^@_4xhxeB`a=O&Nxzs9q@C=5PO+1%Nj@?Kqg-(w1Nx{fc^d680kmd_ZEZnJ -zoyM8d7Ui&Hi<};#qU!=__D;R`$(hc`{8s+ -ziwE$_b6I0>Pa5_z;eXG9a7;rP4LYtMd5>vxCGR0l>n4`vOBTdBY_T1dO#U#4@m=eb -z9|qmjq_}HMqBW>UZFSW~uE~~mXxxh>BG${Kvh`wk5HP7Ab#0`L`G7SGS0i(~CecY3 -zr<1O{fwGCzD3-YKGE3Z;fvZ_WtLvE3#_Slh2q5H@VYIT28Glt=_zW{WUSU7qW}30- -zep{aNeAgkg8mxFmRzHMZ;~LmJ)dZ-SjrC{={n>h4GcLo{7GRy^^bkwwUx07^3_Zb< -ztOD%od1FmdZE6$VOn3J!pHw!^Unxi&`0_5#-@w*kAs{Z2*{X@7&Q4Y}7&o!T6NIeQp5(nac! -zd%@Jhnh~}&Hii9;Wh+D(6)a@r3@RfIWx)Nd48Ps48Pm5g{O<5(#25J84fHI^tzzZ2 -zIXmd@Bx#ouHFscMC?}eWLf)vz8>L*Y)8DC-H_9Rv{n4X<6RDwy@l&B~$HM#Xq<2Fp -ziHfs`Hh+DcB`Sbsa5qkUy*X5ot1t-z?qH#4CFJ?Bf^CL305=O*%xq$Ijqv4ZK8|OX -zcp7eh((((8_KPQ-I-QQ64t0l&wtmTlegYANnzvb1Aec3@Z(|b`y -zg;z#&>+a49i^Yun*iN%z*bdkS*r9dCB~u|!w14H-_(dgLsVK~Mg`lZlXN}QHUX15; -zRzaK<^)na=E=B@lTu-Nw&`1wYj0A8r$-&G%?Y#hz$%QGxA3=tZgLEnPPK?lAWf)7y -z(_W?1^?s!>KA73BeKx&&V;KENr8H=rE?S44lZ6fkw(U}ATQi-fs^m-79>n@*ljd`2 -z{ePOQe>~P-qM-|^zJ@NCp#U3nB*7fK{NqKdTqYw0bX{Qm)mT@wIxieIzf_pP+ -z?xELP)Th8!x6r=*s}|ZHp1>T3`Fu5`?lg2hUk~X!O@D*W -zH$ukFfW~*^hS}|7=Lf^VgM&=lsRj5h`1V;<)pjfyX3qtK+N~GOSHtSTDhupXHNH#N -zD{pgld==gW0>-W1ny-iTgLV8;g?Gj*?^)%?r|+%5ZtJ9&(#h<2%c=}(abUy`kZqYC -zf_CUo|8%H7KHmr%2OC(5UabEoP=AMEXt%EL>es3MP^j{@#Qab=ba04i=QqJ$HC+p( -zsrYusb?^<>mH9l(foIWnauvT&pACgH?;CYzi1YLJIXKKXT%jRrI?6*rRiUCB`i+9n -z#}uB97igZRW56Ddw4>y3HOy0jA0*QmrVEZ}N?h98lD$hooWCa6Lo{z3N`HL361jKM -zHerH$2YTI$(}wW#aY5P)1QfaNK3+=;&*{E`JzG|o~02`GIr6cLL?CMHQ`bR^Z#u|$8%7(Wk|IS#A!-v_n`oE*+ -zL93dxVFpj+htS%Q8fMQbN`K9*w4aK;2D+-r50Ra0U=5)mb`x@G{5eI{V0Bj>z`0^8 -z3(=Q}_XcLU@&J{qcGW^?LP~}HC67r1b*eIthXOte$~+VGNP&k>=ohF}I?5UwxL>~V -zoT`tfk`zU?)rAUI{WqFkvrE(Pjb>NF8?EF`wf|<~h&Pu1X4;515r6;9oDpvV{u_71 -z8_j>Svh)qY&;h!l+iMo;TxnAy>;RpsF$G{`62OQ?UJBoPLRSMRz`28kW7Ae|sm=t> -zRTc4}=;Ll12Yida7R*`zJz3H$@$V5{4tbvFQe7gJ%+<^Y$au$jSZU47&^lm6{g7z} -zqy_R6(<#M%P^Ja4e}A_pL(g2E?$Q(5Geie;(en{zLR(z&ygpde5_yz#8>GI&pmrO6zQk?lsbrS=L_9Y>vMO1GZMF -zdHHzyMR~-qps+MO6u@u9s0i7GSEGt!(9G~}vP4gKhB7)m -zKIH4vbheB0TYnLMrl-rZr*OO5QNu9goi6l2`gix3mmEjU)*FHt{S#Z#2Y*xiI(VMb -zjym{v!~A(D1erstI -zSIb@+t*cEo-naqQ^J1VM`VEW%46tEr0=Rgr(O`{6)POZ+h(I?Y4!S|(e;${6z*$}L -z40U6CFu4W&mRkeKUsJp*&5OhM9S?VkG4AL40cYApYgw+B*7^Xhb{c1F1I43b+5g4c -zw}8i0ReuZbectm(=HyJe+lD@7CT%lq0VkPEn`CArucj#lnodrj(<#~(%0nS0Z7DB> -z4pa(irR7;3Dj>*1(G-LVsaQY+MO4H>tW*K7dhbO91RuXw&A-;(=ggc*)5^X7|J{CH -zGw1BR&wi}E_S$Q&y&m-6#|OCkvSU|FpM@OBDrInSvPiWHMc^^^F0|Q -zcYpEfD(d8m^Oox5(gru3!%TI~-!nMRr4i}!s{_YOC)3?Nj2xj4+y58(fbnHeHt{6% -z;S7(zT!Ua78N*p$%8eIlEdW~)fx}0#(h6cx|`6B*1d!rbuM1Sl}FxK{KGFO@?LB&2}1iDuEW}h$qoMqs6 -zt{_1JlAuF1Cb^sv?D`wO|*%vC&$BC=7e;lStkbdV-1JLpcelY>mt^~I)CyZW=@)(V5S30eBVCBxm!-GOPf-F%eGXt(4uwFVRG=G@rULa9? -zPgKa!a2#UKzd7TzUvS59E{x9`yBuL9VwWeGH;$v5zM3|(Y6mY6rgNa57|&o}E#N@S -zUb6*yJ!pOj_ibs=ygh>v&=_=}QITK`sZQL`HR}LNV6PkQYfrChLZ0)hFzfH~n=%p0 -zH5wN&OeeFgsC9b#A!z#wE`KwHGdK+s%fgu0^T{P7629MODXoA#v~xb$NH){Yr!C;# -zX4Ct9NINNT6^*j0^V^EI-CU+4x1#FYH^gbSoN{!{?3$FL(UwaUSdJB#a8beiqbZ9!UPdJT@nRo^dsekrtc&@>7ct~qP -z4{BfM9@tNpRFg@h6u!a`LNI?YZ@?>W#N7q(eQk=hkUlq$?i+5TR8P~n -zrIbcEWoG3Ntc*2G@PEZQ8Fm{*>^A!vPAok9b+fxeA -zl~yrqWlW*8m&(-n0g$Wub!n%FyCx!l$#7N+65*4)$lo)i`9qCJwO?AZYx9Mp-Wv49phx?lr7U$=T -z0vow64}TFRItduXJNHe)ncD8dyqpi#%kC<7#*D&6rGFWdtiOf)hU0JV%MOmXebOCl -z{}6g=nXkhxinx)Jp*Ky~8@y?^rPFxIVEeK28^SpqdNMT+fBV-jV#V5hovYy&ze+X) -z-1hat*>3wGYW*do`&=A>_CMv|h{17Gan9(UAokV@9934aU8+Kh1C6RGrB#eCdrC{ds~-qlj(iQfIDyIzWE -z$~9_R)5Ie$z&+==PFG*}EJwf1idfW=hF9L5>3@>Y;tBTwYQ}*JT984Rc8{X)$PzpX -zd&gknS~wYoh&%s3>2!6i&+2mh6Z3f|lx8X5y)_uQAw3Vqf&BA}NfJRUXar8!og -zcNJj4!ud;6dm3|dR8wZ#bPF+<29FY?tGi2d6(#S}=%pBtak -znDYVtx8~t5wy|#*$DGpv`!Ajh`)ib#E`R18X|?w@T2Lt;r&1Ri&TTZbEU1(Y&q$>% -zA`OP($Z?j=sO9+5pI8KZ(90o&mK=5ADs02wEa^In{HR>^&57&pFP-9?J`HIu{=0lI -z@fn9oS37&--=WMmOEfwNkS^2Yot`fn0b&f!T;h)JHlV9vz{njjM3ptfte3x)sVNhKw)z8pm!UJ1N-{o??8#_w0aS-=K}Sa2W$1LTpU*J -z)uaEu&%jyRvOAz{J1f@!X@3`vKD$rf_Q}+FCh4tGgUN6ENNyq2w6FO5ZE}Fb2T)@* -z{%-DAXyG_Wf3^6-(fwsvfD(-Vz}xz$3K$#A>PaH{u;{FEG##T3B9}+$>)ckr5IDk -z$6KT*bykNkofiF_7C%@ -zNEsgE{l)Z2#2<8P27k=g)5`A&-pHBKsz -zQ=BE5TS^;jzkfZwWQ(!^`sax}{8IFTMjl3;8L=1df&M+=(DLev^V$f%*Hq@%zZLXc -zBlg(<^K*bJJ{MrU`wD=sZiE8~vSYOQaX;)xtz^d!7yUpby8`||{FrcH9nT3u&RIN1 -z=Q(46fIl7#!xyLy;BSOHm8q{Mw8d -zdAwq8{x9A2e3V9wda2T?1;0jVNpiQ~xHaUqekZss4LNRrQ7Z*_0pwb>b>j|fX;Is^ -z4te!il7Fd8JiBtapV)T-m`b*@YXYC%0Nxs2TI;|sj`BnH=o+38iY$mT5*-f -z-)e;YI149wQ677Wwxzk|0^4@W$PIb?eQe~0TRp -z{9;U;r^=`5Rcxmcpu=|4!UYfK0&t=_CVvlq>GJq%j!ecsdI`e!{y>e-?dP;^*GJXM -zQO7eC><==x+aGNIO}d_nSUHGev%7_CRrCe*n}lp(6&sT!nuqpx46IP8o0y^m<;i?3u0k4u^Rs2HByoXkiCttMc?@_4yWQWy#kAF&) -zCs$&W!h1BTKDjQendBawYEKShJnMT5sy|tTzhs(!!1=fTzI~V?PxB|8fBWy-f9L45 -zd#Is|7N;2@=ih!TrH&S%1#NUCQ%@jw!22`9`&W)mvl@#vqtl8VPfXiZ#4*o+^${3YpP!6%< -ztQ8uS^O9&^btENXW>i|Ey6yLNi}QdLIYRp%ux`myx54kk39+H>Z;ALQrGGd%;uNlP -zJlGk1RcbHrcOoJC!PG0C7K=j=GNqDnPrJpRteRk@R~hLQ90Ckq_J -zGkEdL(N4s`g)-d{{|=m3ja26XV$H#pm%~10p9(FXwu-%ONZQL+?FW>SG*>TGXpKgr#4EnlX3O=&>(Y75AtnlkTNPm$aMXN}WAIXW)=)RHO -z{5jsyDBjUX^U1N}NPi22o*f%{SbJoo8*KiduGqX$Ts5+f{~KvL7=#EK$hrvZ;* -zHv?o-09nnay?oYwPD>RPHBKLy|ELe)tY{-s@+kpDqk^^?6wY0wmLdi&-i4O4wG{EM -zd6&l9jg$D`6iT7R1hEb(0Xd4KnM+7su2*Sl*c+@D=`*!|gWq0Fft@cwMUg!{7@s3m0E6qLT -zC9X|3DRF;{Jm^Cic$0#6WY2T|t^e=0Y^pQ9KX(h=OqbWJm3Y5nc;@x?J6I}#GOk^m -zYptn}t@gOFcttsieJ~|gH)b-QxPHg(bi7;ms((Y<;Pt*1RyxP<(|7R(=LUFdidmFe -zv_5rRopURTHw8Jhz?y6y*<+7%qV_7@0mk3PC=+$0;{^1TPMlr1Cca39@8{MvF&Qg&*JjOojDNwe6RQ%`3j -zXMfrQ(9W-7zWu(T#O91os`0u0&uW*5`&5|Oh*i^EtCB?uw@Rcf^mt-7!ifpE@?o+G -zxm~5u4ClsfI6ZYkeKWyEhhe{-O}tA8r)|0L)B@5CeA|5@`=8^ROs{*20dy=zH) -z{v_vN>%c|> -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 -zj7Wj0#0XAO(dI{>>=Y;qD?=q* -zqW-3PtEccAwwYY|d6D$W{AoN=G2p9GHI8+iL@>UYs0)1%TjR;XG~RzoH7_af4I}QM -zln>K`PU}>o3B5lq!|ywIPx3H)jlbW7dAH(C7yOWnL6&8uUYremqT^1_dFxJj8PjIC -zJrLh2O+1b;wrb7{{wv`IUI$W1JtQW^bKH*+*;BUbqw+r1f<0+ -z4~|K)bfRAypNSB-1~BzD*gLn8hu#snV@iNxybKjqhJK}?PIG_C8^$plA}0~M~p;`AFMUc5I(G@AU$ -zah33e9`T5zO4)y=**pq-;>QZFA{S^Ay^6#FVh#hGN%E5(;!A{^{xFA` -z4y&yMF@)0NT;g*0+HvJ+ufHwyM;nOjS;;FBuiLzR6-@8$Oevod%$u)O4>hTjD*6}m)2X6-_h -z@SnsA(#cHtT*W$n{~L$CC+1{KseI8jS#koghgLY! -zT(6#4rH0b|Ttms;cnbH9g8o?s+xImz)t2>>iZ%PDJ1xok!g!`?QCyEI$>{gXdP~KU -z-qI7*9@stBB5-BET*-a~RMs1Z?3iBRgQR?Rc1wSuPNZ%2!R*|Ko~EQhvlY$=At@%o -zswd*i?`k`WxJB-Ke|gE_{>2`Py7Qg;K=Y0Aa53L~j@(_yhvL0L?mN)#_L3319eQbg -z481{mBsV@{cjlPg)yHpIn#>wS&@0h%FTHYMal!|H#m#Aq>e|XJ;%bfp3-_Mjq<>v! -z`|f{qq-#Q*vZzyNv_`on^zxh)N_D;*JyJh!`hfj(>pZ7d#E>|=rZ0Y=n%w)8Ek~*+ -zaYq`XN&l-+y8XH8i2b?i1NFzP=cXgpbN7F%o_k6#|Md}ZLO -zzuxQ8wyp^=<8rKgRw!6~PK+1i#=i;QB%FWs!DW*R#OnBbd38VsvamPV?XWsJL>?sp -z30H~PWRbW8c^x^&4`f`e;?h^$v})FLtaM~v4V<2!@7LLmZl^?Marv~nPG9I1Jbihc -z&L;o8o?xnblX|3;TV7|s=`H!JIc$Cc&N{ojw9cT$BjBIz^#8qHA%`AVYde0|W)XjT -zE#6}cI`ZdQcpqT)`hFIcQ3{Kexsfi%GM7jSmjiR}Oh@XyOY1&#f=i$65`FeNx~|Hy -zT5?)R*VW)UL~S0;#YQqPWV5|+3W~sP)9=DpZX~ji#y$=~A2;ky(A_h#%fIj*}A4P+Sab!!W9q -zOo4P5bq9>PWHW6xVF?_ypp)%xhtG< -zey86nq1-Z$KP4X-*y>_cGjIm|Y&h}d%ub9h|AzHmQ)DV>N}%@nf(*_?kI(1o&H3zN -zKPz5`I^0n?K7}UYVS6i#^a}6%M(lvXG#sg-wUVEX$KMK(nD1~}edV|6Y}t~ -zb}5d_>synNZ=zJ1nYgawJ|`1ZLH%6z|s!_^hOeeS97?Njae -z_JK96#^u}8YS+6D^i+R^#+AZm?UalTCkp0+5&Cpr3qZ&IB|`A7%w#FOQy7}BUOS2xpw~jqI<1a{#5%3!U(JlaO&UUFp6v(Aj>fYM -z9F=D?96OgEFB7`02$_FriaV?NS~`rgCNw)t$M*kcQ1)V^d3U%g;aq10OTjEsP7N?6 -z*hXBtlEvs1s+t+&<7wF6?7R9IeOURf@>}%w#I21aVxY#YV#Fi%9c8Kj>D6gzDtrO! -z^;%lXQYaK=E@2C(ZGKZ%55u^bM(YdoOoaA@|6P> -zd}Y7q%zVy??tQ5(_{wU$CAFF8Gv1Q&v6*M3#eJ!3&v?}-LJoqnZAu~z8*pD#=tWTO -z2U&M`oeNJC@d*doZHIHqlx{Y&Qfd<1ulpCc&wHxlT|Bm?0ya-v2OG?QsF&MC?Nj5= -zLGO;R5?p`zc3)z0`SzVBx;6}FWV|u8FdnbTVXy|{nF`&78jP59`U2E1ZHl}jV!AwpMH$aB7aqVQk6 -zo_v%InZq2X*3-2>$3L>bkbu%fKDxlHNVn_r3{w-N -z5Y01-+*<>BVnk>D3W6bYHh1Ka6?QGz} -z&n0WwFj?osS^OxMEux0|7$M`sW&?jen|y@T({ubOJqSE|UK=u3FObN|64kjx^iSu) -z$i095m?y?cbLr4`p^rI^^Wk=fckIh^ui6GYtzoVYU*xG%WT5YKM=QV!Kb$Y(z;3;~ -zmL;38LSDmR;kC*-*4%}ug40w?>&IQd!~)VdktcQjIw{+;UA~FHY-W;xqt`HHx$x`nTIyibE3A)O -zo77kmt*6Z?E5^qFY3fdmO5LieIqzDxrb$kDy+_xjU9u+cG*o$bRntP<9%;sV8G1(i -zS6*2k>Q#%q^GsIb(GC8a66Sje)-5^kk}BX8;x@iW@8*_Z`x3X=<&?h}zc7D<{JQGnRVV(7zK68YdxAqcgdm!wF8?ThB0R?kP@ -z8GnOYADT_P-a1-67k8+s+}>iyqkCU}*tp+Fd-)rjyZhBJ=aEE>SMWI&)(JHwIe*u3 -zp?6hBYTI2ozcp8!RM(Rh=Ee!b?~s!@lNG{euxh>wztL!7LWo%)O>sbuW-pMtNUwX8T4U>^$`R(Y}94{$B$9|3! -z$!HMo1D>yPb<_~%A6b7cVwc(NxWhHI^LW{&-RXM0w7Z}+*wgLKd?^L`P!In*Ag5yu -zU~WnO9_pIn**AeNjIIH$56VUI{8!v+6eRfC$~%04&|w~2F8EB~6o*dde1N_2G?v>` -zV7bk!m^G!$3Dj^|3G%?3;G16Ln|%S2+q#P7iUqdET;wZD3=)6HhbqnJH^uxoU)}Mr -z<1K*L#nTx2IJ4y3wgTI!Dn4tTrC+Eg7gBEDKe8)NMV;^jf9-3$9^8Crv4nQTJNWY5?O2>2kECnzv~I6fZ_URz<7CO -zpN2voXzyRe{c0T*wlQH(?6kVt@TBolCivGC9NG3Gt%zwWe;>-bz&L*4Rd -zJE%Hx&eiY@(n7_7({JD#P0&L4X0>$=e5X0NZ$e&^$CgO-c-kq`J@ne%y&$CoJ0+n0zZPwBKjK`5oarjr6yl!<-jH|vV&r;Yf9i!EEL+8rN`SP&xv(Y7<0kv{ZTh$3RfcI0z1L7oICB^#aKh)( -zs|*7ukZO=_RjQ`v)0^~b;tS~pdK3LUJdKW3mHV=@I%p(+kNxNlNx|fwW|NW6!B@fL -z`C($;l6Uq+q`vk|(2L!x7(H1(lU{$7gfZ%mwZX|Uq+Ys;9+*!q9p~Q04`T076E#GI -zuNIt_4*|>el%OtTS=XjD -z8aFTvBPHNFlhCiK&@KM2w5wZuql{iHgl_T29l3z`=U?sWSD#m*M|0y&bOJN|NvO5sU@A -zs7WKD-jLY~6Mf)>{UrG|d==tfg<3=9{8y4&L$B$&ws%wN*X307lH~O4CFt41&@&l& -z)&@Om;XP}e(6gtpXHzsvQfHLf`OwIpFm4`*F{96Ck*)3%6mtXS( -zT)zC8VFWpJti79Rb@czY_^9xi0xQ}JK`*?f1H7gJyflE-Y?4~^{{?2seDa%rx~+v& -zH{SB5lZ1b%FzjsH`d$yyR?^(4kUesIYM87OslG5h3sN;m9g}}$f7~A?9b{1gC<5)_ -zrQ`31N#YELl4JDvF^_W(=K}QtswPW(?@j<6 -zZ6Zn1Oj2YKSxnG2a~)8)Gsu}_139at8*%wbuDt(ej=eOFs -zlB-YgBga-`OjUo!7ui#QCs))rprhSXA}JU>o=m9{e{ZpP9;YhaIA7X1CQ0MMmkst| -z=Si;bhCfiZWg*o;eQ8IsBSm8t9d7?xCK2^ZZ755VJ{b#1F0YAvB|f3|0@QbOVTHV- -zpzY^7u>{3`Oc!#6SAeJaDd%Yh*||`v%-0akw^s6)UcP_Ut4CLg>BjXI%H>Q)2LSIR -z+Atm;>_&}}L^2)^K$F!mS**At_p4l%?@45O*4>i~XRk&0d<6N`zE3b7<4PyccB}3u -zG2Qg%`i9t0;=XJHiT5%%qd=}K@~WJ?yD+bf!5S;)1)aP*Fz;9<>z+KnlXn~D&0@0Q -z$qP7nU%-DnlgU0$UbT~VH|7CH6(j%Q8%nV3TD^u4&z!pO*FEQo`5Y!M1MOJd{0SC4 -z(^4_&VLmm);#1(QJ*k8VwNt=H^ioYl?ec??YJ4mDXf5}f@qWH}2v2s(o4z`=X2wut -zUe+%85Oi@y+{Il0CxfpwkO@A0Fh9)ga4%-)4QGF_{kIv}5;3umQeb*7RCj=m6E`lK -z;@kmkz%$6uW@f$HBJ5d*F5s4STknVOtt_172R40@VVq`r(=g<8X0P=1UvvpZxoTMr -zzxG8JLZ9Bs7$jhDZ~dwvx2Yc@{TFOvjfSCSjQIr1H_DJM*OUHDm-4tM82h>fxJN9X -zQKx^B<~!ioFyvNa7O^kFagH-hm(j_Zjhjp7 -zEARU2k6gk`j~vQ{Rjz#tD-yd?^d4{TMk977jL>Y)N^qhr#zrG1A(PI1l=%7V55Ey6 -zzu^4VRASI+M3RmnsyvHqpJ#?(PiXN=4R`S(bSpC~E -zKYEc4`NpcM#|PU#*YNj)W5Mdb!`t77+fT`U=~aKQuIjXzEx{{jZ!qLPWCk;JzNvpR -zTFuS$P%tQue69YOdH(wE75y>&lj@jJ{WojDQ2Uh)fB8)DKc`LkyQ3p<`;;mE&9pr` -z9cH2UncMwS{Hy(&m^H1}A2JRZ{`MAQHgKUQXLS;QoQ%e_mp}c?Lsq0c^8L8*yl~PXftA_hLXl`rJ0Vc&mja5*0 -zRTbIxK>Y(T|H*#M7>w*`xR-E?r`Nr0Io}vr;F<=_PvbLi2r8BwkN-JF-}K>{+XW?g -zd@kP%y~Wo{a{3nLj(=o(@xn%*KBLZ`pPBYGliT$fIv<};ugdu5!B}DZHTZvRRZWWz -zFxgk7xBBWJ{Zb~bGgaq_L<$Qa(?=qOXbi -zC~|%cSV6Pmj{kf|2jsJ;V~=uAdUfCl8UE~-9okDvvQ|#VGMwQi&7Lq61 -zYd*#I8pYFBZkrPM_e_%`f%_DzCLf6J`hVcX+_H*?2g82E_)Az{v;pjTYkGhd9uuE@CNd2}ml -zrFa+O@+z?M$RB)l^zG?l-Wn$1U9NC=m;ai;yIfJhyJ(KT0h}*9o3z3S$&y2|XnVTT -zb}ez{P_^DkqEra_b~$h_{n>;aQmf=b{Z`f>L$74$l_Gz7)y4h%1|7Z%*L0o7rUzjt -zVDwd3JxBw#GRqWqC|5Ay6RThqSxovrKy7l_CV0D?RXg{_f{vIa7*(OSOioP-(ISfj -zXNbQIT!!i1H3ue{>#0Ya>kpJhj*dTGUNdK2$%f5PiJ#Y?SE>UCao6-)U#{^=W=TT> -zzHEE6#_@m4?BdfLUbh5z5^YC(nu_?ODC9usPJcw*f?F0ZTRuzU%cg%jyH -zlk@MNch-QFty}}2uUG>rR{R4kozcRokpSYH-Nn8!^Ueowlwx;oO@CI;^ -z3QborJj)jvKhIaSLJEtwu^1J6c?T&pZf7yY=g0UILy4QRwR)j>2c-Pnhck>^&QSZ> -zti7esd<|>SbP_!?3s}D<@!1KqU`h#(E$EX8yD9AE(e0eaprimfXyt;x4YZmFy*7Vw -zhA~U}VFueov;52{Phj{YoEcSi}LmVAU+>$jV^yFFYl@&ueu?DbC -zjPY7N#t}2$cP-KhPf4G1zmG6M|4H`NGEBnsHL}QTAivPbaR;gHJ4mUz$NYsx;7RlC -z0J*uib2%KOW_3A*mW7plo=Oak6JJn!x3pVobM^xknjNF-ms -zi{}{mKNPF>aF4}>5 -zO+6IL{UamR>P%iwDiXr)$wq(k@6PuM|DJ1wylXWt>fllx}J<{~!&e}<5*q}pEj8sF3ULX*(ZTO2xi%mg}mO9dUR;<2>_9laIlXy69Y7Q7DV -zXdu`|K2M@|E;2uhbTr86=q~6Xy%c_-hja_TAa~u3oH9NIqqncWf#rX0xS0*-?umCj -zp1b~LHd3F5zquQ3WP9f1;qS=8J;#njcS^F7yYW^wk_&6ZOsfKo^0MNOX~meg8{`??*5 -zUdrbaI}E*)&mn&U;V&}leZ;4bBFVLc&XuGv$;zvV&7l9V%v+D72d+Ke>0Gh3zy~Y1pMkfXMCT`j0oy@lGK<({pglwU6vNc?j;EOB^ -z95=N?3f7IXNUh1QW#P;_vSDQXo-^XlBzs`@XYln@$TxrgjoVJy)A9M&86OGw23Hrd -zTXtI-Z|CbUhvt`<&>C(aAr+(V0Bj`z+X#oXz(=IUapxR)EVuts;apEh66X-`^J3}O -z;U(~6@Ew$ptJN^Kr$l_j{kH&f8KeINlzlaDA%*Cj%%W?eUt|TCYX=h}ce6snZLCm# -z2hiBN*qVR2_W+lCQWmup3-w=Sx#V7W|8Q33?_XfmTt8TI_>U^i2i9kG5>)iH`Y^qM -zUa#M?MVpyD{QRpru_`0{^efJkh`orjGfQ|_$MFxn(co$8jSS-b?J)Cj27?~rN|4c7 -zRxU*Efb$Oi#k$J!P{twQw)vq6Yr)Rl!My8X*j#^}XaRELhpLo9^8>_*sRWVi`O;QnS3(sM*x$Ile`VL2rOm^VR@%5dd -z#IeBHxHMmJXuiPZq4wjl=yg!oN2`v^#o&MUMnB`4l0$vRXQTYSPw3R+nwjM}bFVS) -z=lj9~rG4Q+R+w@hD_CD;`S91+n%b|k82L}%(7=prq^n?lgH=zurW&0!r8?SM*nh5@ -znm~Lw27bT6*A&oM30Gi*AhcQ(!2IT~@>Qkas!|FtLk;|IHK{4Bsi_VxD)y%3oTq<- -zwN(5nUrT7O2rG=m{HXms*#4P@wNbxpy`St-$(k$fhnlP;O7zz@^->MaK_R>|l3L+> -zWJN`ahADCjeSO^O2ulXxrK31*`^vAf+_tZ=flq&(+1u~q{Oe54zkY+cYw;DMycU}{ -zEx`GFE8ImY?=Eq!t+fc{dHno;F1de~SrPC1SA+~y7JTD -zb%gtdMR};zSs#n}x5+z_ma;;Yl(1}&dt@SSOF~MmNHNPPb41EC@=RhI*+Hzv6+qEN -zedv?6Y`2DOSsZ6FS@gjtyeR`+G)I`#o;SbA>PVedFdt@RU+9R3!oSK0_XdB99?%Vs -z>;&aN{X-A2%eW2K>WvREgnNB`3}y0js>nfAG42MG-8O*HBpvDb`!%xPqn~T@*tGRz -zF2E1%uGiC3Lc@_Ulo|l6uk@cw_Aunnt}`0zh(T-_39pm -zTJtB#s>D4}{g`w6&sCRvrXef{E!#S{ycNPyg1rL99)Ym~Z1NF=<1tzxf^ZCpFF72C -z;dkVhW2E{Y7EM+4k^YAsV%z3m+t#8UP1O!89Vfj;unME6?A^XZ*K~ht9;UzHQ;Y+* -zjFT~c747v0{RbX^{QH;qG~ZpC?h6|c^2`-at+yC2t1Bi(Vi_~4B&f?M*Y(uK9;(te -z6op3{9)q2)R}FH_vc2{ag(`PZNm;$;AvRW3rNl>4Z_Oa<0q$@%qGJ-YTLt|(G*0>- -zhCZkGSEnygNmaPYAkTli^i=<9NT3s^UBq?yCJRlHZUd&(l+K8P)}T#Di<|;l -z)FdBEtoA0ko}jfsQbyai_ksWD$r2u^;>`*PymbVb)4VLooMQ63@MSCP1vPR^eg~dY -z&hvZl+{K@Td{f+6Tobe=-H(Ml(AAMx=lCTO5x_gMO|(+}D0F{LkuKC!$PfdiHHf@D -zV#`OESarl%bpl`9GlCcAf_!g&grOw|=QpDGoSIKbWgF#n9wrf|mDXw43fh+7mj&~Y -zN!K~l*S=^zu5(wn0{1CguQ{@p(?R& -zC2HIwsnWLCj@W-rS*N|SA~!YRuFluoAFSGtB4Po$GQtmYJ0X7O&F?LeBPHpQ}X60&a5IF -za4+m767X=0Yr^0&dTR?)lcdZbjQ`J2%L>5JUP+Sk(q4bS@R$T=dvk6Uy~!Ak-Z+k{ -zztnjNs`SRHtWJvD;&P)W`q3`b5x -zo|)h+&T8N-(T48QCpo*c -zZr=>gov>a4&boy&%sctWUM48@qs--TT%DjG?=ye)&Kmx1Sj7F4fus2Ac!;?3kLBu0 -z^#ONF>*4%gh&~1!Q9k-O@VU)loh*`7lCS?3zY`L+40s=OIN!aJ^YDgey(3IV&Q5Ka -z1@o?IcE@8Z*ZD1$>w27xG#!Y+-T=Jo2#+eGYGaZ-p6`5|9cUVdcPfo(8jb(Dxu$TWaa^KLZ@3MXn!24C?{aV%Q#Vhne_MZ{anXGpHN@_+EK=&AV%ypPlK~vKpAaE -zZ4lMNOX7F^?N7its4t5;x(L-G>F?afux5<*YgWM2EWuRV1CFxQk?+9&eenMYI8T1t -zIV-xdz>`b;fWB^I3iP#eG_o2}`qzGkjqZP34S)OB?&Ixm=ROy6$V!XOaH1zr)1yG~$d>pH|uhActgh^sK##=ZKQr+UD$U -zGh7>9{NsKCp$@4OCuL&Zs#2ch?1Pv$jnh(Bk~$QzImhPie+6?tiyJW_b~5o^&Ch=e -zy0d?oq#VNzVTQg!J~1!=X9(0#95(0kJzy|#-28})f7?~t+7CO)0!)_&BOTc$zV}pd -z+h(z@U#Ot(u;)dtN6T~RTx}?EUzKqI9|FbZkkA25^uZDM+!N>MF?;1f1+|mB{ -zPh&wrq0U2Z9-im^r=h;RP@gR8t@1}n|I<+4-tRc?r@=eaw|AfOzJl04+|Td*(F=(E -zuy{tP1?m7~cm$O!akY_-1w1%48z6ouE1?Dr*GiIGfd-%~IsRvFKb*Z#vf6)B^cZrG -zz&@w|&gu*Yy-jCeS`U52<$hlU%}U -zZpbZpmgSc`$3haR(7UvpHg6zr`SlNUH>HOh20cy)XQ-J%lzZBoPV55 -zeyVxS%L~i29=P!5SRUHSN1lfN--Z9*ga6O4JhV5Mcqx-YpZIg1gp(`A#YIVVBg|XA -z9=@oDFY2FT(T+Wh!~OTfYgIQMu6t&m!N>6w!0K7H$HZ^jiC?iJPx5~hJaft&IjCu* -z3+v0xd77n~6@v9vm+Z^dm3&%0$p#|_xW{AfepJKH+)!iVv#?`Rns0iRt$+~DM(*}I>Kr77?Nv- -zSy-~i#&URfWj8|0&?0|I-d9Gk?8uTle$g&uSC*PTm)k!Y;49wHHS<8v3LOgse-cZ8qCSa~$q5jhXvy8qE6VM;j6fUz5Fh#o}ib~jy@afUtoU@F4fm3F83EA-)Hp+ -zJfY6vC)5?56Y8fS_jy*Igj{(h*J~EJ3GV9{a_fJHKIdqC66&e{fg>9bE5mf|FDJfx -z_viWCX7u~OxnG+VH&u4$^DJ7QYV;HCg#pqfK`-97J0Pb9IZ?aghpdO9Wb#_rJ2>C< -zN4xz8PAzT>IO>1le+u-+Oq_ATFe&vl&|CT=R;m9WaP~)~T2zm&cYx2|PuR~XF&+!& -zqA#*XYQLq7bfG?w6Geru(`w$nVkuMkJ#*6BpE2}^Rv-Jc-;(QVFZZ9U -zNOFDna=%r3vMed}GNi~7wHn>0FpLiK;h9){?i05vfD+aQcvG!S^(v&Rk{p&Jq&~%; -z;Y%Mu48wm~3hNKBdIEi4`x4s?C!ak_^Jl+WfpV= -zN2mkyes;wA53s0|iu&hvPk>Tnkl3l_Ptg9e#-x)?M>jLDALB^r+adTOp*x%)Rz_1b#XU6 -zK~Y!VbWiXmsh*&SyQU}Ts;g2n0r5;vf(NV8lK`GD33#juli<0aNdR?SHNpGjP}Efc -z@mzlo@LCU)?|Gi;;o9Bzd;h=h{}HCDy1Kf$j_0nYs`q;Sg@1V-e+5{_;i?qrJ(I^i -zS4kyub}OMu!5%hz{ -z(H$ErC&Om^(LARtK&Sd{B&*|MEHQs>GxvhO@ww!sN*agb^dh}qKRoosjxk4O -zYq_xODm5PdGn2<5Wbx??(?^|S(f4Q(q<^_`)BjB-ub8~_rOF!$19{6D -zsdlfhD1YTI`!9V1CG(l*t+=f307*c$znsH|y}v`7wD+6ljh;SgD)wy8esoy7fBTW> -z6Y2PWvC!tq8RIWRc{vnXcHGLt4m{wBqF87X!o}o@O_ie$KjPRD0cY7K>G -zPC!`>w*~j$X`|U*v#SjxHJ`&;(d5x8mv{4&{gGFUrjNbI(lxrbiO+|cUe;!1*NJ!G -zVJY*#$%k%Y{Tkt1qmnbSRQ~Ire}+wVzMI*9-e9Ix`Jwa4RdPQHj*v9^+)Iu@nv{?SNr0;L57yWugN -zPdNDxSnjM1m6Ok={(8J$A&ZIR|Ff?ufmD0)IjRJmCU+v8!h@wo=o*j2AE?$jG=qQmkY{HG>b9l%u+vIOW59M**ixDOmd&2|A5^OE -zQmOCA(Hie)#`lY@v*3U{ouRqKs)ShO`;~N^z51{+7TQu7tN5Vu06nK@#`u|kR%mi8 -z^d5UDX?uKci{SHg<`Y}!jBhKOI?qz4@Sfyf|B3;J6{bn0(y7&d6x? -zcq_oC=xvwdQ)4!$@~`hvp34TPY(DnqYNDGk1~s&6I5qj0E%*eFDAy~o-Z8zC$A5s& -zFR=FZ@vLCI{8IAME2FnwLA@w{d!Nn{=G2FND!A94nnIR;KB^2|xVr}R@9g0pRhIq_ -z_T_)IAvfX^d&(C?1@>nANsB%nEg>`MWn;cWTJXb|Z}x6u$!=}T -zWeeh%09hIvM}1VeciH0I%F;=V6-b#HNB?WNz3VL8tIq$apS$xUIw$6T!cnsh(fsvj -z*p1#z8ue-A+r60bYH)^8~n%zu#+@Kew_c-9YqE*MCIbh58;zWU&xFe?VjC -z)5@%Gyt1{BZ`q`iKdBt1!HzzJpiwaCl#eSnYFfeMN&l#vbn2&-8xSiSCx2Q=HeIsB -z^^b0(5-6%S;&XfMM+mZikMMBT!#j)j-%EG=HTz{9o^v4E3Ie=0VK}Deak>%vMRv+h -z@Qpb?P9BBr)s`RAIQmmxt0bGEdK1|ccTfMTUipumdS&5mK1K%H(id2HP!IV9lg|32 -za8khw{e+myd45 -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 -zd9-`;&AIc^g1JcNmp~myz3Jrp36G}8*{0ssy -z^&qs;Dqz$I)&GNbKXJ@Z==vl -zz*I~>L?>~dLAj67482S4HD6%RZ2lHjL!Q)&H|i%XfTaO?vk6ZHsNV0fHoM&x@E1(<_JWs7#31OwQmXz5YK!BT -zrhr@2jkNrIGrUOILL^Op7{q2tZA3^fuJNFYYBb>v{{=Ux%cpaApw{Q`^YB5AZw(2; -zKXdXSn?4r@-*u!TO&CYzn}p?v#I2+54a-BDN9k?#`o;CX*2}A467ci|b+_g!IG?%@ -zgP;~Fg#@KfqTpSPU*#AEe9P?@0zOjn(Q6Cr>+_l#{8wp8;UX@715v7UdW~Mu0`pbj -zh42XG8A3|gAn0Rvda?%UsOvFkhLLa<-KAI0ptoL1!88td178r@xf%~k3}(`?&1oSf -zba)vL-qvzdr$409E7Wiq@Irt)5{DO5`$cz3I#zc~OqdC8=$xgMg<`N6%k>SY;l;Z! -z4jWchlXP7-*_woZ`?r=0k`MA0yP=E -z5+3rO>G!i_DpLoy=2M&M>cjfJRkg?IWmSfN#gvDDWbt3Cu+m-lw`jl;VjY6l-|4oK -zaD-l}g@XEj$S;Hyakb%PO?vSH!xpy-y=1nC2;o?8tHwBT7e(Lw310Ev3@_wS#a$$S1fs%$K|Pm8vHlywKw#4^ -znQa)gh+ngqWc@&)8IGGN_z;sLjd0TJhHG`k9$1#6I^}gVHNihMmD$CQ7;u+ganLle -z4F*%fk%kFB=4wcFV@Q~ju5gkIz1TpU5=*m*wtG4|SHa6zEV#yOUn$~dQh3r_4OdZC -zT*%jd<)TcdSRq!!ot)E}@M3E-_P`lJisp=zC)GB4rUPqn6g?@MJ)FF#5VmPXw)MT1 -z`hytX+tHjFFK2!=UI;U0!Uwck_If@-3Sye&x(J%NOeWM2!(Tc4G>5|Vc?u@6Bj57~ -zt)gzhYfSV_F#vNZ^H#p>fhB%?5k|9}G@MO;moB7vh~P#AB2NW;evs)ysKNAWn!*JP -zZpUm9N0LpG)!h!SFv)F)w-_foM6U9{JJ~Ri?LF8fZg&)a%M=Qq#qZlh -zb*_;xm%80Y@3NvuHa??f5ZT2#;4ALi$6Wpf^@2%r@dhwlnaRC?f=(Qhm)2`yTT#XrND`N?`fpJ50*y6-VFqZ%o-r(@vJYuv3{7fN+ -zy&3qCuRh~&YXJmT$1>g~J@~2%i>U-GqcH73H^pA(0K8K{R2AN!2tKS(?c$3i6!v-| -zvn`#0`RY!Gimq4DH5H1jEToc-Tqn(ct$OK`G6o-#aur-L1=d&MorOj-{4|W-2Uk~e -z)K2%Sra^C|8l8oe3P($jd_)rP&ta5pz$5aDs>73T)n|i-p4( -zz&Hy$zUaYxdk)-yktJt}E8uy078&0Y^uWWzRokDUi#Js3w$XbV;a$3lJC5vsfVF;0 -zJ{!gZI+QW3&uoQIH_2pJrc&?{4p5au%D<9F -z_OCo{-Rs=D&^Q7}o(&4?6&OvdtmB4(`Fu{-3+PQU0LE8~VYQ^Z7EEEHXH_1`QJORe_x -zh!$sHE(X -z?Y(n^>1Y*Y8Pf@SazL+G;5f+)60@Gm5jv90H -zOQz}-Q&*?pPt0+p=!V`>HC@+jUMb*?63U*|9FHX0--||Mr0+G9Ef+c6F?;%9yQVh!qlpL4H(r&&msdPv(R -zXloTioy$KsR;w)6gG=t8C1GVbmQ7P|UpaXy1{diU&CXm7gE+LapMvjrPCX-$7H-lo -zEXTFOBJI^#TZAy?OnJH3jo#1Z~({$+8RY&!uSJqqlLG}8O -zD*ac;ZNuILJ@)2*_@ZOsVWyj;a(s;BYZZ>%gjz4%nW~HI{BOZa#6AQH%sl4}Nvk_y -zS^A6`y>%-593+UJ>YO~WsR2?!EYWN@5~ZPch{htQE}}W9@?`TGuc_HEs%ygn(m~=! -z>&vi2MD(VnhixffJ$87cEfCYIofwLZaTDGtBnEdAB9lmeAm0=cLD`BQiyZ88Vnv+} -z%tf@Y7RpVcPr#js9r)$}_)7svPw)bbU`q5VLf#%9zZ6*@zN5C*O578-#>4Yii6vH> -zVNna$6;PAD$N8;K!pHd}u+Bty`;Mu9Cl*Y?lhpq>{1AYVV=ZK9Ffwc*)WA!{G=}%c -z%m&%r@cK-D{h%dLsmB)dbx&EJYBFL{Bro^$;;CV+Y?!be=p91EHx0yXedw#G9O&`c -zc4u!>Lqv0n{7bR?JN)An*vORTZfC;miRQ{22B;P!fl5Lzj -zE31X1XsX1DuWy1|SlpD_&@$sVaqGZfc64WnE -zoUBKGv`4g{ZcjyWqZik!-?p^3GJLym2MWc=jf%g#rgO|%_LDLjQxbtJA&}Iiq@&<9Tlxs(aZh}s7NX3@P>+% -zT!OkfN6)FKUq#=ms1|CFAg5-4g`-?P74Bz$47bGH!a{t0=Mbq1wSHZjuD;F;sL=*lQ-!o`c$27w6r7 -z!YTnQQ82U>DHr^Mg0~Auyul!r8h{OSvAIA=wlC7fGZbvf&+61t!Z-NTRsA9sH=5kF -zoiHB@ToFqSz|X|qnoM|rViyKj?CRz4F%DO8xQ4kPEX*g>Lds}&6y~t#8j((K!Z4+Y -z+6s%9BDo1(#$p-xfz`o8`}s&+=2N48XA>gLqF^$;>u#PT{oyNX+KJBKIA+3$JFrqGZPI{uiSjgsJ7IMmH!kB! -zXRXy{V -zYoNR5?gYYjwcMKQ_pDA!KerymTzX=FhDIp!3w%YaUBGs{m(3a+D|6@Ta9FU+%iIAz_z&n578G$ocQ9TX513?+^kgu9q|yxR9+|sA5xprU+Z<=~YsHY_?!5GO4JN -z!)sM^su~#xc4oSpQ14a(C|N2{f4&6orC5KVpb>xbRIjeUUy_Debq=*(WKU%#NQCmR -z3xCY&Lnhn*Txg)@kEehvP*6+3seJ!&DwfV%=OV!(`{sRTas_syjBIp`GvbY|;M81vMy?Wm6 -zMjE%tgf3*!#wKK^G;aYa(XGsYYaBC9?vBi{rWz;~h2dr@3|pzn?sUparBPxes9l=& -zc7#38Gct&k8AGPpY%h~ZV~$ocqvoMwC5C~2U06%cdUB1F7RoqF -z#r%`zxk*<{6NAxsd##9|K%FG<=tJsBlR${V2}{ALP#=eLX<$7ATG-%nX2w4A(n~u? -z73aps?i2AT+VC=cq_%HRc1eL6wX~!9l!s76k|G|}519HpNMapGMc633!?oZ_j1xHU -z?PTCE;0Q))i?uF)mzlC)6Q*E$q(C?e>aC6XOHie+y0V1;xk(F^#t@oEk`2wl3y-W% -zu_lBQp6*7Pkw+<*NI?w+<0+WT+=GI83eMot(>OdwA!3^H+0elJXUfs2l4lLuEH=O# -z^^TRk$e|vimcmR5mg{7zdlG*DXj>jHi7_^~ml9E!mGGR8|CV7kzSKF4la114@MQe{s^qcUMgw-kS5=ZKS -zovE{_rl}CrhL>)VZQ9V%KY~kHglkf!I^q5-?|2Y%qONS-f%vB}#ItE^Kp&!w2xeC5 -z6^$-`T(3IRLuRBq^8Ehbl;tSh7Z!5jej$*BwvKo8;1}*p_z5}bAbdj{-7!rEVf6)~ -zb`L1|wHLl2$wsRvwdWumg6ngYz3CAGtY>KkwPEF!6LTdT%L1#G4j^5H^p;ePArz%Hpg-zh)?0R -zIUc-D+M4$re3r}OYSh6Otix>M!PvsN2IgLqN7M64}#QA!i7mi&%o2tp}; -zl$eiTx%p@{*j5t3AqfpQRnX*5+;b$2b%V`Qb268+`n}GSk=kmbf=a|>B$6%$Fw}Xe -zS$BJI1w&qVt?QDtR*7_G3ht)350?3t2su_P<4nm6#=7A)#>tfMylTWEWcRmw!ZMJ= -z8qJ;V6d7f!4~x#i!rW>_7le}7aDu0Qyw>ywy>)h{hrmE=V@toMa6f~L7^{nIgSiY8 -zH9e+UZSkCT*h+C)F(K4RFg&js7GV3jy<}=8bhGK{a#kxOy>6{Yx-o=Q(x=k`P9ow- -z{MzT+r}H?ZT_k`Bq=C2ih{xIhT+87Z+=lkSZs$uAWm22wv9}!}6p0v&qB2!~zSY95 -zXNo{n5hn)Qb2UpGgM=ZEQ*aNtW4z5Y=)-_NW1F*y4FQ^)zxkK;YCDpFM+mZ#UQ)uh -z3}f5)*&W$OzV#E*g-`kE2j~UgaKqb+NB~~I;ZKDWZsYJy&RG-Kx%RU(pJ(5+Iz%jz -zYHjlz0pC+S?~x?E#Y7-X$>s!qJi~@$c#tRlnJ8ta;6*C4)GyNn&(d>uBaSz>dypc` -zzMcC0BV!vpO6gbgl_se)q*$Bnre%^$3;G4KBXV`hO2YblW^$VpQJJ;^uFKh}E(epc -zXNp`)vW$n+&^gFMt*Y~dq)4!x%+@k-w%8*G9nQPc*r5OP)=MkW6W}8tQ1`0_? -zLAF_djhRdOTAWroQ}HIai{QPJ2Phte@BEbx5qr4Xll^_#h;pr>Lc)#M9Q#b9$f@`o -zl(bObp6fWB@J;~}leH>;>Y<90Mzw9jGNKNNwVRvaUM5V>5v{H2OsREBd|5Z#f&fud -z7flN3T2gkz(uO5*JDP_4X%>%NT#7c*cE -zrylm?Q}9BePkLLcji%0qwPS1HPsO~HKvd9z2T4^l`p$dK(yp025J%mt2@`3ZdW4uRYY0?b~p*$OnC2B -ziy9Pk6X5kz@G$nEYCzb?n-lOgnaP{P8pP1~1c`qkn7ED~8>gHOh*QSlTAt)ZG7f8L -z032HlQ6i379afirOz^;rB&qp2m8gbW*bZfc)qGH53pbdje@Yns!gVe*;;cj?!(?>+ -zs}gMD@XRjBCXTpC_f}IFMy>b*N{oYr`~}3!6NGRQy8>Q6CSM0qt!0tb{M-}9F_)ue1Yewg`&YmRl62Gqz7Kg -zVMheQ9jcd>y5Oo@(qziZ;7J<9rzv=W0_NBQ@Gzxsr}{Qf>MJFyv2;kvF9pwQydKLg -z9K1er9ca&Ixeh0$+u6}&^cv?|^#Ani|MT_Gt0(I2lBN2P -z1<;+#+V)O=hY9_WD;vWn=p{8opKZOQO5cwq1O$bLsOZg#kk%m0VPTw2$GtYZ%^2`1 -z83~eb56{2{7(Uc)zr7qR?xjCC?G)*mieV<4Uh(s -z-rzbgmoB^HFI#s_(uhP9MS`={H!-^V?Fw!uVDBv=+Ab$<_bG5%_e?8kAJRgb0nWC<%)jS3j -z{k{l^XG#wgoe1+JhzPh@jo(Niy6+!?89)ZMcN3Hv>t9pAfi!M7UP&n-bhGfV`7sRP6{>VFqemdmA&L`I>lmlY6 -zDK;&x)kc(A3Y9PmrILPaIA&asE#hU1uv|t;HR_D;92@Y|a!w~|EB7eCy_1`pm5x#wYteWm*I@R936e%MWQG$q<7P85khod`SCEZ@N5+pol -zQ)WQ)i4|_r^Valw@QgB9o=)RqvL{b4W%l->G?*PBFXQwLWL!rKG;LbvHLcAcBcylF -zoo+jJdYkPCFOg~XP(yxyutA6((Jo|Nt(_DrZT&G6LR+={6~N-?3lX({*hprumC;b% -zBnSWrp2BlEyqGLq<)vH>X5z)bCg@UP`yDJ3+^Q~)qV$tYi50%&`0ED)2ohQBOvjV) -z82-WEa|y&=<&t+&XpJ9q+`d%zQuvy0eZ=8r4)62bms%x?sn@bFS>FYleD^xIfknt2 -z55%DmGp -z_&SHZ7nSvED^8rX4s{W76+7u%#pq0zZ9gX58}O%yywVcFiwoO~`3^_NXFTIU+gNOO -zzix>3XwN*?m2TXP4K7W#;;qGWt0&XrwaW?q9@HTGUQ6@#R*v$)gI8E+gy&TBnu@N5oyOkHW*7)hheE23}uH9gUD^v -zf=&*jKhto35mU>XG(QY3Nk=3Hr-_72YN27G(~HMM_dqL83Ou23pO@$0**t#gB{hgJ -zH&0n=J-&HU9#fM(hA=`nAzaThx22oN&W>_05e~eWf|r&59%)%9b;(-zh;R_~Vm89! -zOidMbrc=P9^vE{OeTtHg=BRZen4d*NY^l9gs|eYDI5O+KaEvT1BjIFjp1Db)EJn+L -zLM`~iRoq+0@*KE>Te%{OfTBSf&3%KS4X3cRxd*W)Hm(0nB%g-qEb1Q=a)pV#F%eAs -z6bfUkgkk#+6$3^@$TlI9zMp^)c6#tkF{MEtQngJCPG2oqE)?%2qe3S1a_y*~Sly&o -zXw^Y~p$#ivkz6bF5^Zcy8(NXkD#|n3!6Sr3UYF<+ra7-&FV@OY9F0k>VmQ)Hr3fn9 -zHk8J7%AubljPa;VPzoj~W+6=eG&ZZ8G}FZNMML=GM3ndPu7X -z>X$XHe6+J&dLo*fBJ{E+^|q;cTcaLa(3Un~JUx#*BKsUK-w7tOh>_f>|Hg*1Z5!$t -zEt7pRX}J~-{XM>L!E0tn4$oH6GxS&;OreL9T+sq$A?Q;JW;{ZvDW%=23$rKxXXo6XX6j5>8W+;xEPFhMqR`UpIN9#NzEtAFRuv{Er$*M{u -z9Xrg{c1#&CRVBi-N-KEXN5CKv5LCZ={dkEV-$Z*8kWR1juhkk&k~?~9wxfSh*xIL} -zN3sTNGYv2KI+eKzKKGL-(7{zo{zS@u{g&pF@Fq1%lU4M!&V%)lGOv1Spn9?cHK1i5 -ze}Hc!DR_>PH*t6-uXi8A({lp1nA~+Omo+MGGOycURU7x-s6|<|LfvHf1|PIGF9n)ZE5?B$J{;T#kgd -zLp1va8sXxfqyD;3WW_(By9;248r_fl__pE-mbV^q^8!$V!r!4Z2W0tm;7H7HrT&usBrI1Z2804?bPQ{oqL#hk0}T3qj~Iz6#V+u) -z5TE?Xo~G@bA5$oOwT{;;h4P9KsLT4ZwvMh>oCN>HYDN?%s|(9ekzNje|DpUav_0O% -zrU8Cat9r#nyPyf9)7WyYUX)SMv@h5pxVg6K%ip)|J8#qB`B_ -zl7i8yR*jw2X|tQW^XpLsMIfzKJ}f-w@t$}Wc2@P3!cE!Mzv>Tv*&BX*hidtwDyrhH -zk5$^4tMpIto~46%pxZ7;)4D+0!{ -zoV7O9gev-AwI{1BUY>O#Q70`sBkUFvgzD@|E$YT`6#N$F-E@#Gl2!96g~_m$+4EN@ -zcnrkaVIv7wUr_LW3QJEL@|dK0yw2fxgUGpgd5~N+VG)N9aQF%5FW~go%-EZHaeV4X -zVzA&nB`r&M#}}Kg$|GRDJ6u&3G50u+hkQ=nJv^;uCszWsxI>m~AkYI~DRu#frA8Na<;AQ-L8 -z=Ot0RlW?`+vT)y6>+DpW`5`fFISh=^D!5xaNfO%4nC)p&73#ye6ey}ZSX8nWGxvf0#!v{*u<+S+c5*(pPq -z>x7gioqX1`_TP^$&cj27Ida?YzUe9gI-Pw4s2NQ>$`+eWf2|a)~XM`lZ^wLH%Mags6OHF8FSz -zPjNk{o4%fx3Y_WjAzPSc}PjV{BGQ@W$?wvAn6$J?K1gQdRu -z4D0>GWzo2tkjP{I3t|#ilb~qdzi^BL_*oHQtg+g8$c}IASv-KX-?+vHdYJ+EUU?h%+FyIy*!j#nu -z7gNhR*)&Ff2_ejgC8r4E%X{_WCF7%iJNlPL~24^`5?Z*%LszG;vcN`Ki52!n|J=r9GePbk? -z$#UK~yNhL;@otmB#!2R!FYKl-bo=IkcX#OxI~O2OZ@6uz-mo>RHzXC+xKKs+`yh?U -z6}ytJ?@Dg+lS$9>P8^S|4Fc -zkFqk$_W>nRvNgYZW!@PmE=$zN*=;m`>elMzucG>f<0>8zWva(y*+x5tOEGSD30y0}<$Bb7|axhiQ4; -zHfgDNq=ERYOgRQv@`7UXMcHEygWYis2i -z8L4)Ym>gfrX4I;*mBbdH_@qYe0Yr5 -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 -z@7L7{FcjYB8|~<R_nW0nV@NvcLmci8%u-C-J -z!`jech7}WuriorViZOiharahug5pi^An{$tcpC4#u4mU6;_z-RTWi^0e-4!-+V~un -zyyLJ+$*vdN_Knm+AxVDJ7u>f>ZjtaeUP(_lLRea8gw^Vx64^5oMT(bw{~}F)NHW@6^g^kv5T$ooF{;B>w -z%>$w~9qCHjMztF^s^dICEFRP5Nj^#m^vPC`-_we%Y*0qe?oS|JEKv(wMCy= -zqhDI3c8b;iLZ(xl(FkQ@-rrHK%9v?w{}NuKpJMz?Rrw38tYZBRA)K@fqkO2hRiPd| -zDo7hZWkw#QTtLsOMrj`fXo-q++f=nCuRM0;j?HR2L)=*Jsy&FLA^So-pFEH~cXn^I=!#Rj0{wI_gSSZ>v%K -z0Y2xD2@iIRU3pT8w!cI})@%gM@_?E;g@j_bvUiS@2)Rtvw?y -z){BWGu2>C7e@^rka5j=*)L_9Bie`-Om`Ng^-E^!6;GP2 -zUL<-n{FE)tYj;AS9q+nh%u3lYGj1bleaa3*j*|UjeC)SR51O*{pefwsz;%SKMp!t8 -z<*2Qhh9U}h`Rp#Tkc=5qm@H5NzGS8?lWuy7FB(MDf1Z_y?>`#BB75Qb3p^GB4e5yC -z`e=*u{%97>KiC7!)%h9!9?ci?+z#?+=@s>H|3no;52U#1YonPuy<~yzHhOZ6I;}vz -ztbXiR#7aJTX^N@raX5oX3%L{XEIRVY-|Rdxb$PSCpB7SImT)INy>Q_o;T(6L+@$SO -z60OySe~zGC!BuMi9&F|Cact3o&8)L6K#4&eDu6(v7i$MI*7TE3AYqy2f9iuh*)r|C -zogAaF5IpV*-nd}09l`}enG4tr-rv#9M01!i`{;!d}}GpECFDya&;YY(fG^cUA@xie^^^ -z-Xp$WJ?JzD3f1RR)%nFe;gKQ*gUkd3FF8^<&;JWvA_8{&_!OMzd$T!(hp5IND9(LpH0{i`e6IWe=iod -zts1RuES|8fSm`fTuH|Sa~~Mj_(+LcoAF-ud~e&EiIve*8>8;ZSgMte -zgQa2f)Obi8*f3l}&*j&{V?-pL=3YTCDa|}vG&5vkBQh9xVDim0<4!aaf3n1{l=(NU -z9X=@pm08ad|1r$T6h7)DAJdwoRyjTm7b#!Ep^QJ^`)=}1d^{^7V1|07SVk|~j@*fZ -zd)=h|f6e;DkHaI1Pg|17#C#Rdf)7ci>TrA4|KWsmy?-EFpfblWq;f?`kf+c7OO%k5 -zn$^xL$*IKc_D(ndsZA<3e;Z7b0WZ6>qsp|ZvQQ!G-Ke)UW`yufy{-9fcrirtlx-Ar -z%FR^^A85)Fd3iHZ>(G9E#a^@#F} -zbmc%=FKJbDSinv-Kg{CtVs+5`qC<^>B}9>e7fdKwdz{Y%P{Xv+e{-zw{z?WGayFd+ -z3-`xwDHGb131^)JuaO^8azvldt|wRfQukInj?`PVi8v>DdS$CLV?L7E7a5)i$*X?% -zm5q93-Lb#=*>T6rf)!+x(+_RcFKhnH@$|WiMZIGfNM}$&zK&?8uTN~pj(wT_2MW}6 -zyrh2l;>!pMWtu}We7SCz!kuFEU8#J6{4rK-=7OshemauCT<+VL;^*r{c-|;346)|nu1CWS2yoPCo%^jjv@cfF}AEnEx|6zLXR-; -za~FMyb3NyoYs`pang?BpO#L$W{pg-&gjs)nmubPf;pKDlXSs75=9;d4X{!RT@o$$+ -zDT;;sL|+@l)TAJ`E(1Vw!^^ -z;1gya{;rhR#Bzu6ZSbWM5*4KaS@}gg7oa-d=JKkwgh3r&q)ISzV76 -zE3u${x~(iE39X_$l2#!$)?82I=BGr@g&`)g*DrXDO>^)YZuUkTw4TVyFdu;EFT$MR -z9I#$-UM_sOPgu$98&>WeJ?PEiK}vGtw0Es1;4G>p85h}bT~$K1XAV4295$YQ;KznO -zf4A8&dThh!cbwR02uwRl0wE*Wj>2|vVAW;xgS5&LLzi@tFcR3&k(0R~R1_AmPdlZw -zeKUasn$U~A2y5<4cxUebWjrlG>Ep8TkSj1Fh7N{hf5=52!YIRG8B)W3UVSJm!;K&F>ic1-&c2p4 -zjelnQrdCmDLg%66Qi@b-@uBPy%jE-c!RfWIfNC7n|Q~|tT* -zFXPx~SIP)nTz<)R(#8B8IgKB@&s(-(Z`8*vo}qsuYj(v-@;v{Y_b&;YLWkUO{7*3s|9Au5q%Bmy*h*c%vtI<;y#fl!Zc2_L)a4J#m -zR7!cPyc}RrDByM~VBt0{f4@~L94wtv5N-jaIkm%;$~{!2{|h)x0`k;`c`Qc*2Y4rH -zNtDdtx-qmqm8P`uP|}yPBC&M$iOC&S#3fYB=W(Nnf_)z?;gRtw^T2pz@g|Q+qrrxo -zslvI1@K^~e*gu7rPI9 -zb^uMo18G<|Rtsylkb?%?$6t37+)STWJFrB*yiPc-zc7xKGtboLG>aZ#CmfmZ<9bsw -zP2>K_=Lr#=lS{Q$dbBYtBioLWja7dqg5xhkfuX&5Z+sxUsTMu#_LPI04qyk7KdD9g -z0bvLs62wkbZ>9Q+G)#?!P#`<>M&)SxtXlN(C=d2y&{cY_fBksq6Jgjd4BUs!`_Y3K -zK`=ZFTlRxGZCdGz>{~_LlH!h#pFjeo9a(ag`hkBTtvQ&y8UeVG{PBWa;(S-@f$r -z+x4Rt>&L9tCoI+{tiI#++n27?r!0OHH&-ow97U(n?GbNLu -zzdfRl{W$Uk@6iuLp~_`sB^!o`$Cv|OvGe;J_;g=Jf4?qd^FsMx%cLlsi9K%fqlW-a{ -zQ6fWGf26E{KLdsECqQ=G!udQXq|HDd-)_N{QkM1{xNZ_oUrthNgk|*f`V;dTr|VDc -zQwtyS4D?qnSF`WN5SP#LjF;_)VV)A#(o8Eagr~#htJ5@Q&)=v~;^fWY`b~WFT@%#S -z4#mHIqa>t1E0%92{{Ih0T2KQKK%9ajOlxJ8f0>)%!~HlXB@r$)9*|3ZlCg -zwlZF`7?yA~kF;-iC~Q#%W+dH2Xy_!C8W?M=%`xKQGilUYLd5k;+7&#biuRKAaLYbQ -z(Z4)IfqOJu4zNBxzmJmh)iE!H`v&=(xq9`t`bCY#(ceVBv0H*)!55?h7p@OM7*;C8 -ze@Y>)M|Oz2qIOU)olTZI_=O@}p^W%r2Cr86Ot>VIm(e9Qi!THm!cMA3D8Pa;KB2?V -zE3~O487Cw4OPVu|(_l;ZTN#m;a>cD?e=;Vi0Iw~s%A_e{aZ -zCnRJ~$N*M_($$0COAa^(Mn(gw?j9Al|H%f{%wTfkB8fMt#MxlAjOl-D#wY(6f9HV3 -zwje0gw3jOL%s&oLdXd-&d`6@pla*PCyvPK_ -zJox%HAiw5y3z{!-wVF!D7oK65j^XM*#u>xZCYD-ytkKCEXBe(|o|Dlh)j^lyfbiM2GOt!qg(A5d?{GUZDVfUr$?|(M;?{aUE{4xFd@qoujptj2o?g(H%DX4| -zGd!vPi(#Zz{BW;6yT;z5AF0ivptN#$hMF#s!ImrdGcs~|5*|{~ADP?ge{tSaGTtt& -zVqz3laCpWp8*XA-8tK`3gcKPF_MxE+H~o<22=Vs9%ND`C#H%c&;x;Ot7|+1;b7!3= -zB)&$M8*NI*=DG1ExSn>mkHhPIL|#cK-e6CW@C;*6P_g}osFOWhV9>x8UIO+(~b=jN&GV%-$Kbq*clnb -zWRUh~1Ke2(H4)RodFJU-)e}*yzlF|rwaJz6;24&yDB`m~*+Wr;e_G4FTg%5OOfm7t -zxD9K=XjXR6iuS@=C8Q>NvZSaBiv(`O7Wrdwl=TI|onHt;;;okXo^XY5Ue?OT&lPap -zKH&g+I~-Ox)J9?bwij_>YhbOu_l-XbyX;UAk^>$K%@}5P8{AV&(0zBA@}=?&c)A#V -zpMjm67+fr<uq2e+f6=Cy^*{9_Si)RaY^RPcQ~0T*U!MA{v2B6s=&vx)M^8TuouR -zwk6@AQZ=6Ca4;MQQGnaVb98UF3iKBSwDUBuko`v<Jj4}wnTNbUl&PGuZlUK=(zjGC@cDse=#BSK!?EFDHq`owxg4G -zIkPh(67p)BVZvWV@ia@M?MHo-W)0)mf*A-;_#^tb^^WW~HQ~cu)N<*1f2p4kD^55m -zg<@gd3H$>-U+iyCU^lOv$a$%xO1%ena``fy>&9IAfzO#8w;=mNwR}baE6JuVX&svs -z3*igiVDYNoe*h1vOzWRQnomrmMenKbCU4X$SFiElb>$Mq-f|QvgkSGVE;&D7mzT7? -zj2DTS5$IMOMWj0Mvv4)KqEq+UwTWXf79v}^_Flje%s$uziVL}I>#63mE>L~EMrsqvO-JC+BdOGf&$&e!d;L#k))&~fs6&kq`ckd$ -zldoFFf6PlWCe5T7O1E!vj{0{9fs?M0@U;WW@KhX2{klT+ErP-Qg8k-LhgG{f@P(iC -z{k*xih*8nv``NTUu37t8*`S{r-G{6b1;^Q@lhl9QtW6$!%e8u2Yu?dQbMo}BDs9D; -z!8xN!F?3VtziUnq05qw@WW84&yLQZqxc(8GwQJVnqiXXvS#q>Sz?lVdd -ze_%u{t{KBDGP_~;TE)1zuvqCZSa|;T7*?2vGNo~$?ZfUd#Z0vOvGJZF-uegNOJX5J -zN~FlAZtH$*@DeK< -z8fFQGc$8Z=h>N^VFNu>{7qT?vb@QE!f2mJuo#`d#nm9o}JX1SzVhTT3TetMDM_Em) -zuAG_Cj0#F`<7VQ%RyonpDk_o}&bR9cp+!5ew0>iKEPLTeTKPmj)?vkxo!XQMO(SiD -zqnww4Ry}@ZG<}O++PEoZd%GM?!GSZ)Iz@2tD-&xsPbxPGyi1@>nuI+`FKc(4e;D!v -zj@98<`CrUL`e`TXM{L+KMtL*}15XSIH%_i2a9s$`FGP!0UFs$h(daB8c1Ue<`DyrW -zmSO7Sw2Bg(v7f{1iZn4v^Qf2=dD<1x8MYbIC$`rMc$ibZ_f>Oxc;($e^(`bO%{>d= -zAi?fMRwsVN<-aF{zEp2d#cw^Oe~|;fPcLRuV*n`zMa7Okpu$IdB>k|ADf$Q0BOatr -zdo>krj$!GRDC8Cu>~p8mmbYwSuz~>htOz>HIl7T!e}82Tkltet_&wlHeLqf2xNy`*F;S -z;t-T8fnzG)ILl+3nd!h*rdJ=Rq|F?71Yao!4u!XEpisd(pJ4E;e}#DJ@DR;2ILXs6 -z^B7snu_Gu5ws_2gay}}XJ*D<#5sEOp9Sa`Rib((iA9BS}To@HHHq!o-^aGVxOBgW~ -zg<+a8oWrOc3}L$l^r}`=e=FCkm6MM#jCyQeyj28c#1M~D#7^{Nyx&c@%jX62+$ATu -zcevzk*v2$J))rG)u)polQ|)kzYAq5h^s()xNILrDb{9M1_|=YTBw;ti$Psj7_(A8L -zi7gujDldobkP$w!Q8#Ku+Le~rtW}k1Qz{0LLq+DFGv5X{+ve3tfAdaO&6^>7EF{9p -z-PxOta}s59bCD^ek6|hJK~uqRAP4)hTHQr^oAIy@iO1!}4mV6YpjV|5G0 -zV5+@Hn>rTA8t{qAf38T`r^BeB|EtqWTLt!lm{!auD;;A;5k0lgyByokld-plw1X$) -zdf$=_w#RVbat{)Zhns$D2p4MN!k%bI8Tv-PrN`UQ3R`N$J!m8C?CYZb$M7{AcZ -zS;JhnAVil$A;_`tAO~DV5gA?W{Eyu?h1vJQ)jPkxs?6`Bf2*;=>C|8S*X_BcI>?qTgppI8*>EB#K$fhaVR0gu74lPU-CfP;Jmduj~_ -ziu2nTox%EDKg0ds8#Du-QiKLFGg@*MN&SE8Jg+lyf3#jv%SK|)Z|X;3nxgZV{~Rz= -z119{ARwkCI?4x+dZV4|}G5(+tcY{rHg&W%~@#8*xv4dUT7j`}mchQS|OBSq_i~Y2K -zKeK*#F_#Q92LGnnZ+J3cvM9(5xSFQG_9-Zz%}Tr|9vR9)gWVlv|dO< -zL_D~Ye?+-8-9yk$=TUqx^oA#I;#0nyLJ{$0@TbW{uC+;J@b)BX%lWu*XKc3c133>C -zkM3-zS{v2=LgIEbA4&R$m?pf(wk|U>Jxh#3o-^~owQS#`px8$EnnDL6O+MVgcDv1F -zoym_u5%S+`hN=-(hqz(~UhQDK+RatrEb?h*f9CCEu!XsYK&zP8o5{c(G#P$gu8wGy -zL8cGsqSInuVa|XofjF6irY}5mP*C8_pc^w`Jw=_F!b@QdUY!-A&Vd~Ruf7Ej*WB`8$`p@5Pl9`ox*m! -ze+f!5GmKexh(uGpFthVBIKy;glG1R=_oKW_pQ;^FqKexVkdfls@RK16?r2j=J@_jb -zpK>EMHpA)?PHGRe$clhoC(3zz+q -zDEFa*_Zex5oNYjcwoCXL9|FFvWR%^t3LvZm8#3;=eZFHl<_Zy3ym=<}Su>sEf3?Ix -zR66)495Y5LV)~^O{dcYKR3&LfMxqpygOXsW0;NiKVyo5*FO6-iUs9uA)()#kH&WYU -z=EI)(TKE;@jvkbcH>+^RWoZIn?UMt^^iWc?QLhrVSfWj-v=Uo8GJaId#Z6IhrDKnn -z<_d=r^}Z#vX%(Af!HIOh+pK`ue~}kKp}Q#v*2wgL4fltSD12Bv25QXo88B4*bkiO1 -zr*d%ct7L;nQivI>p+1n8+EJC3NPCtUF>Xr;*PAWild*eIY}R%EdeHU3dvoS#P7I6vSuB#t)hxGA;6CY!rC*>8Z_bFiIjNUaOnGf`vVnOFAB)gEn=_{5sM;+2QTo52?}v!UrBw5H1psx -zDX|yg_hton+X|~=N4MwuxqsC;l}a&Zj6;}W}L_&!NM~`2Oj8QbO6?=ayr+T -zdnF`WEAK&iu`Mz+{X$QYk<&rh<$ryDR -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 -z1O*}w1W3#>9P&ZC1jp^k -za2qL+cI;q9wWQ3WdU>NhweA@BfU%xr0d^3i$#WIdz5iB0^BCM+sq|*)4%ov-rK5)9 -zCHti*lbvg%ZyQe1a3o4^6@O4e0t`7iz{8a^A`OK+LaNC^IoYdZ%7b8zFk^S?%q>z3G$2`_4P -z_L%0NDa=b^7sYINn+0*=rB>)1%}u%s_FVbTBf6Z(yym~oH&!NzjIb%12UrP4Oq_t=2|Yd|B&4zrFSnU -zIpOM4N+qGTGL{p(#3iX6kd$1Zx3*rP|6glN|6_X$<>t_btUF>kMq$Q`_^Lp53CD@V -zPKT#U2t4h*5=y|ZD0E5dy&(%hSYLj97W$cmLSBeuYlS}1>wlz$DW07R%ap5C3LXqI -zak3u17N?@{+uXc>y7Y0!9ed(wGmf3#r5{pD7{`Aa#fkX--pX1NHn7Jx+O{VGlE?!0u5WHvFQLMN8$NK4Wy+li5o+;fJ -z+^v)jBFsjGBWNS*IJzAdUgd^g+zCr~(*iFog4|O4hkq{)U|`HF))&$GF8od#e$P;( -zbCB*^X^9uSjs!I`Zm@XEl|70oUU?PD*!vgFbRB(mE}zE9b1<9tGqGeu0sO%eJi+A$ -z$ZK{pZ&6cTLF8}?sX2`E~1jI!G4&%cl+iJro| -z*f%@8C4VT5$(W4ee`mOCF{K^f>p&Uc;Tt@&qdR5_+f2okdRr>Vg*4c_ct|bCx&#Y# -zw#GB`C!=IhM_QS<$i9==kg!h!80(PpU -z2Oo2##+;jWedS{WpL6_i2Y-j>h}U?XH*DroWrS^k8&y_hcMv6u&n$&q;qn^Jul4Zo -z4^-*|wfN_Lgy1^cg<(dBnmtpcG+GA*zR7MX^>N=m@y3%#2}9Sx^bb`O-VMBrAx%^c -zGk@@=s=z<^+-sRKZK0$?gH*iU!gdaY{2Rby&Gh8WVWMV2Q?E5e*K|GEcspz&r1B4b -zPEy~`$iE!!VzhNbX5-}lE^N5-zsdbqS-8IWnYzf|{)_SZ$Q(KMczBQ3zB-BzdG#pr -zki3w-Qul@GQaE4z`}Y)kaXw>poKK@8bAPlUM_?UqR$z+%{-1D~zf0v29biX*jYy>k -zVe2U>I;nVoio*GnNxjkNHgMo||Bfd^=*6pLcfi*F;lXn{T{?uofUC|>ilmoMS1<5k -zxXhfuIhIb~KA2OByHB8rii!^2JHX}ZYUft9c>V*yrc?F_v-i0^vf`&SsZzp?oQ89rc{0)?Sn_LrvYcAn -zTCWg`$#n*n&r%#!#`mwCiIljBbpvW68PF`8#?2W*h*O$i4a3#DBku=Ddd=bF4q&Mpj;sz5Z9NWZs_)(Q36gHj|+9a3rhkwkU$h7i~I!4H! -zMb59kR*iVYh%_nU@-}ir39f^}FTwej -zFc{RAcNm;cW8HCVl`9;>8p2AyFh2-_oIebA92>g#5Buh&gMXJg{-QqLPj|vQ?8CI& -zFK81=mo69HT8|_wQl}xG*s%lt$%$dw?;G6YEFfA7jV?cmZ3?5-^eiMvIoCj)%F -zXKTrCBD0LRgLyV)HAC+uU${s%7+%2HgSNOnI52lzrf;+r=1)!ykm -z34DGWDT@1Gh?ad~?f_iPh=ti;Hhe@5UyF0W8XGd~7k^Tl%bnX{!kfp2*!cfGnju1v -zciT0c%maACZ|Jf;COki#zppE?A))JN{z}ysT`ba%WaK<4XAdk7zF4kT%-NwowxDi@ -z?tM&A%dH;|48!&GNu~Tsq)q*@Ioib19n`$==i`*d(1%o_9H}^nJ;i4+ -zhCHzft~rYH0G~~g=~;{oa29nvD!w_Bgt@b6lIx)L?X-R~)t;ooucq2+s(tlaassEl -z>wnH9@$Pl1-bKZ8RD6U77PMcK`2{P_KiVOseaHo@#qDzK@h8GoIx0^WdEvLzD4$=+ -zC_D8L{XM8PtfM1GPuIsco&firMbJr(33u?5e)wCOY92a^x(57%uCbe+_$-$BUS=18 -zTBNvdaGFEM7KxbS!>ea;!fYc6@0`W7dVk|tDo%jnS_v}uliyN{^qi%bo3rst4jiLR -zE$@S`&QzMqU38bEnsW-$r$i}5pH7q3k5;>e8KoL~=&zMSSzt)zNNQ$=;jSOEEwWy# -zDzi*8>+H^WUJl+o0EHt0cZRnQ<(bEXe;kNHQnJlYWZQhWnZeO}f}zcyWS96TxPPS= -zne)wz6-(nHNXf*xQ4cm90wvM2;RTYkqPN1!ygVD$U&usrJrVYVuqY~R11U29d6udykWwnFK;p)Q(f#It$ -zjAP8=z>kz?$a+RnU#y(BVc;A!dw)E0jzU8}C!A=XIH!o|vud>V@HwLfoo^;^h>z8A -zY1T)Xf!1=&k-a}kR~Hn -zNI@69^xXtnaX;03I_`rix?t-gZG(f3GoVeVc$pM3mD=I>u#7kmPiK1DkbioM75aFJ -zUbut&=I42MXIHo}p+5!Mq!N90vkdg3*6Xq6v^K30IUnKrDZk~nj{f9=MiG%gPIxo! -z*N?4(zcB_?7u-mZCH?9;bA?E_1YvqmiT?Nky3`P?*B@FCUd*(I9kVZ=Le^k{RyJ{l -z@b=72`oE10ij2VdL|XdYbbr!&`rlEwg!ky(a*WQ97S0v$LbYnLg&f}1PDw#N^|2q8 -zXZozXpO<@5IAJ_X7cW>LsmuRjcQJtI1tt?9e+$CTkZ%MO_-+eO;bOw -z5s7A3sIYIu9d0(d(a38R<>#4tYQ2fW;h+-jpt1Bn-X(1Wg -z`knfXQ%T6Byxy>i5O|to6Juu}Pxi>Rh( -zO*rZFtge*jk#`faCJDoc&zEk?_r=`uXB)l}gUHrPNzrD!@=B_Q2bbICjf=6ZRZTml=RXxFK8c5++M_>7>1zM4WgJ}Jy+scpjW!J!C_{Sn@utdM1W -z@f)PXEpmn<>RWunzYafDN-QUl(vtO#ZHS9DihrzaW{{5}LM^t)0({77;wIq*ux&~) -zqHV`iR>psdi>M>cm2PZUn^KkE0N2oLh63r+3V@~E)TWf1+N4So*(*~!s1o*2v_+j+ -zC?Gxav9}KUIM*O;*T=2zh~A}DmTo8zn9pT(*I$~EZETGZNOa94|8>I+L<&z7P6}>6 -zSbqg*2ygcn6iqyi0XiIi2>b2?WubjY<)r95iaw6Sh7$wM*>EpU7X=GeQ>FPWK^f|i -zcUa=YRN!RRcj3K*2}A+jIFQ@~;4Y#G*sRas>h5mW)+#IfjD+`zFszUvbg$nO7nES` -z_L49@&FtE_!L-b{3I80=Lh&6q9D%G!o+LvSbyk&_Lg$!{FB;xn_6%lT?W*E^^@7q`o?5nfpZ5B -zkO9~ca%q^pgsB -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 -z6jO(&rWs{~mhd96}ySj6sV>}yr -zJ1GJP`O%(WE@ZX3Znt*C1gzY3W5Cv(E9ckR4ww_6rl^a^I;-E-T5+<*Ul!{7h!tTq)NE@ffy-fOSD4of4D -z6M31}30vWBe94yNMk?jnHj!tkeSxmGiNeA0k$%PS8J2hZHU+Z$I6evg7{eZth!eB* -zdJCQs8_@N1^oL>4#~yaL`WoOZZulOzVqO?d7epMAphLQB`@tCkUX*goT;-rbjy&Jz -zMSo|4#9N-%FcWILI&?2R)&q@ns>Hn^&g3dT`SHPDR(wof!zYb>eh5lz**U -z!+ytJ6NQi1QZ4{5a^Y?v0Y}g)F0Q?y28;cI%6`dI=#7MkOrb-2by!7H$BsgwNKt6_ -z2wckHxa2x)YH{OqAZCk*QFwEly5kn_&bPdDy_f!VluG~1!s6Y9ewTH89KXmG1(hsV1YhAEe;D<71PuMaX3wBSp#oF -ziz4NYL__jHeK9Fr!0Hpf79i4kW}`AnO>t{h|?#NoqxP85L@^ -zt@G&ExNsBvsa{T&i(;Nh=!X+{qK=PnfQW{J9iqa>)<3gE=BFTX#DCx7NRK?D2w3xT -z8w%1}r}2T`1kHSCvBANKlm{#t?n+^%4R0Nhm%NT023X5=w3HKdF?=!YutQ}FjKw`a`?A4!BcvcnB -zs*u9o$ud5N9qe41C7&#D7HR)9&70&V_^F3xfe`p2`>ay;n15mmY{H-UBik;%m>?Km -zib>GpT+;pq%oEV@dz9{0&Z8({A*RY=Wqg>zBT#vum#0ydHxtYo!}J4X0^}2bLo*=; -z-{m(kYR$~4p_fTr_X-;pFv8**&=2eQz~oqlSHUpYQnq~tc+;BLqrTnFc -zagM)OQ1#&$d}0@XZ%IJp+>Bpwkn@Y2X) -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 -z2DD?#v1g}jgT9Ut9LTPUaBz#8-Vyh#+ -zEN{O|ERl1yU!6(kATWILUC|*c;o+C9lDdAviVqd_xVC{iRs>Ua!Om;dCHBKEcge$b -zxUQ&$MR#zhV4@R6WX#ixJ<(T5Ws_v)sA<_X8eSiZHoO{*%m-6(_Y**GD_ShIh> -zkYhNZhwXa!A@7_u2&^2)&2DgXiT-hTSw20dVMwf$1{k;2QEzCaW&5+Ce&+^8eNKwr$WQ97^;h@pX_q7TroYj>{^ -z_|~km`EVw+oKw+u5m-S0KE_~zh!^d|(tZ1OGnH<8R61K76m#Q=HdRHvv${No}=)W*gJbUpb-oMWFN)XkA=;W}>g9#X5M^tgq -z9HB1bK{WUA?n>;uMvlM`^`d`e7zS%7(7c{hLTizTcUrC-o}S51TPrJjcIN^ef1M=4 -zhwxQ|yT9A!D7BS5&0MA_rxh>m*X`A_F3@ur?_2&Dfsvr&8vDWyjbC|bcC*{+I43f- -z_$ppri<4roK`5{Dq@Vj~TrBs*sjtm?LA0mECdzbkahk#tA(`J2kK%vv1TkWGObn;T -zKr}p$fgbIMQr!s?j^yLya)SS2mb;hjL278cOY0m$^)`DDCHf?zhD(RB3U3}5<$^cR -ztY9xpocLK~CjM7JbtEz^xF^Ky!{pKg!Mo#28U57Jta4KI#8TYA{WYV^He9!#xW5vc -z9Rj+>P;U;O7}vtg6|R3-I*4Bil#k)*!2&Z=)Iqp@bVSDa#)LM}ho6nk;LVAQ<}Y{g -zetEDH+vvf+c@I8MkQwjw3httU550nyAh@5=ArFqO_w$%kmfOYvt{WS{Pn;I~YE)3( -z^RVFWH%Is3qluV4gn!rxF~L&%v#XML%iF9Zh5NFrw5dKr)60Jh-iF$|liJVs{F_i0 -zx(bc`i|(01_f(hlr_(!(ug|+dE34pr7oCkrsiNdWe&893XPS`6>BS(-bUQqZX7iLsK03)8t+M#SN -z%EzoyGBQPEXtrtLOfdsjz&BdiOqo -zIvn`YRUN};1Wo3oV%p%X8)i62r!hD2!F~mO=LEi_QpEx -z)N;mw?hupswj%#@K`&~F4Ya1Rt*m`7OKUlgV?rY^0*=7ki6u%cU4=NM>{Y^yP<~zj -zOvx4+Zg_u3sbv$Ovz%6Lwb0EI -zf<<8BINO1zm1pf|y&x3!5Io@R<7Gr1>4RP=+DnYd7h*old=CBP5>XCm@3*tmPfji& -zEL&RC; -z9t(e3IOUh!f~O3=nTiuCz~!~XA>q=D1RQo$CxQ6-CAOaJnz@g1Azi6=TY+$Ztu1`E -z-la!#U?~mI1>zOxx&yBzb`b_q-u06AVY0Al_cRvLyxb<25Ue*inOu_Ho{d9^nu9X^ -z`nwqD$lNRDQ9p!c%u!+~IGU&EuXvSRBJ+RmESZmGrMeMKCxn%7WStVepGtjO#vLp= -zv$VeTlrAdSzWx11C~I(#D@AH5>uy%B6GeS^jMXjD-cQVYvP9;>wDEAzPdmnk(`i)l -z1idb6gllObHp72dfBZQW!@18`#*&gM4zE)s`C-*lnSjjmAISnj(Kp -zUZzd12x(KwjXxSh=5OtA+Uci3&o{34zxWaO5m{NRjvw2I%2mh6`jU&uTSRB*P=>GRaX>5-ibF7&fC7P0>`kK34 -ziztrvc1os{q~P}`;{PX5G?fYe{#kz`7Ac319=Z#^SQ>v+=F5NWhO7vKwsZmtES;41M9@QJ$X?F|u*BvSN6XcinpG-Ga5Y-3w^c@*{0R -znUN^u3N$eay9>O(IJLN=@IFyM7Qs)0y};NyE;Bdq4}Q-PeBY<~x5KBR6hQ4ub+BcK -zf#Z|Ru^XwoqEAKdir#-ki}ncZd%m`ZwCYM?nu&3N0cFYZlJum`_C+dlwsV5eAr -zJ9^m2MhQyT@w!CHo^8+ORbK@!BVuEch#jE^ST17p2Sr7b`Yh3_U#7|TgH;63?qvtN}!Q+3y_j9bM#pC>m1X~Z7 -z)$_C2I*j>Gz~!a_mX4=CRBZ=lOk0ET;2rE0!`w%}dKLue+umUu{wFUYDP4Dnha#5j -z^(sLxQz-izUAwWhKJW&{f~&EqhmGS;W%+8HJ0_9Y!~iY>dy}h -z^yi4M_NQ?><$Qmz)K3>lm^Ms!FkINlTkfx~jNy|=6!FR+e5NcxsLh%#ugz~+?ft3$0mStl(X+4ci5%{%;k?ntN?F0~cf9oYL5D%;o|4UU& -z!6_?nKXG`lLr!BhE2sWLxe=mAhL!33u!)cBXs*1%I(!*6PB5(KY~r-6ydIxzY}cL8 -z{IoHk&mlTv4NdV2O=vxoh@b+yG2ArTpTqu@yYQu#4BRm9w#X72%1f -zcKk#`JAHzfnN84+9;y^Si4p~=|=>&AJ0 -z6SN7H3A>)weOChhDN%E3Ir23*ZH= -zJlcQn^lr&No`Zty*R5mirgfsz@faKDW{BkNmJ{O1-K-whA?rH`BJ9;>R1yca9V?S~ -zd1s<+-I=zn_rHJ(lJHwE=2dXF%MK6UU!>y|5%{ZwBEFgz?tP5epJZi%0&Fc(yIe%> -z!k!}8E6U3zzD?9YCuIz|dC2g!<-jweX;FVNWA^~pu%1eLoBA)E2dj&CS%2m|zTSoB -z#TMh$(GnWb2~#eM#tM?#G9G%U2?zBcF}k~$z~oJ1(@nF~U_zg -z5v`dg^!-fY9gO=)Z80(?+ -z`8EB)A||@!2gg9>Z-2vayZ-)nP`+g)m>D}fCP?L|xW*arx?{q>g?!UW%L&C5Z(I~O -zjS_S+g2_zL4@kP&6n2?W0k^X=r?!CDwVCMDt|EYtjb3;1NEAKAf5R;!+oXTH;5Lsg -zbVQ!V6rQ6y#O&zUrTOvIW^KB!&eG#`1l6#y7S1K&*c~20HWOiYSCA_Lf2(1H=nLeB -zOZ*+rJ@+hpsW39TLh|cyZIPHwOV_VeS@$S+Fn^Z3x8%4{F`Otd9f+Eoa&NmLoxftOijMmvh82DM^l#GqY#H|$zw5`0PGOp|tmMw5#mqEk8jgTWfqpPi -zHHM`b?jmhsC2SbB$XxV=txZ3iW-0LlDI|#P3&*2T7Aq{`&F4&Op}l|I7)WbX<;2o; -z+@|zLwBvkQ)g*$BDI7njO`YVRZi&9X~Mr^_N4C{lxrA~U_3o!%Pi_eZVao=m01 -z$3q_NJ=3iWjfi#~&dGmk%HZ)Ku~W2(4H2hvW#5KH6chWfpWv-qX@(xR;+`)2Uu!<7;a=+P8mNc{fdjM(kGhr1jUL -zmhVE3@*VJtB88oZB-YqX{C-a6p9tODk`~7T6>f{M@{z^BKL1&KS7;sjlz6a|;fM$i -z9sk8xoE*8zU`ZcM^$>lrOt_$MkhMgQxGGiQjsNV~to~K`E^#@saXGD>MYfUONTotU -zvCE}empwC>^`U=)QLi07$zmsD>}>5aCu=M|`&Q8;b{xp&hPGU>mFGVtq+}*joPk(u_OkQ$|BpuV=_2CXtRHF%(!ib?N&a7Z5AXBvQ_BR -z618K-^ixGCcwc_WFs@-qL*b-s0bguR;%05Ij!1r~w{BZIUb8AmeBEGu7{6++MOPbS -z9&2LpnRq9`z{gh&;^tL;qMU5S^>s=FABF?8w*dQjs#3sYTvWRC9a9lVCFOBUk;E|D^ -zVwE2I);necz+6*T4;86*4498Xy)+i -zCVI-wN9P++`Y^fwcCN^FnnKn3iBm7K`Jm)l_rSNk<;xP?t+T`rM1Z+WmJ~*2CKfd8 -zXb=PHES$o66K)E9Em4d|ScgHIG+voJ*#R%|t9g=miLnC%YYdJL$vSj91Tfe`0b;b~ -z5vqTRnJS{79kK%Zl$SU&nz8~!BhJ%v+RDRg%YRk)5$-e1&s -zW_P^=lQwNB`ZQJTQU@=Ev`=Zm2qc3@0$17W~!XF6C%%^Xv*Nq(=A(}8X -zMj*5{pI$r9`FQ~2J?DmL`Q_6AXKl4*&6t0NO)Yp;E&e)!=O!UKtPXtPiaFsu-O7Mj -zt#;m__|am0i36t(^ImX0vr>V6cJb^*_w+ZVwxkjQ_g&s5ZPEyk5JS*K=j{K`4CDwf -zPam$~cW}S(L1FO4>5dCj!U`(N9NrSm8OLg++&>D?OTZ@#y6|Jj48H=uAH=UU76JaDnK+#?qsDezu0Vv}1TXgl -z41<6s%So2TRAldTwotH)*7oxQl<6d~IA~u*Oq>2Zp;d);s}0+levD;1fk1WOL>lc~ -z=mej8ZWFNEb6s%lUG41)vL~K|QS_M^bl_w0!B`MpH5zc@G+6A$L;rtB>1LVj -z)$=V(_`eqjq^4i{`%QC&81hvcC!VW`BiC=iPN_OHu-Z{?p^`uF -z>>@C@Lz{YdB9Y!aJU416oAnWi;|evHYsq2C}xLUh5~TIEFEkNhC4;}n`| -z{cqwgh$)*-8Jbt9KSc)+mBbV -zmdY#1H$=j%@xY>g1{$+7qpc0R#Sszh3npzN7NdUyISaQ%&R3R7L -zClVa{6SW)49>3abt)gs*b#zvMZ&Bgq8rif -zaE)$U)__qzZ+&4kaR9hDh?D$k8-R5XCQd4dcdjaSW50huN&9^Yq!+?_>^i-nzfLD^ -zN;Z;x`3`Z1m$97O_Au*S=EZwnP;WM(4!dq%WAn6Wwi1Ser4d}Zw*7&bf@Cplli%{hV -zO+bI7VU?YRhvcyx>0FwY1KhzlpWu`e&*}|-!KO&s(Q!%DbIKdpxC=m^XbO;_~ -zLzOn!p01u~2l@#a;Ig3Xn-$N!OZhp5kI}2J^`%xqgj}6N)$Nv%2y7OSSb`RDx*n3M -zg}e`J2OJ^DEaK;d!plAYZ;Ui86`<~YPWgXXBszqBG=*57z|Wd{K~~H*)2s$g#n1Oz -zjK~{}c^9y7@K@B;ER~rr(v>4hsj*>rUEEe(3U7KTJ3RB{=;WQ@lfOvn{90*0^b@1e -z9)>ezrtN(O&Xl?NsU{vTburO5yNJUR^N&m}XVZF*S{SS4U4K>shY8TqtA5+%2Ni#c -zZ8-swF9`>Cl<>de>`DwIGArRh;jtKLQ -z=@OO`hLy5@RyZ9saP^3UgZ&Dp!s1+;V~;*AgAoqDZ=7#5rm6NCo0zSTY&^Nz#EJIW -zjrKOTey%p{aGRC8h=LZABioG*G(3L^H+zB7TTsFVThi%NX>qo|4ep1O>=2nR -z*EH6^+M;2Pe9X{LgYGF(4HC_Snbev(uQfJo71x-drdC2zTSf`gE3tGV9d(ILW$e*j -zX9XIF@jq$bPG+hnPe>08?9nDnT5IWgh+XC{(siOaMby7yXB!Mj+<^QZc%Of3>(5i? -z5(?(r_gaG2vat&nB7JQ~#~!2K+JR3tX(#&dPouPnz8bv5kH=Ku{1$)sfWCc>)gCzI -zwVBp(3)V@+e!Qc37yeVL&EneTAnwb>5z|qS<0tV`?7`bt*78(HrtLGt)(U;KjkdFB3k$3X^~@(CG497= -zKb8a&b~n+|2|I_+tYYcbJ2Ll)iTi+=pE=bzd~Zb(A1F%VyDNVpm?>%@{s}jH0JZqx -zovX~t7Ri$4(`ZVlb!K!{+iw4C#zFAjogaQQE{m0|7Slt=0w`f?*w~qmT%yPPJ -zzz@Lnrx<7LE-_{Ce4!;+0QPv-lj5(~!_ -z_Az0HBzR*px9o4q82O8pd~u)b<>v}SCq&x`oWzBMDan6Cw5iY_F7eoG^mBtnCzxmv -zhnQ(`E0fNO-(r*1^h~%z1EMf-X%Hvy=Q=^pAeff=Jv)D9K%8BK%w-8-+Fmn{srJgl -zvhYQbLiKy4@83`;FdcB_@ifYdjOarGUo~zZpVy9I!PjcBS2nRUwlSa0u~u&}y>|I| -z-Vc|W!_rjZVJ&OE#Tzh5;1Jk^9K^g^TmXihwf)+R5_edf4QZ3hvx|R;C)EQdPE9YtU)I6~@wt4bHnpU& -zjrDO@a}_W5V?|XfM^9eDgSWgBp5^)`Q+=0meb$Ln`*m#Ufpr2_@dcogr{xQpi!KFd!%#{dAbqs83nG3Jf$8_nAW?|9sPmbv|Et7fPsfcK&w-(Oja -z%l$a63YTS|ndNm?&Hg5y1+ -z11H5cuL#^RKS3Nti+kQyjXY89KnOu!ec -z8<|iIHFLOy8#;28mu9d1bznsp2elwx-&~7J{RAQLsutM9k~0H8)BJc#bFFgW^BI5Z -z**(Qm|7lj4lHlh}=^EA`j~K4gdzMAd^Nx}~V8Q87W!PEm=u*dGC(CIsv_-u>9q#qc -zFCpHg%CJr(&e{_-u<25%`uvq`Fvmo -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 -zBR0RFBv&# -z+OOo|O`m_#qenbWIPBl!QFXcLyGd<%UFtC6`H_#|VL$D&^rtBAPT4bkLuZ*3mG7uO -z>gVN&qE-z{6XtbdTWfAF)+P_(c+ -z&TjkLZQFLX6|S+2`T4<7Mm;trSr6jCJcE?bSY{Kd199@HzdpK=?K| -z?4Kanm>Tgx+7H}{TiAiavcGAsH7v)wWgopJeNgr*J(K(LIoU%pu3yIXaQFr3t6!JC -zdR~9@&M$bC&Vsv4P4)}C2h+7wAVhNwB`iu&oP$iqa}c?cWiy6x+yWFvn(I1ZxGb>= -zfDXv|@?7{8UFqGNpHK8|C;Tm4?SHQ8e-L2!Re{*I3UXbq>pzsZktT)bxZS{gUX?N>;r~_fg##@?86X)cZNzS)Pxecn7FqDR?$}X28S;@V-XDKZ^X*>x -zzAwOY0_ELJ--CgE(Fa-s%AVI8;4=n>3*lzr*+T>$4e;DkR&3Ut#tF{JH|~aM-zf6_ -zifyap8KP{9O1D&D$L_e~id(YdSRTJ1=UOe)p8qO5^N%u4`vZPC7yp!;yD8fo<6|;k -zM#Pr$b>YRY2YHNM34T53A>MzKGf0uWhRDQ~uwzH;0j*2vW3fOia5(&s{~^(nl-{S) -ze7b4#H_Or~y4Cu;{=BYi6vxF5xGMAZfGs=jpmtsjs6AM7z^^&y0ypGr=Sma9uLf=k -zZ+%tZO-lce*s?-R+z*D>IhBo9%?an5>#NHcG}0_J&@jLF1-?e*t^|Lcqq%)uA8NwY -z2G=g+=jkQ~qwLgIny@`Q+k7&YUX%8}7U1>xH)PKI>!z;;_{{UBy@q{UY^SQ1k?yli -z-2RvJuh5yt=bFCUq->sFmcBp?$#sfzlcEKeWogT)ny!>4)A=` -zfrHff3x-JdQ|G5LwugU0is!ygfBO7if*4Zc{oSC_9bXN;67-6EWVkCteG>d$5Xa%~ -zgU#W;2{ziq6$Z=sOPja9Lp=Qh`TiG3kL~_1l3uNgpA7v?P`7Qre?w`GN?pGlJR0JC -z)vnO1Qf7$a-594HD5LOvk@lY9FSL-tj-o!=Mm -ziH%j&5m#8O({G2G!*1RF55@NVw2aZ`<@+^Vtvk9vu7fUgUzD+ZD6GyM{q|X++b-mj -zdEjsO=RV_e{)KOY!+%W;d+KXJ(~5VIYVWrsr{6$%O1wBU8VD4^?geF1G1I-2<65SNvr9p2aNvHoO8op<@QmqThF8negca2U@bbUVyr=C{9{a|wr^o5L^L -zbyy0kvB4SQwfDC?=Qw;=dmyOxT%Q-{(|ros`?0UcSu<#P!rMA=L@c0q#w+_;hRrk= -zn`90K?Q?&Vu)yz-&(SW4-!J`q2v*_GNk1O~ZfAIn>Us$F>&muqNNe{qO -zQ?+Kv<6*IR9+h&ADStU>e~0S~x~IX)q`qgvPIw`#Y!NBVu^TUG%07-^r_Xz&UsTxE -z@u6L!Z)n%-Gmu$T;1dfNjMh131WGwo67bT31;(;`$k==L}36@i9tWk+oB9`&lS;$FX3odNv5 -z_o#M008v1$zrcBaMap=@$MC4YRv(`se8Z=#aEHSoKgWGo;PbX`L&)QI^;;~U+jTk; -z4teG^r%r8uVRi0xQedyZGcq=3g!YWfE`+-BHT#U{8vA}q8IQ?%nOYaz->R&~m5o;8 -zvw>;t4o_NeX$X_uR-M&JxvZ1Fozl+>?ShoODEU4i@a>ZJ?OGlFF>YDXEX&*gNM$3` -zL|0l7+BJcf1eOGrCEv>~yETPHPT;ANPoT0RUl!SaPEcogybZJ5N9QI!+b`&<^z&7h -z&&^fWdaUA1n?5D5EYKvntMV`43gbVf`I6Ts@Q6CU2CdR3P}%za2l&GO>5N+1{yz%* -zfRz6M(aU~G@E;WTD*}I2=zbO2N`9I0{cFd468w^X@N5Szi|XAHr^jZRX6s -zejJ+a@b3kFU*JDUKmU{VWBbhMpOv4O@D0vk4?WPp -z-v>M&p?Pso_PF(?)v6aZkIzPU3@@$79>DVxE*h -zQy|+rPbgnuf#>Y=7oUBOr2N#BuT!H>6YJLQZ@2BkjX&b@aZ-CU4!ixL`0QDgH{@~B -z42e#N;UD=GO%I(vbDdKHR|J*?ngTCN8a_W}+*N_s1cu}cQ0Z(ctj;WkJPa2FW(1CZ -z`xrhc&=UBpz*Byyqrji|xtu%nui0(6Lszm8))qOt@la_AJaL_b=~nJ<2mk? -z^F3W)QePwg4F1Ly=D|QuK&5eq4~JF$BOcx3x6c82|Bd0BzL5WzPx*xK7srMDXu}TK -z=NSDu!=(6(r1i9pC98PeKaWWHa^^yR<2x#SAGE^`2L)WXBVunG^{5e&b2Z`RX@T>? -z(~C0ao)G+#0-uujtilDfu_JgAH#$|)+s;Y`DhUHRpF0#K16flcRjyDbLw|J -z9sb{uzWNVRkKgmWMD$U2|R{>;O&=4Fr4R=?p<->5Bq!}Cqb_hk=;IKP)Y -z-=sXgDS7<0!2e6&-wFJl(Eq@H)9PW!{qsY?|4@8wf9SdBVffDi{iNIfNb>n_(trOA -z>nOegyS>M$4tr%i*)Q;b=!f@t@At+$EtJm#5*HDO_fVV2U!YN6_Y>|IX`Jj&5c4pc -z^fKi7AC)>B_4);N(^}B(?Xi6l+PzT^L%!D%lQf;)W-s5_=;1SNMv#v4Fj3*^-(%VD)h>$gAZVP_*!8g;4Q~GHsXGWkUd05^F55rBO+mwFX -z^zyEN{>}sBWl8y0yf5q9vW7hEb>zZ(B;S7{@O=V5Ea{%}ws;lo3ljI6Qr2%mS?av~ -zH@$p5{kuZ*8G-*^;O_~4{C%na7rY;%wf2t%|DOc@sl@-O>=hVt-~O4z{h9RjpG%r= -z3jVLXe@%VyZNYy>@TkT31@7_eq4}Y78^0ZPX#O7lak^%*AHFL2y(am+CguN7zJKE7 -zJ(SnSXTAZ^yY|ceYrmYW?e}dnUkmpg~lw}scceSX`gr&sbg -z>to$A?i=zc`{$tKmk>BE`Br_FuivA>b)S;s@0PsY?VI&5eA>tG8G-K*_)dXW$v@y1 -zCI4py{;I$i#CPkXK7WJn{>LT$69Qip_!+6+XMB4+${+SKK97Ho$FY-t#>f2d86Tfs -zkCr -zFcx^oulyqX;x~TH-b3H?p_asR;HK}GuSxtTFsFXcLH}jh*C?FQOK$pJ_J!36yOZ}8NM`x9d?i(derhdI6g*w>%&v7dmWPd(^= -z-N*24)W-;avF1Jrzb^g6;bX+-YWyGaGaW)T{v77n>={x+_ -z1U^J#dQ$vkPJsr%u$}Z@gvt(&;lts$&`k^Ev3N}Ke_Y^zz#)O-GB)E-UWe3S+CM>c -zd%Mu&1y%&sh3=hF#FKy`0IR3 -z@ShO)+Ywtu^)? -z53bvvOW7|A{I+v7I>%BVV~}-b$5w<>@M+DIi$`e1&=e5^h>==^07|BB8Yvg{LA*7+_s`%hezK6#gbUW;vXQ4lmI#Yg^`1ij{=QD?2kbHhY{QRF4zqDs{XFhQF<&bWN`P@Xs;TNaX -z8bhF>ov-%~0e;8^a_(QsXw}Yu(4k_BbRIm3+z1}Nn-wSDIUn*x;9}s`L -z4+`A}rQRRXuaiHE-}brkyTU&VurJmhY0h~*`gDJnEK+K&KBvFi!;tsT=&SI&eILcS -zmv@~!Wq!r?yzK+$_ziH_nY-+HrhK?A3uL~$F1#0{FzQt|eY~QxkJ0tp@ZoiT{g1_u -z?xsN2xvq;%q^ZIGfX~9%CxFkv5Pqde;h2YB65leP_ztN4cu5yu0cuZ*&U19v9W=!! -z_mt?1t;E8s0in_?zNaMd4sI@Jzr8Tn~OK_& -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 -zz?3p!7O` -z#c~#|$~9af0+AXmrBUpEj+(PuST@iCg`Lu1Zj$m2gQiUMo1%NN60fA2L5hax9xADY -z*5VqiHoGFVQbjGsFo|lk&4Azd;9zoMI0~E$AH$Oq31C?WB`0LnNk4>!?xt^G$#nz7tagvxd(dyJ=E1yLHE`}>Obz90nHC*N -zSw1TL4E+ZRaTx{+XRbDex^r#~m1T>RNoCt~O;gtRiQ@|}64n|SkPO)n)?D-X{Lh!0 -z2?Orz04Vrt`m7<-+fX&vTBXz5WE1};SV_&Z>Vf9aZ~`41mH4Bv-4G*7eUYmT&P -zcfd~#b-unxvleW|j4<>-vy1UCb7#(>{lED*FIOl6)6LOHdW}_e_#ZbF^)haPVQf(% -z!0axV_3H6R1;qs!43PjtE6#Y9NCvDl+paRAnzy+R{(nM$^MG7$X-Q6`((#FbgtoVZ -zP1RFXkiVc#Xa`ynFuPOG*xcH9mTJ@z(?Tsa!QPgXQHAVnM5@K6ZV{8^R*UM$7RaI{ -z1&bwY0244axtfJqFG@k9+A^tjdM!J&Q!V-bN2a83YVEhns;J6yN^ao|-&-c<+?!fv -z<6|?4loo7%kwrlZv@GKxgtmua3o8wI=(*)OvZsv*x7ZeG?Jg&5$KTPyvk`?f5V#Zs -zI+UwwhgzT_Sr`g7{@V$CEjd%$*P=FrL$Fs(fmntbiS3q+4%#mDorW2r=`Fe1Rt;K| -z&%$zChT`)EoxT`V3o7q?j1{aJUS{1eG*@s#UX!E4HiItS#AyU4TG_TczF# -zw!p;9!@xm#ur8$PIkZOuAFjc|VpRJZx-itTCI^>5%{%-7m;+FFp``5xGS~+dED+On -zil!Dk11r}kfK7#FmbR050F=!=EoEa9&p(y2WT(6fV^TF(-%2(P5<$}-FILB31YuQU -z8fX@OaPB&+H+a|sF{~0_FqdH@D%tI#nay|F8QG{VHwvmT;8Gj4gSVgt%*r-2bSHYK -ztligwbCrx5Ae|>bqB%|3-BK|(jjAk%_$j@gS$rJyDw9oY|N% -zPMw}!SCtMg`&2rIT)n(9zC2i3Sngea -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 -zugIB@=YH2`Eo-e?QrBg(Rx?ZIv^yaP6} -zuSDB(T-;9v(CdNnzWb=J)2|I-y -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 -zPmYl+giKL-O+tc$@ny?CYeC`LG+~I(OuENp= -zD+^-xDlEDdB4Uq1q}U_Y&MjRi8H_`+gZTDc(WsiFu-SfzcObfqC8NhNzmM0RK!tvK|0i~86XI5hmNyH0IUeNi*;xF -zwgw8i74MF2%wWRIe;dj2is`0kxrIUptTWrN;$qAzt*`N0O7X?$`u|Hf5C -zPQVwoV6Vv0_udjcMUOtg7I2k2JhGgv+HW`Evo(A+NAF2RTIcx1u%QIa>_oRIH+wb=be^#@bm>pBxZBy89h1o50 -zMaZ2Bj@oNS$@_zk>_BA15|NRIWml_NGW6cR^Z1g -z8RvZ>SIu466#5Iha&t%F!)r!EI_cqL8C1grzI$@}C^|cLb#ex_yfw2l0j*u7ZL;*w -zJr0G~N+;P1e*{Fi9Ru@ZgA#!_w2}OtFLI%c0VbF%%bf{%oYGajHINW-Yo-FKD_W;a -zH&0{=Iedl1`7WBPrn?g>W~E+9lbzx&2W!=r*?sx`TXE>$lB#V(q{9^A?0nA-ghQ$t -zU9Z*5a;m;uGRk#@#K+%A_ogd6E+o1`G%&S74w==>e=NF@tlDDnu0{&V>h4={oZZ8> -zM%esYDwOB&QDk@ODeNSh1@Cc1R1LgSq$be)w~4Wn?QtS^Hq@zE*g4ThiKoKO%8T!} -zxE@}MszE@i#!3J}l|5I@!g5`mJ#AM41uUM*9(2Cl^XWbpn%umxn}oCXx#EOZA8?^= -zWs`edf3Z8Fq>q&(ZrfAg$+2$) -zuSS7@GT2gDFQenX`%Sd{_FK_wrfKnen#>71kX%)V+_kVgsE|qZcqvN^#l!oY*UiYH -z3^V!AEvOy&^FwH^k#~@4^lu-D{(hiyaO4BGe~+|on{+H&$Ga6$lS7S>)5a<^r@Fl} -zk;1#?^R1DSoAz3CUn9lS&Z}+bv?ir?9Fze1i%l+D_(;hz37eg05)h1JJ(&x+GoHui -zk6e5)!x(xW8Z8a(=Tp&{SPbiE-61D)`)C0Mr^ptLXk@0mQYhAlnaHrw2g01PwcUWx -zf9sZc5)Bbl541xz7fM!hBtA6(a)8~l$>m1EPlE=(YJl*D`qZ4aiMT0u5Oxr_%3Ou~ -zoDVfh4#vF#-{->bSi)fhU2)4Kx$#NULC{jmuxGg?61A;j3Z|e4iiW(=W5Ojw4(*H+ -zd_%S+e3%cWRw3t>KL_0;)|$CVUQVF-f4R}nn?>W6q})mT*gx=Ku{e;eSoEkDp3Y`j -z9HR}NJ7-rMwlVgTRM4sXZf;`B$kp*lG8>~FmBdQi`UtQ6&J(dWjvv#=Q*rp%-eC~q -zg01r7rrM)B5aQkns-|f_<}cntpp2D4VT1{UDkl3|q8cj9X}^63Tm=)?tfFcSf8A(@ -zpDsD>mxttXBfpSc2BxORmq0cN9_Et82MGrR)fsa;h}~;r)rA9^b{KV7qFi2~1Nb*# -z28u?u%p`9U65E#w)=_cP#pvAxXQt -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 -z85D2eRSUB4Kw1Si){BQBv6|htE0jaI`{-1wn -z*q#r2f3$yMbpQtKU}f7jxk(Q3p3^I6e}F@nZOFMCE8B)cec;ZX?god78BaG3dSOU{ -zQ_PVwY-YRY+aG<(4L}_6XW=htRwyvjjCa>A9cwX3$Hn!f+uz}gJi&yT`u(mqYdR1l -zWtoW<4R89pyAfkZ=yKjn44K-;P;iXk<2@nr4ZTM$o_rtuie{y4jU0F(+vbzBe=%=j -zV72q#X132v221nV!G%8v(x>6|8`uEy -zoj!6aSX!1oB)fk2W(=F`-e8Cde>*XJF2nK-8#pxhYxhZ#z9vE^h^`9jzwj1)hut5( -z?chKH*)<8qj-VCr7y!dyB&8iTwB$72M99_MND|xb&-q3YucGwRw5&YANw$R)^dCp+ -zjWIq74di2xAo->fn^5{)ZRjN|0av__R;t@o@5D;=kKN|#?s{`$du?~Kf4aS0+uHCx -zSXuEtUa39VdFp*CEcm=L(v(kFb&#*9TBG`hrWnQ#=n|*peJ3f(MV7+W{#9GvAtQ&{ -z){FXb%{wkB>(%Y$wcX~{N^Q&gN+qKEneUY~;Z}3Ix!i0RZ)nxFx5=hYfym5+_&&wg -zqglh}E49}4R`U<|`N>L+f1KWYwo-cm)n0>5&`N!EwYG&uK0vK+kz*tN+uZttoGdk( -z)s>caY^B~pJ4Dm;=W9sYB%_+`YU???5e-^4w&9JdeYk^>^}})7+{*t#4@S -z#!pt-{kOe0@JUdEc54Ma?kn>>Wd{pWG!4+1Qcc((|6KCEAuuWpe}qs-&+CGh^aYdx -zvimEa?RV*!BiNb=Y{#V&jBV}d6(3|~7(`7Trs^&w5`vMCf7u(S=>A05=5u3V2PeZj -zUKBr;_2h;3m(<7+WJ7&)Oe86zZ4^O88cJy)w5@nT#i6*)DXh;01->;>VeF<@gq^n -zzX$CB#{c-1!?%dDVA$gy6A3WO4#hP%Y$@KemzvvEn8o`(whF6bJBOt!-lG+NL^n{` -ze^j?;ilr0WNCbl|Hqf&S7+`~UKL=~f@B#Raq07{Wg*j9vf24p(d}vXEk;XGMO?xYB -zV2+Nk4hQXnUI#y!Od>-Wk$hYvQveXM%ZL8|n6F*(2GKH5Y!6EEcBR@m{-!+u&-y@w -z&qD09P{U{82d$7l8BGyhP@>6(G9C$J=Ws0pB;5gJz}7i(40PCZ9N)vZm57onCu=vb -zRZ_rwhHHV(f5*T^T`wjOMIC=gAj`U4NT73_;;rqdOC02=gZRLdEq}=yE6^*@x&d}T -zDBys+OI};(Xij+d#0H!18!9YPXRJE7pB)aRTrb=iciWSWV -zU!5616rglgHPn(_+ -z*`5h&9pSwOWSNWMb)hPBf_jp^T@wYt}RF{{aoJl*Zkk;uAK) -zJpBksppn+7X%X>IN2gM*(zpg4s8ytA5s&zkzDcLqt_ -zE>UgDIg8@tx&yR3PA)+q+MR=gJ4rOfe}_f9?JmeAn`9ENKV9Fx?p;g<{P`!p_BOva -z_S*BB7B8=hXf?s@#3s0%z;&T!=V_PpW4;7VHDR=9INs -z6}E0I?+bpc<6VN|{QLPXU5OC*FF6sN1Gl`-`C+5>yUeHg}S~ZyqZND;1vinDK2QMZx*1eBv+wDE?WUagB^X|c%1ishFa&PdNlt#T{@|S7)5l<7>`r`za -zVx;Vl7d9r5FAm#B5#@E3Q4K3)U>k} -zo?UN6Vp!S?*E9py{k1Q(e~%=!v3l7nM`3%s0GG5&z}JCyC5qCYO!`iMt{cNZrFbzU -z>;4vONoB6y-6$G*9T|iu)A^3<)<*1>6N<~ctM|2$iW(XHxJJ4GcqWT8x+)_d@H5l7 -z?e{We6*~?qKcq4u6o6q{o?8p2Ih^Eowdsp>trJG30N7qMKVj7pe|{Ws&HcKF!E#*$ -z!R6}^oR7DpU@$k7IBHAjItDPgjshh80#4M`4q#^$^szPDA&1YwE|ZrVnXcnk77Xo@ -z)c3LFw^j#VGcZOV0#SGcyRBh;a@R(EMOG1V3`v$3op8RUZ~e1)YJ|K;TS&YyWMn`0 -z-fJipxe+Z5CI_#0e~a;kB2>PgQC%pUk?}Gy&`7`U!vuT4N^U&Sz%W -zNf(a&hjH*t?3Xx8^F%*ln>uzfF@xO{S>%i+0v&%^;|Mk0KUTd@SF5D<^giahZXd2z -zx4iSK)z-FD*zTe-w6?V?7Fh3t)m1>jKOe2)zaOuPKWli+f9!+RI{d8H8Y_UQV{)CL -z_0R+||1q57o7kqrP+-CADTWxX$6vHOw{d>Qc~ -zKh!r~R2y}=e^HKlU-UxVsDo_sHIp}L+vNNG%hj#wIy}NZE$=&iAph}PxLeVb5?xcH -z{;aP%(1z)Gf6l>QPJ*E}TcIvGP~t_nDU@V9 -z#G?Kz&#(qCe}?KElFZvWT7mHD8pjUxP72f>8!6E%!Z)fBDu0_8aLevDx1 -zVh_K{Ui=bqXu&9VU-GCH?^d0R;9d{$oJrL~CSx1HZZZr8w+%;wQRXo-pApG@@;|Fi -z#xUZ%f1nt0jBMDG5z>T=#GzktvM}Cedq??#P*$!}>h=!kI$4Aw;<<_dS*)}^5y7CI -zrQ}s3so`XVv7q^i2n!J%{IJ820zl%lr?#PZh8q6co5{#x|6ND9n8zE{wm!6$KC0DsIvFiMN>{v}bPC@KEYay9YWsb1NeL2s -zNRfR?X1NH9L5Ah!zjMik&V3)vJ@^8^V1GF5l!z_2x{; -zfBS#`kYM!mGlk#||Q`K}mzFRng9q@QA+qau+RneP`923M81=ec->S8F&j@CHXF7Ys7w;6#kYL?6!DMD2&ET)9-tC}aRapxdLJNo< -zw5;*syndU5w{sh-5S6#Fj|QyYJ7^!Wf0Z|yI-+3st&s^{r&9ATB;ZWpm);-r^~TEV -z9%Sqw?2f|8>({;aB%pW~A`m+Riz>_-bQ>65KGa=H&6a%UH)%>fCQ$E2y|EDOafPHS -zE8b_~#|@nEu(wM`k-RU387~~S+OK^&+nK}r19M$i^Q{B4STf37zV -zyc3fGAv8U%WB%w+M4()SvTnA=`^r>~WdH9lc?+8D_mR9PfGOJ}-~YYcrxSovt7MvF -zt&2Fpe-7!r5YsSo@$=vM_UU8jeLdlTD~uU8p4T)pDw#Mp)kI}>DO(5qld&D8urEBZ -z8gLMC{^IqO(p8Y3zrs|tvHt>}fA~8m65B_G2Q0%SbyuzAPv2!IND#*xScEITOif}M4sM1f96NU9*; -zX#%^FH=B!ckeZ^Z3gvkr0fASxLbI$EbrpC1(mRBAH4P=)hQYGr25oX6f6T;!{Br^$ -z%DbLG<+Bu{ubrgdG{nqK_8BIV;^F&MgPprLb%HISO#ka3)<{2>xM>AMn7SG%s@I<~ -z5`Pc0iNp__E*#fx;3IhWqlPFF32t{nWs|Z6#=FnS{=pa^p2j3?jQ$x -zNS~03Y9Nohv8_BB+-dwJn)E|4-`RqRXT1YDZff5bfV#2?vquz -z2?~+~{Z-ej_`v6O3ByI8hXR`S_=HYO!yy(4dE|vkArFj7lF*egi@WI5=w}d{zGni3 -z*X3;lbOh`)->eKDUjc#BzcS+az^=y%@wo2?+CDff%vK;inj&OgWo85A${#_*X -zXFaGyiuT!lHbOCc_FasSlP%`&8px<7pW=z -zj)2%>lK(Pu4@SOR7DU>%ZftRWY*7r4k(c5GUQR0Wk@-XebVL6TC$@O5h~yskdL&mx -z0Z=2d*VVI>J(N$xl5zB^I)`j041E(d-r>*QmnhPTWryb31GV75w1OKbRUqr8+GQur -zGXDJvA!u+&f42lrn@?uMkZ)Io*#-JhB(=UwAkqHAr+8TTbbZ_VV{ -zn)mh7R$Uswp#|vE_Rtg#Eae4M+d`vZs*;`t -zR!I90Z(n_di6Zb@$@>DI2wj45)8&Oh_Z=<_oW-}8hKh#%&Q=|75EH{er-Q%0q2ILm -zrL4ch=OHUgn4MlG4ZRqTRGt9mwDq0R2bhNy0*Qy&UzgJ(>cGs)_+TCb*->+3$Yr9W&mY>&z -z(?IVmB<2KoIGNg`$=lm;F)f9uN>$Wi!|{RmIsy-($#{8#)#=;^;$ -ztNm+trT(;UyI$K~Yp$TWzWKbi1#hUY)ZkyJj`uPC -z3;TUGR+;fW6F=tEuX*ot`K!ceoEfU;HB51oEl(2_;p$ANcQX>v?^16PiI7 -ze=jJDgG(_wTQg{rgtgyGbe$xmOHJrGW{9N~#!n~258Jr!D@+ad+i&QLf1#fKf^v2E -z^4uDqaPbi|x$kI?V6K3w`cf}(ihqXDYl~lqbW%Hr-&=~Sw5I&Ju=0au1??U7FKBm= -z2fVLMxhV9`tOzG1ze{Ry~5W5=bRVRD5lg1>(L -zna;^*P|VOuagEZATexyzwp|1si^AkPE3tQeL&>@^_?hQh{Y)wvO*fkJYkU>~wCKyh -z<+{GN8S4XKbGs>NA=}DN`P9Kudh_RLFzMV#Ana&A4EL^)CYk7u-67%;J;YF1{bVB1^kr%HbjE_`;u`liRl?Vh2xJkY0HZydz(b0c;YE*Ee9^`{xcH(k}0i0oF(L -zjn$_2rQxCxA6m8T*6s!he?p(Z!!}xFLFL4+7PJX0L*LZVeeXt99s>g#EIcs1HenqD -z@QZq@PF~CFP4BCElLsmds88yfFYdm$5AWWDe?J5qRG(a{eo=2V?>u~X@6nxk`n`+4 -zVHNlcmb--ttYP%){$2d_E&STt!Xt8M(#_^36kxlyz6&cK3?z6fe>U7p7^C0TU;2af -zK+D_TktapE4~n`5JfWi$r5!a%pCjqU_;C0b3Z(okLZ%(tVZvFR!1usV>s+h%(O|u=j7OBRi%m#yRYcGCe@1LE=npDn*a`L1GFGo2 -z95np)n^3yuqSTMbyZI-=tvUal7k?j$zmNFu!kkyezjTI7Zq6p75*{4NGh%s818BCJ -zg1_eCH&aIw{*V^$4qD}pspYg|TDn>){SlVDr7S#s$bHg|DDRDu9U6q(T#-isQjpVW -z)9Ze~@lM&je;|JLPh}*5EA;{10poC_d+@X0e{x8^!uEwYa}x$2-a+WSpM_z|8Xpyo -z?vhC8HdVZ3`}W=UQb(kv{4Y=`&5;T4HwNzMR);-Udg)HAxKSmp>cWie(9kBNbT9EypayXixDe;Z8nD>Q{dlMU$%xD6XSa+r_3 -z9uY)DBag4@<`L;BZ1Yox;$QC4&?;S9z;ZhXeUlir{`I^@fYH+mp}oR%~)=lt48KzUw2K6^_d -z>oqwjXrH7mLqUD;J``?ByEtc@mazKf+xs|iV`u-lblp2630n74f~Cq2VXYSwwEDx5 -zfVy=n5qH5>Vpkqg^QaPud@r!XzE|nET84E!eU(3M<|Tp}J*csBg4cOOHq!#vw|p^QtbFt->_d@SpC)sR17 -zQdR1CGgVyZRK#zPXxtt8il4(|OjH?1K!=2}UqE$$;=*$zyJgGbFEea?n%x -ze}wL(Fdj22aTSQ~6ssrUWa}RwzM@cl>RI(g6)om=t2^6kAVSuc$?^OL&z^W6J$nKY -z_Xp2bydR#eJbxfv4XH(=t#oBbf0#o5;8`7BSI5loz4Sy`gCP411?LZ+fjs>&`~#_< -z(w{n!KqCI+8H>^Yf!)Bfm)_}TFoHJle{?GnS?I#E?wg0$3eRAbI(!0>t?3=T>pFk3A8sV>0r{dHP1Go8xkJ~jeC{85$Kaos -z_a#UpTlnaS$tOU-dj(&?UteA6{`NUe_rhQSRmJ~kcx4vkch{>M)u$Bo!WFaO1K1gU -z(16``V|m&882-U-*1!-UXtCNrf8*E&*~os>K=aiP8c4=nE$t0I7F$E!8A2~?@FtcM -za973~y^ndP_)$YXH2BX;&I0$fxOx1LcD)Uxe$o(oMgB`Kgr5BcTCj?cARjh3%a=ra -z2?GUpn~i7q_>2kx<70Id3ydSE@r+*j?Bz?W2L6QFA`1V|dmGF6Uig=vf6!DIhZg*- -zFVnwRL0KWH3Oxek3;GND^Ou73l1VR_`x*Vqqy}e#kDv2j+PyZY)?YM4b-4s}CP1c8 -z5XuB62HXdKMBCtx8?sQ;M4vSz@23q>&aWG~Wbnv{mt2$vS3nkt3h+7qZ8QYpB~xCC -z%wN`JCNKFT;jfoe8Y-S(e-jxtM47lKpYyKQJy -zbGZuJ_>U-*&qsKX47j#o@j!J2W)6^-G>$$bZG~Wmf4P(J5Bk|Ye|Xg;e;Hr!&qg~O -zdv_Y*ENQkace1l`oh?U~;YF{K2fm4>zMAJk3eO_UG|5yc{V#gAQc&_u;#_CZyOaWk -z>CgR6-tuZmXVJUjKs8_e2gEd8`Wp_+CS9T)AHJZQ6)btU--&h}BpwfgKIeDYg#wv! -zIT)auZ$AZ6L-9X7e-{N=@*X-MRN&ax~uCF$NcM6rCF&DK2`aHDoxP -zRZ&S7y;Cs)o;g{0VtOB1gRlRUMd+|a?`#qz#?7%eO?P~Y-uWm*N8w!b?na4y5vQsw -zOBgpoh!se4EqW&`k}T#0N2=V0EqYgNs(k~!Om<(3-nCSae=xOL^e(2sqF+H5;i5BL -zv0ZkOjl=k8Gj9qgigos3XPu@cR3r)NZvG-nlIBc=M= -zMldE*D76DOTVH~ojG)OnFpF;S^#sWATnvPc`&QcHwmF}ev{ylUq}#n5$H+{MZr5&Zw7A3i`_vpV|E_zqkqIm882sX -zFM4NU5ILlNNT9HjHdi~Fwp(TV!wJSv_#u^N(fcVze{b!hb1i)(J1pZhZCoo>a$uW- -zXc}AD=_b0Goy($kGX@F{X6qurwVWYa@e>HDQoGnqgk(Iu#oR%*OYF-T+NCAlr6jDzJJlX?nM0Spf7V_V{Wt2(2w7%cIeCX -zLt31fD~QIBUmYhqF0&xtYxawA3=>go$RIBnf3p1^EK2*mPB{CdH$G?&%hFN$DxEEu -ztrAD#moqC8L6~hGA;An55o;9y7QVOb(46))344^;yKRb`_8pn>@rRSN-X4#7@15^k -zhf(L7f{&s!Cun8wn_WWDHrucZpvw~Lc;%@R)^V*mlK?cg3kGGp?|koOufrqQm0dvD -zf1ORBteXAGAmPqyW%BxU8O6s%SI^KGtC=0;M!&YsvLRvB6mt#A9&R<7LubjE>MS{T -zq4GA&S6uS5Nf>kLQ6wDKB%P=&)_e+x9kQ+pF;%ggPi8R}Ek%^xEN0cwy0qam1&cVG -z2aU$wNWqd&u8?Vkkf^d0zfFlL4Ic18e;&>4=Io!$W6DCwC}qZ9j-`lq-6@ibbMjJf -zw3skg!Z@PQKGa6G=^tpT2SSanv1!@1I_=z0wCKq9G1Wq=;qxi*5Oap{g=;AePI^;% -z#}X_8c`c5_yIA2YPJDV$T}*?SyHp36Z*l3ou4aRsGld4xr90=B)EIUBuKK=bf2|nu -z68S9OPcqk`2#F3T7QG)+=~}=qCE=8Sbt#Szaj3+ruBQX^yXNA+4oIt`b_Et*{97d} -zPD8x9pT!}i-tA!2+1FFajhuYu2vA62LOv_*{wnCBIF$T_&yt0NED1fZzgb=LYk64B -z8BoFA^hxr0$G*n(_N6$y~`W30+0aVi?J7!wr7zJq%omY7u>P81`pdtp^eXe=nZ>R)l*KG -z`K3ACP}Q9_NjPHqV()+4CIqAgwMr+vNk_8ZAWzZUWRYBC9WTcdf1^5#pW+Y}WYNrm -zT{_V9vSQdJyC0cYnOO#4$!;(WFlQhn1n+z)43yEB9-8(|q@_$uq-i(VnV~t10^C|1 -z1Y_S==+B$f=)79Ch`6n#z-ndg#+yOE*Ex)Qe~pUta-Ig4`&5aGaf&!(q^aqcN!}h& -zFSFWahXfp{7b))ue}U+HGA2^Y9Y~cO%xa()y;rQ2Vo#uvLB>@4$TKQg`;na0%2}xq -zE%S{LbBRjDoARR*sJ_h=1IK#8S!rlnehSkA&S+_vmfxYpT1#vpra&3wEZ-8(@;jFe -zB=wWo|C;nVZ-g%;_)xvRwQwh+)M3^=4dw}O_U&Cd*W!N4f2XKXGk8-3GT7Xky*RV3 -z#@O%s!~I}zINO@M;)z44r>|$A)OUE`0B*})a*d$HLT%QfqG<}FySNIbN^#mif%JoC -z5j>?_vI%SyP_Fi2&EvK0qzhoK)s(!6)~^)0iGuo;S)SCZ{k1%BQ|fcU%o&5|cmsF9 -z_4pxy!e+y@}nQ(*< -z(Og?i9yj)ijSX?bZ@B2Jf0V7#oQ`+K33=Ux#0IHS90-b$ -zLO?CLkCi#ithTHv$GjR_E#+jVfsQd-<%g}w0Iv)= -z1q8;)8#a{5Nt=jUxBGX^<(-n{ex4QM=JHPD1{#W-w$r4^Q6gc<=*UE9kt;KCW|K@? -zGDJs%fA%B@@JftezvzO1#4E^WZ89Aek%>U8YX3UuoAL!-R++873iTCR^II{MW&)D3 -zbZ0u7gfUe+21%YAmS3Q&J>2mbNB0-gIAWz;-Va88Kx?bLcrw)$u-hE+0!5Y(cq684 -z{N{!BTp~8sHjc2WX8$CN=xgF!Q5DBm)~g>3RY}8&->MdD;z(^#CA{ -z!A}eN$+$Bali#>ljcoroWnrRLF;~qLT&&O9FmsDYWbQoYSFHUcD%KD9CaGxK2#qbm1TE6>Ko;d{UW}&Gu3R`iiuH8zPatoS#5&Xq -zAGT-EopHuKodu_0GFLm%ed+%C&cu|l~o`5%o=n& -z4vI|{d{@*m%eWIqkOmj#lObw)DG-ESsc$C1VK9-4Uk$w$htkAR=1R)#!mT9OI(h50 -z!DkY{&TdB(Vb~NKcL-3lvvC?nO?0-stfDp@J{>hL>1sa(%zxmr9Q6ys)R=f4*)V|EBtOMF(SeqIWI(I>X&W2KlS3e(CXdC6g=G -zogEn3ab3@ZiG6-z)mD6W)e;L}!x9T%@91Os(Xp%8{IjVnf9#)TW8K!3mfvUrS~^4-qOXwNY3dfh#Lj5|CT>n$?F+)0Br2Y>8^ -zN%xz(Y4DaW1{+5^uXg`~{@|@0T%5~XCM8wgGMY=Eh{8F9+=XloE~Vdf-JXgwrBjy- -zVOLUdN3Lp+N?tO0q$I?Q7+Ge7y|D`Ol0&RluVf=Dt{YZN@p~eeF-q5qMPflpz9E6j{3?tWsC8KX6wN+ -z|6$M6p`$6Kk>PnaA!<4$iQ3P3;({KBntN11<+B=gY#EMKE5vH!a+~IOnc{oN$^y^1M3gyE3YzJ|JyP+DX;?>5t@@sIQ4`8QcRbv~C{_j(sil*BbAJae$Q15U -zNS=->Di>1lE~<#QO;_+@)Gdq%B0tT!I2Coo#2M>}<`<7mm@VIb18g{x^RMWLJd?oT -z=pP*4FESwG{KMYBJ=O&!dERQh>y116j#|i12-V<)nx#rzi?c}_jEr(&?6 -zZC~P3=@?X1ekoPS_p>q}j(@V`pt<3?3m|WjsWaL6yueCc;6h&D-Mqkid4c!y0v{}T -zzvcpN;Hjyh2#_9v%sp3H2FCW!fJIzS8S}USY7U;jeiK99g|M8d?dN(HRI4w`+Rd+> -zm(fdB3S^g@%dPym7=tVuOx}MC*~;MPuG`FU+!(pQS+&wJc3aUX~^2S8=jzk@u$&O*X}u -z7L5IOZYJ3l)j?N!sQ;U?S#l1U^lbF?ac!ADUo;m(7m$}l44BTwzt0R8b8g3o)j$LWw2 -z&Foeg9V{jiUj^2QgH7!4HLe6|w|C%27I>4YZa18D1A1LUcCbl(A@e4XLt#I1A&Gow -zZPFZ6F4(LKVR?dxi0F&i41BocI>Y@jn|Zta%1}Hd;tZKShJQhS6IzvuGui#TSb7#l -zLeuh9rsP|glJBmea4Eo7;B73&DhuJoynJGRPcGx62>mcG^A=CTdJ}geC#RtYb0VYO -zO3FFVY2A%|n6wQ!G8?N!hHR`ptDMV?MZa{|5esrG6y~^RsLJzk+{b}c@GbWXbHJ|Q -zSuqY_onnTr)_-5AF;!kcS2>{(b{{VuVeOy&ZMhjoFFEs)sjPv}H7r`D$vAjI)^&#) -z7~9Qq=Ta-4S2PoBrsbn&v*Al!=%CH6+vya|HVtP`yGfZ@adtU -zIumhpbUzEME)|Mr@wIN`C;3GOML2 -zHXqz70vGmrW>P$;r>z#wmnWUQxYc#JGDr|ZHGc~pxmpWu+F-FbRKqT$u)q(T!63yt-6NLr -zF{mCv6GPm1At!f&Af`F2+!wO3VjFC%G57N`86Mno6-@29XS1;^BFYnjJJ}3W7!-Tw -z6My78H#}jB5C@A9T3>FJ?aK#h=+^(9jGjGN^fn4-^->EMgv*%ZcRvhFxf;5J%>0YR>_BwB0Vima7`H(CO*vdOnU^Bg}02j1k=0 -z58laRIyU&PWH6BAIOt}LjzYc3buY%AyDr;Xgyrhq=3)|;c4 -zrlp$=gqBs>57SH@M&oR(k{2(nGm^A_DLe@Z?kI<_eHWHR^HXtE -zrs7&in6T5ij87&%xtqlh`=y(A7{Q(X1r&DF3#-nb6m4AX6 -zHHZG7DFS6}P2>&i!nueXc+8Wf;(WpuwoopM-s36r5YyCZL3UzuX#Qr4<+JGhl8Yg- -zX5>QU>NNb0fkY=THgkCxEc@X69P%AAxjFdb{E`QsV$YkagqBfm -zu5W4>>K1A}%Y=6(ABQsQy`2ZIY;!9G(1pH^FpEvxB_-i23CI6Qc%G@m@_)Bfh;tMS -zF_wnXgcRn6o-k1RkRxzcj>NrSTXhxV&N;D3UVY;^QInj_TJ)X#R}}Yl0oI%^vM)W! -zUjFaAtU?_?H@W4MqMRd1@5w~f(n9U;$UNudt+UCwIOutCu?QTe)>iLNHHpvXVz!Ln -z)0Tb4Jkd8j(sn<>IlXy(Mt@$N&o~fH%pe_4rO@;E*r!L$*g<*-tk*0g-YLN^?w1zbdLag^yw+m#E-eFdI!Wt#C -zK1n4Pi+w}rSuP%ZA-_3*RCeU2@{?WYx3s)s$5H5t1jcUgPKD@A|9?!59E20(MljeT -z>-zLw={gZh8`EY(@%W7Fl4c4qr_VQ7B=cfar5Jo6eX|^e<1=5_3`T2wr~0=7?DRVp -zv*OpHIYe*4R*Pmp-Y<*@&&A3BqZB4+O3{P#R{jjq$Ee)Z(j<^?j3|wcC?Fl`#3qJY -z`Ey8DElJA|v00MQu7Ar$7>LGbvJ9()pRVXi$|w>vebHN+B9ln^S`c6yv4!F}rBA@h -zOh%oqq@u_D*09}ysYI^tY0@9}a{zC*UnxbfRPFvY6(b}lNqu$N93l#r$J6GMt=vdt -zPhZ5@FA}%ZT)GHhLUSW4xseOGk#}<=@8w3`&y9SL8~HFd@_$jfO4vZU^a)%3YhGv4 -z)dWT^XsZ~QVOW38%SVAE@x}QTc#F3+0Z}5f@4qhOW48B!^F^6*7m|OPjg0SmG%a(+ -zh}WzXM-`XHh*Pm2bFpW?5 -zLZKXL1An?uJq6Q}HPdD@$r57Mt#-TQb2_x;wd_oA!0D<^&%0#J*V(+nk{kmNyp70U -z1(}yDRZS-IVlnuVc`3Q0Jnyl~D=f>r;or%L$fBpdLDQ8YAFH5ZjW>q&4XGp&jw7C{^oK)&Iw%79*W-cFqEzjPQ=pD -z_rUpBs^J>oN`xry-;?!;t6UMxmfzvXK@rDADZolzpsgTI0cv+1X!IdZ*P -z!+&9O7z%xyLu67whl`>6PT0s-P~khgENuz%^2ebvB%;$=w;463#b9OYXSiQ|q+nvkrv -zrpro&F~tC8VI;^PUV!6%VSkQ? -zg*hHE$9z5xyizDHLj6*Zg@O*(-jfHWV02XerPx%N!5{C52@KfFQku{aXPdji?Mx0G -zeJ#FF<&D)gpUEc{c1L9G_mTZm^qz1;Bu|6#)!W;7;3_W14-vGCQkv8x&Y+}t=s}5& -zuyJX8&eu~QMfv)f2wepTR2P&{?|&phoz54;SK^J8hL1~A7TWg}?s^gqr)(AVXg=Ob -zPGDRRvS2F8?d=?>--FQ`esuwKr4V|d5c;ll1eArAlY(>&_fu}x_y)qlhSCjPOx%&L -zx>uB)4>Eo$$|g$fyfK)W!=l$pLW_Krf>Y`*DMqT?g@|aZo1M}plbk4K0G47CoB?3v21Ed=7~uxR5#>p4$XqnnO@I7c*;zVPlf#N+2kYui&*cj7ehy|A-_>lscz2ISi<5P@ -z;zEk(a1t}`!pO*KhRK{7TD>s3(S$cq$xudq>>F;$cEg_hTOC6|2ZMnEP+nf^uSeDw;mPA -z!wyh3HS3c5tC*~E%Ny~Hoes_iU0`T61KJ$y4E9M-?#c;5b`&}K9%f__%RsgIrF71? -zFy)RZC(-33G+C1;segha0oYQf)nqqKkrU`#ER}?rE19LhJM?gVSd>LAx)1VllF^p$ -z2z6*O+OgEA1(a}huNVXN-OAi_Y>%d5TbQ#Bx%0Bcx4216vPy;U^9At_3*sLY!($`e -zE`ZOE=0G-;0%%#D>-l&ryDtq)iS}j%5Kk34vx53b=6@ArmVdGBTnmkTUer2T&UO?( -znd$F;Tc#qepUn7|BW0W*5af*aC-Yb;m -z+j{WUua05MFqrh)s3b7*T|Z*JYvY5ykzMnM+3}z>GTb>rhAeDv2b%#$r#G_QJW95{ -zx>|1J_|K!|sDEPa8Cf=tmL+N?jNBHd&n+$m7-8O>IHzu(6Cs|DBtF;MW+k-@s2}LYqUD94P8fqis) -zdZq>1{v{{73?~_lL3TGMziowFDa@7lMWQ@$HA_6gn}2M(H8)b-`sM|zTzk()Gp)nH -zc;6rQIka_gH%kUc1i|XlMq5nX~jM#dxP@txV6lU@fkNSnnRC$akk_y*EAU{pndBOwamo -zde%pl!;eC&N*>{p!DmxuV-q;9)hY8LfA&3Hrhf<1du{fki?{m89Ql40V{@=M^4X<{8G`!PY(9#aRznL9{V8<@ -zrHl-$HOPrDgOTRORkgAwjwoO9%At_(@gjF5lW~=_wa7;1#4T8A(qx?K -zV}H$2Rjtv#=HaXj=$fhi?kX!wah;ffrPX($47aa$@bRbPRb~XYGk|7S -zDu!Ol9NYF0r8JkAx8%h9jEmlX%VJY@>~d@v2d~MXwScwXOGn5)`|BychI0k5^V$8) -z@RyhuTFDPx$Pc}nA9^o8^nQNmgZ$8k`G29dD}+?2e6G{cZ_6K$CR0Wp{Uv8EA|P#7 -z=k_{?_}44UZ)sywxjAq#?IL*d+I9LyNY7*V6d8D0&f9qDi}Lk+xmaqYG+^vhC=IMO -zUbhS2EiFVEn(nQm{vvX#Hy2MfN8IgOR$Hp-Udsc_ZbgC_(^MgRCA-y4e4auFqkkNQ -zrcT%btGR4^re^1m+*y-VLk|jas6Enb65|Alvk}nl&F>m|7Nei^Wvk7SH(;Oi -zWOOZFP01`w-pj?qksi1F*Z#;KbbM=RPG+;}Zou$d5Qe8OL`%Objt@e8IDc}*#VGe^ -z|D5;}-&zSYW_5x-DdkXB`7Pwe$`c#g{45_+Lc2ukX(^^OOy!F2E~g{N%q0^QKN4}E -z5*kNuk@YwTM0F#2rBo(MxNssz!DI}pe5(@-?V#V8=-9j}FT+SG;{CKH`tLIJ4>|aiTa^(!jj|MK>;GV61~P -z6Y -zZSVE(=g1?ji%S?wHebT@tdD~EHli(kEfr*;I{@e#gQktyV%!N6YYWCqKeqPic6ZL! -zhL&I^m98$+C^2FoAO5)ybEIN=kdF!5=fBWxr(*mu7h}Q~RyeVH*Kkb4{ILiC$Qlfk%mAidf+n-WbU4zL;yP|(J!fV`Q(pGx6U$p+CDj8j;E -zd{l_X(vUrvj@43or7_xT7XziI2L@*&mdt5pIFb_Ztc=05seh8ndfK~@lf@Fh4WtMJ -zqqE*_kM?|H>iaPlnlY@iy -z=+JpJFqPk0t5T8N%KBSear2QwQyC1z-G|5{eNt=97Gtq?wJ8klRx0P2YK*V@#1wO}vf4|Gm9a^_@7Tuvm17n--Ozor1219N?h -zjKxZ>EbQrOt{{)4sY~X_?#Ki)bcTiS3zlQMY`jjE=GW+Nc+}(QIkyXBmHq9d$xe0= -zwY`Dp{D0A5u0QRQ+*xh3-}dk##dg4*R_9U6org}tja{Udt>nzcoc0ff?NKibj1hD_ -zUoP3p;}-ARXqV%>QIcnHWoDAJb1>!!YVGVv7GEK)tu8pR(iLkdf!bBRz|JKgaNqhv -z0#L^b~vVq>QUO*`^w -zCV!i?eQ}`;M>ORplg=A-wY`v^MOWsh+)UQ^bz#MY0lbJU&6*2W6*4m*Q4oFn!5*`TU0e@}#|5&{PA}B?`Az|LOWZIYR(pe9 -zXkDdT|2wkP**!f-OYfsqoM`5m5K6eT- -zyTzZ(#WN*G;k>SgLHiy}n@h32U`sWP0-VhO4PL%ULn~(V9BHvoZmWGOB>k_2n6W=m -zSXQ0EQlSi@LD*LdaEk}JMT>5T(QQzB$OddnN6060i{|1UP4&)^Q=glg8-E|{MW9F@ -zw1u|&Q*mZ0H*CI`O++S(io}b)b_OBMS`P~HQx}hz^W|cc3gTP&`3fynZbdmy(o*65 -z+Yz&~j&xi(@DO~}&a19s6AXJX%b0TDyQB4~-;M9j<}-VK3bVO)TAexJYZ -zh}%uxYL?N^9v`u#u$nvnCx0@wPE(JR?NM6Lo=H~zhI}$7iL_jxPMHgNGJhs3InqW` -z?~p9w%Jh4+-`)!|r=}>Y7Q1H(G3I&^jteq`DB~~b+i9r?qlhQr^vaOQZ5@n-_-RA@ -zwBlf_;-;xcfVwYe!;?$tJl2lh0O+jL1qFM-OUI%IKJg9=?YEeh&wo{e8#$Si+9!@Q -z?X~aZS{?SJ!e@~ehF~v -z7~a6Fw!2Y-z9<#{iGT0$&m}TgB92LmUB4C4wjwr&xmYU2Sr&@3+%3*>uQ<#7#O6<8 -zv1|zp1`bdY8SW(~bhAC)=g=NWZmp0{$B$hlFlkV(+FQtpSCaEiP^$xd -zE2%fzt`sscl^huRuDBZ$@p4wl!qKubs9o8AF6)nm@_`v!0wmg_2maixH17?1b^)vP7#C -z+1TbQt9^ia(q#U9Fd7xvX63y=p -zDgG%jEt5y$7m~86DAq`JaWd2qkSHB&t!gf4q%4+3Hh%|Ra#ad(agD!jw8Qb8^`P5( -z-SfNN36~EuoHFAajhodGJ|dT)I+?j#s(tV-d2FzI&@1n(>b -zuS?$dvD16+tSgw>%zxT%+gLI~P2qiGJ(j$$Og)x&%6&|Nf>Dz7i1(#o2H<^XJn;KZ -z8!3MsRDa*Ld(>o)accYXu!OP`)_+{;$=lR^w{+-_XS`1lF!N^YeStroy;#TJ-`M&m -zXwz=H|F-vLwmpDM+G1ZQe+qLF9CLA4ZP4k%ml*7k2M-*)DHy&KkCwM_Pa) -z4*I%(@JaxDnzCIG%$~l2k3K=rgg1_&__^Z=Uw;yIkcDyltI3|B_de%9ZtstRckq%g -z8~$K#yuTcP3=BPm9`K|OA3uS|;BDZ2&VRA-FY(V={GW8EfSUzVN);g$9@H+lV6{ -zBNrQZS*Mc&Lo${1&3n>bVBhG*xnR5x4HI*7fvwf -z^l=cBaISzKr4DVVOX?am&pb2Uar=c_(0^00*KzuJx3>)@erI^j;FNNschDO*| -zXOPHOAjjbK_i7&oFf0#u^JD4Qwm#_k?_my0=90z!F$EK7DyPBH93H(BY%$S -z@|7{{ut~JdcDIYe+0`TmemjH-jJyco_3m&?HH4`pj)kS~ow%VEdS@IKT>RbVP^2q$ -zc%X*Rl}di!$3?evfPRy3G8ymtrQyi$_BzzDFA>K+^ss|q1VaG&Kdr8UZw9BBkcNqW -zFdQGw;1m<0sVcby#onx+Xbt=xQ-3h*D49v1{OX;QNqFFbDQfs|G7fOsP^*a|92+r3 -zK!mUpjJg`B>Z5hVjrBG7%70>0^qa3=hyEC3rVNf3XvEM__;2isx84)`xis?sYtnD`C3KGVQIv%O&U$>cTGr@Q5|--$Ry -zdKLUZQx3;|75hznFhsc#)_<`B+z7|$&B@pR99Mv4kl4iijKRl`fx -zH!6L#hgqDlp3R$wXDv!XX_2%Mj8{<>G2U{{0@yVtSGv=)3YJU>$b2U$@#Cp?s -ziIF^T=5Hj+FH|y!@b1xM2ttFEt8O^E*cY7X^84ztY>s*Z#S}@F=zs52vMiT=Ys(+8 -z(tOU8a%# -z!ej%j(0t9O6!8zwSdj2W6g7eiaNM9h34*?lC(_@UiHBp|BPnHhzddT9Ga|ZobuvPM -z8e+}AH^;_rN8B)?qn2aePvFj -z3#n=8OIG@d4=aC%Phri*tPLgy@suU2X~c&yOJx++M6UJ&jV34O>9c)}!B%!) -zM2tNHbvcfrJ+uM2WcTU?s;b%-G*E<^q){W&?xmgnx;^Re`>WD|N|g=|+IJ -zRLzw2_ITfZ<3>Q83AXUunfOy&un?_DXMeTl_a(KIK-DF_7(-Zdz~v;e&cS-eq~G5R -z=%%89IA$Sm?;pvS(pG~J$fpTxeBxzSm%i@04kO(V#}kwmt{Ky`sm)Nb&U -zhu4HpszWFqw|`U750_myk(e-FwA!!z7ce+Sd!hXaT7GAO;Y1C-^A55)QZa{IYoCq` -zt?bb4KN%0ySd_P0wI!}cpN*xd2+|h(FeGECTSnUUKJKf_JA+Pp0=pztZgztg$$-Ij -zQ*c@%0Es)1uw>0Rq^yy*vUT##Ae0lR>pPl*>qUSkn15y$bZX1&slwEPabt4y8{C^1|i-b#c=mi&zwcw*zV-r>BINddY8SDL_>OupKzPgY7rb7l^qIaa$M;+a+1aYAej}bSPHOvo61-uR -zEAk~T8I-}B0qI99q4r7)fUVH$_;E3Bpmwdg;l*}TCZE^I>v-DOHHnur5f!cjzaJ9w -zGJijyT|pdxyF&peLzd_X(w&n5bmxQ{DV#tuUy1vr81S409EIcTFzlX2 -zU4hX8NGKL`;T^p1SpSblkk5VHfz3o=EqXCRSw|NWd;Urfb&K)$vQSs;?*+7zGv0eP -zg2WAJr#Hl9`b>-@Ei+?GlUJ~|QIRi1NPkpSe+wEWIEZH{8$!(+iqe5S;_NbR6kn72 -zQb_@c2%}PS8Bmyw@pLOL-r5}7qe(bsyLq*Lu@V2eH}}XYWVHI>(C^S^gTHD@9sBRc -zsG9Lv7*_2`=~y;j23}Vg5{WfqCZiaUo9D(wC$-Ez$?jKSmfBill~4f*4C+{-ocV -zDcqc~B)hb@uUDZgE*gZVBlHf~Ykv=Ps~k7TYwd8KKBFUXDV9i0?MPgb%K|0VySTiM -z4^`gg$B}0W?$jkYIw-Z#8@%zmDw{-75*HQsJBt)LQkLXQrBZYulPGr2q|xZxofyhh -zt_{dy-I=`PeQPH#MiZ9g(oG3GtBY+)d@Ugi3-6I35}A&TG?x19h841bRDXPZYmvsW -zge9wE(%#hmvN#RB3^nR46?;y>O^W)`2?VuwAwoxutJx=gkh)-w7x6x*M2gE1cPHGl9FR7nj{7;i1@Z+0mS8jRHTED0dSi4rD~aG^aN8;I2j -zo4KTt6PuJjsO_f8=cPnC>R8jP?RHKNVBR) -zc~7{JhN9_LPIEWYka&w(f8vBbfK%4apf^seM0|IbFi2pfIOug|tAF%I9e3mbD+Tp~ -z{9w|MD0fVEb1!{(VC&ou3+Cy%X^0GG+GTrGo#XL-ZKie4{ -z4##+u+Zp*|+AUv7pr}di2OB`!$;~G}+lbgwh?fC*%Fu_xI-J5Ikon -zW==NV1mk{hpnp$g!{?-tawPBW+Mu!oJ*Ph#!5B@&$Qs9J$*&~}?T#alxJxk}G1GH) -z!tSmxT}Ikz7Yzw2)6I5o6nVt$n|S0Iq)c1sfzUhHq}6t>Ph!)zHUW3YR>E^SHxo%x -z>_E$FEE3z=D~|2SurDzpSn7zJI7Tc51lXN$S8b<(9YYVyEC= -z8*uUgD;_&qwcyaTl*a)d*x}8A>-l(c15x--0iqOdw*E{e*t8MMs3PH`c7-UgW%0Bo -zuXrzVISZNtf)U|d5R@FMq1mJt6LHj4eo7a3D?FTv`8oMK&gR_m@gfiVY9gk4Ihd?(#eM3Z1=*gD%k5B_XXzMdDrG+3r-^=l -zXJ@RTrLxw|{g8;^so-KFopdqDoowTV#sXJR5jtsoiInk;Vam6D-DR3~cn7h~5H+*_h38#GiSq1IOXktRbQg -zntuX;ND|_`G9{WVz(kvxf(%QhNTC>@5nkc6A#j!ibTu1q4ORm*fFF~#Jo8IOESdAO -z6G7&IDBA_fhcgN=p}P%|IH}QYP&>r4x7=MI#pIC>freLpQIvu=~&Qn)EpHl?9++dJC -z)RUO79!9sp7G3wp?Jjx1oGXOKmdp1B*ap60S@h>D{Cd!x^!*Je{+5r|X5Nzb?SIa` -zpQ8;Nyv7@KM3H`bjOYB=vNTw!ox`%QjI|6dbMhJ;Jqv1y14fjSU~j}a8r*dtXe9>v -zPxsA(*=H-yA7s>^)qNwbsT+efcPB7o{F=)~EM+0)GxM0w -z%%hT-M`cMjwKW~^WgN99xt0yGb_kK_Rm$z#fjE7caRPcWd6@MpQ)CW1L|8wP&QCsE5-&rGH1 -z52;AI_2P6rmaoKdTlmX-*O>%NoI=U=7Cb`P-PM?@i5LTxKWOwysS -z|3^0y-6lpORI|4Oi=oM#i@>FHY$m{%L~X!!`;Aeg9H1qw{m~$uLw^c!N%xO9(N=#r -z>8MKK2XUdtl29{Pq^jmwUVIMq-mUz38C&H9uu)Rp@I24WKt+{0VO>;}GH+~db7W@7 -zb{b7y-Ee|{iPqUeujk{*4P4Uae`FO**5;OEVNl -z(TR!Qku?_p-_gMef8<-r5g -zs^!hRT+we6hep5678*jBv-~=D)&wuBUre?1QddYiP08Rc9%Q$9n_kow<_R$XoItxRCIy^I54My+UBlNvA -zr`M{yc^BtcQuB+8BdYT(Ik6O7mYQ2{#*z>lbo=dMBI;T2N-KfiN6thJ@ZNFYYC+x> -z&rQ#22;T{;iwP~|)(+oF#VQ*b*!CGp2sapeg=v_dUVjjMNtnC-Y%Z+j<|CDX99Wnt -zmiK8#6Q=C$2CnqNAqxD80pQ$c3i0T5A|DWE2T^Tcc7(^*t3EiPSXp>(RT&UR0=8_xM5%Y6GgJ=NF -zm`{TDiNLqP8^1XaQ#?60Ne8OAIH3x#hDHv(FMlM##KmkkRc}?Il!SX?Kc>S`=BMTV -zTmtU7Vc!_1?d}RlQf)Z%*#xQ#X+dI!*@ibW7&s;=eU~R0&~~?rPNew)hE~yt3-M??R$%FXBc-f5{D^Vq3e%x%M?GE)QXJfNAI%=wu -z8-Kc#1|=Q0F+n?eG`LPLmDHAIXADmcU6*zCn~h49alI<|dgC>GMZ$R+m_ -zr;#-96L+~0TyvNgx8zyBp!H -zPRVO*Q68pdVF?@0$K?)Q$FKG&~r*WiX2DW%$q5Gjst&oxW7L;9{Ct?35M2eHJpTLy8AN;JgAg%Q)Cz#Y{GPe -z3=n|QTpY=9u+qwQE|CjQs*-5Bd_QGkbO~=cu&k~12VpP@%fVooViM!Y -z6Bl#yjz>N8j9@aCGMJN!7Jt4O2g7nWZjZ*3VR^ocw?T%J@rsYz1CY4=F56t>;6*#6 -zL|E$k>6K~UdurbKBk)#|T2=G9N7hR4r=M1vg(M!l(hc)lKn@Dj*X_K*ww)=&l+c?H -zzq}s|@&B|EUe031ML7YoN&XGea=(<$iu>0DKnGrp|F>d;XEuptNPl_88SW%8fOy~8 -zr{&*-pGklx^bw$>&xR&K&o!=ji9CRa{knZwJ_DXUnq#bTM&P* -zApU+q{DXq{hXwJE+#NI#Uo87d!R}Bgnt#FWP$}3QDtC)DPo)@qp%}biVeS=!-!BG# -zPz?UC82pi297=$@=YK{MoQ7br!acKt9NfXJY&Z1B)k(J(m=oi*JPhtNZmnbaBT0f7 -zBF||z#9az>lhht|%~#w{f$j6(*4qv=eMq(e+rgUu9^ZQ-C!bp=6G*rCy*6pT^LuFv -z_!L}p#Ve7^XpnP>D7R?Ov~WP{e}JIt -zP)!HO3Z#|us9DUTEquN#373qYK;XmOE{zzldR)GNqCLj#(x{+is4QY!_)SGkFi8-_~j(H -z9t}6MAiB%UB|<5py+3*~9@y`{=iq1#{LOy4>i1d-TZXz%z|fX7k*F(wD;uP%?^@HE -z!(mW#O+y~{nue5gwT+3;C3AJVCUnVu`*5?@c>{fOd*46sMN%HTeE@bj3%}?+c0ec~ -zGC3^o(|>`w7PHGh?jJIp?vVXfjJ+!ojU1j7%K?vI*F`XCJdd2F6b_lYU^5IUAd0TU -zOd)pnf)~ZR<-LE7d$EmcD$W>p7gBKU9pyhK?LHo}rwx@0DSYmlN~#_*w{xKMu=&M- -z-l}ajOpQa2%xtysW=P@r`1;t@Y<~9)fFSqe*nestgp^(g%FN6ujWs2Nm_n!&U5JoBqLdZ?Vj81cE>dJIq}<5^)3tQ% -z14Pi3JW|RpM_`{nD*yZu`71}{UpQLx&3_+_y>c}6BNqPd(b(@Djs5=7*dH8?{o&Er -zAGuGAqU;?EmcxnZ%E7-cv-!U>vx@uJFg3G9ZzBhbRH_KBN?POmt@+Kn56!ajL$lWZ -zpSyRDk@QIN!;0iC$!#u|%ja^rui{ScE_b&%UEllrW^ZNn^z?9=)35F7A-O9^jenZ1 -zZ>DRfyQ;6MdN{N9hb04&&z5DuvL#!#&SzOL`uJ|$|Uy+%Sk(rSZ(^KV-*y@NTdi1m1^Zw+1 -z&n}v2`F3|GX?asW=$+CEIPd+Sq<<>EAC$Ps_k)8tlW#CTYBf5it$AxGsmg08ag%E} -zh*Q)s9gln7K55-QhVxlysN=nAcbeAP_>@1WydZCZuEKv&Wl26Z+xI#q0`MB|DE>Z(+<_* -z2=)Jrwt1Dt -z?}*2?tM~K1K<~iqmw)XVSAT?YuEI^&cS)QZ#ze;Z=k0dhEkS>ItMlNPvIOfCVX)y4yrGMA@4WbVZPImP2FWNbjQUYihX_hrE&yZznTc^K+vheu?_QF>XxA5_GUEtEYG{nWZ=`3S4Z)%@wS1w -z?YATCD76$j{{Cd3Q}(8 -z%~k`}q00xVjdt1X?gJFQe$s+MMhUweh%aTgE(UJCO!!{6)9)M&GU-=FVqNm>!@ywA -zsm9C0Q7)U)pzEEcb3D4-@3`Te>--XG}DgOi@RIB+w1tt8$}W#6hA@1tr;dL$mU|EVd;3`Ci* -z9I5ZRfffb3Qbb&Lk3=+Fd13W^l3sS8Z0yPzgV*}eMe=YZADiq5;)4hg1Cy{I=67dJ -z1T~XMsCC+T_4E6W2Zj2XQdn;M?V0f1MYh0moKNx7&VTPs#SsBhOkGdIl}DI4+o{UO -zjFhq@X}}>uAoH!l86HYnuJMabimfW=++lA7j1xof#92Yq|L}A8s1-mlOi@!ZnQYb#mf_JmkZcZl{ -zx(;&w@_$<4kpE0)7i1v0IEZp-!gC7BRCd0Kf_E!BWrV}hvLV?6j-I=gL~rAbnYR*AcEma>zyX{ -zq*unEK~lDxi*HUq+RppOoo4AsVH^xWr^UKMcxM9kpa6MgEGF~&EjFR^!?8&H?&Gy~ -z^M7XNJR1sb3ly0 -zNPfHB`M9mgxwZe;9EtC=A2`Xi^zYA}L8)YbPv3u)qK?n|xV&-r^UAnXY@>KxOs-8E -zvJUoG#^~z+EI+L&MIFnr2;mG`kNdNs$;ou-j?qDz6pz0@sBBD(cO-}99*L{1#)+e? -zswQj3tk31y*e$z1YYK<9cV+yO0Xx6-Xw0*yk-|tdOn|puMb>p+#nKjFg!4>O|+f%BzKUaPq(#95I -z5w61V&wVRvJXO6fZ;htlnr -zMZVrSZy!BgZ}j>nd0AC!bEch4dw74yJnB9^>z5UEbFPG{tR6O(1Os8JQJ -zwX+thFWM*C|S1!-YA;LQ|rYSwPvY5MPdHel(eWR>|l{wOt@_&DeU6%Xu -z4ER5&{Pqc0Ll*YETAdBatu-5GEZ@w~i%&9p4=&{|oV`P-YZuO?RKgyY*3p9CgTHkg -zUJusf`lWN5JWhu4*y`M$JlRL_t&momD;W-9=OERXu3ElVTuWcSbZ*e$yjUKk+n14) -z?t(N!gWg+AmZb-Ovu89LQPzJ?I=%e8^G3Hh`pyHz>~q -zCa0#Sy@AWgZay?BtztlS(JV?2nMRThC3%0ABz=OY!=}xq-+IZsN);K-a7DGcbAEEd -zmsQ0rRLNc8+406g7gW=}YHU|D?Biz0rSb9nHYsgZYz} -zQpF}3mc-L?+!?BNb*_}9huy&6eK0Blf2$mIxb9H-ZFN@Pg^Rd26fIDE7sATtHAM7} -zz9wI+BA|O|w?SVmiT)5;oK38HZuNPS8-sMFd*cDQ=lvcG -z-!mfs^u9SG~f$tqD~k -zC}e|WtFZayaVX42%cDlw=xdDn(_W{&`hIqMziT7ZBBUQhVpY$8ruCJ9wj&B)94`lz&>nDHPYyP-qaOC)AaP&YkzBP=pou85v%l{l>>yhi?u?)mw1=I8e&+ -zC{FwSN&eAK2C!C!vF@~c;@~oG>QdxX>D6KEkA6~8nU8)#Yr<*6ZOhk3aW;3S#82#b -zetfjLzP}#$lVTxJjf=(KlD?K$c{cX7^2qwFH9vof4R>~<*`w8}4h9j}#vw`5Zk{ym -z_sZ%hNRq|Km}+8b3{0*o6Hx5ftPUeVE%lMi194G23FB6ycU(e}6AW=%#P>&|Pa8Z3 -zxT4FV@S>IexoOC_t%3TY^HD#)t3|EMk=n59vDhUPvWpAqwBw{vRt6C+jZ -zF_&9i+utr3sYT?$@%ic9k~yUqn`__--xw3S2V0|i>m>tS5$bzu`|Bm_)kO1;EIs3! -z@KG8YruXRd>izS(P))jU4mgD~iP=Pak^X;f -z3l4Rz`>g4m#&Y$0X(Ed3*Wz -zhkTJo#-m!Owpmbz3Lpct2aaccCJGfJ?ykf$yZyp@(+}Xaqv0r&{d+npcz1`id -z!}{h=HY(5Klc86(HxAa`-Q2mk+7ny3z17OI6n1O(M&XoJK-5VSGJBJ5b^~&eAX|q8bV10v%pbf^Y!@aeG1B$JDY2fqf8Jk&dzw_P7 -z7q$;>SNEz+zUmLF^8KTs@BN|gdhz}I_MNSR&AqK3S6_%TIZ+jRd5m9qfdV(N#8Ar0%k+Vbzq&I- -zqUR`xQ!fE{|ATG7U)yeU@3-1pjmK0g-eL84AKsTdUuG+??@^V{-g($KInRGcO-Imv -z-qUR9`%(3*(>ba3h>KN`=ia5A~e+kfl@H$X}=J{KFPCrYIUnr_{9y$&e7z6yHLF -zw@l!z&cnjRnZ$kG#KEEmda(EsgqKXvhuy{*k(FlXV8G^jT`*ra5r+*P^fF>AUmXfI -zrzYz#QbDt7Fc#e-F;2RZv*X5H9GGo)ntYzolWvn(B~F1=Kc;_u*AW%{)(DdATDM>~ -zj(T)7#`N{;BQdR`PP-twI|9Bo5;!mbsw2_u^V7WRRDQG?o%Z@ki-!7W+TpSD#t25g -z)u%>(qdXkm!Si;nwC!fheZ|Hc!O>^CZ@f9f>WLjUOppUw${kvnAY8x8sODg8Z_%Yi -zir#VO<2AO-M|pq0W`q00!uqYV1L9RO@b@}r=VvnbYW7=ZKWw(B$(D0!SoLG#v@{y4 -zjW+!|A{tA+P6}tZbExQKI%pCgXs>W6-a@r4qhhAQlD|w)<}@!FNN~PkK8vA3EyFqR -zeVXa*ri|+m1T=Y#CL3}8_E9cVgOScqh3>r0ws(G)*=e^+4dGEb -zJZHV_yw_{cwxI=q59VYxu_RIYnsRSYr!;J`gK -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 -zQ`mW;?HPqaG@)UKr -ze@Nu1e6JMo*2Wsiy!9d6)lyuL8pC9Jv%WEu;Incx^Wt88vMwR9Cc_@ebhgBjD20LKx7L@Bu_SR -zg4XV|-)-|whhX}pF3_u&XGITyhHis)IVX-c204hS{RLAeTl -zd$fB&l*o|8;IiU&!|Z>}5l1sWfsbhAmFHr0%ekp|qe#jMp@x6YJ+s$pSFY^Q$T`8C -zfgBE+GZ}859&Qo4IB6W^#~mC3@Q3C6ZM;6OP0#@!ma>zE -zBKGsN#@#nAuZfPlZd9uBTfI-6bk0^-n&5Gdpi2ChH|k4xgrQrB7nwoZetwNVhYvX4 -z;Ly=g@hXQ8E%kq|b07;xg&jc4?Rrs`Oxi}TgEFKM?=X`boo-T^6KS>S8_ -zuT8$D_{P|1b0{?y;Z!bRE8iN6VWtV+eUC>w>p(_Sw6Bjv6J>x`ig**_(sZzOZ;nQ& -zG`TVwbI4-fjTZOb+C3W3Ta8|y6;{4khOGm$DG6vjn~HNQhpU^)+Y>OA>dvqcg`d}k -z0`#rQDBBPlyFrgiRcu@EQJ_ -zC4nQu(#9N~HXbPrzB(rQ!&b9@>~^Smm#6-GiiiO}KeZx!Uv{PJ%V+KAhz6-{DR1N_ -z7?1hLblcYxPoo>s0c$IEVY~s;TMcLL1>f#&eO!NM@5G&KIO=h$Q|N(x)xEBBN8DZF -zVq;^k=LEZ*RE#ar#N#VEm+B6Jxf5rOIC@nmYC>NriMv-a!v?j8md8XutpkL`veI

@sKQS;~6gGu`KmVqkDXS%6qS}3ipn2e5nR)cwB$842z%8z*Or2 -zbE1DTV)kSWD6PFJGnK@A3@gHY)jV@aJQ{#X27B}CZfwsT>7sP?1t%W8{Ic_{z57KcNP5+6ozt6cu+xif1xI_&?U~_T -zbBSVl%dL&{lG_Oby@P_WHj@O}BSs-tHQj&e?!nsCt5-QATJ~?K&paH+42OuY*M*G6 -z2QvCLRnK`5`?`%aTDNl4VT1X}glyp{>>;r<+#kNJFrHKPyXQE!xhZGK#QQ`!u|u*6 -z(de}LF|mH^lKMx-Xo>1k$Tf`!v%Ny+rk#J>X;XRC1G!ImS1+_$ZP^*HM>O7J=bAN> -z<^l1&+W`kI^j$T8>dJRoBJF}8o%=Xxt*SCO3G4Qt1DzqUxB+rW@{$u_=+QaD^ZmSs -zmwoXO7=K){h|~4F-RpGuc((aN?7na>gFd03cL#*USBo%e;?ML%O#%yRhma#FI%ggq4x{UOv_penx#|jI(J6k`ld_j!d -z-caMVl`oAkdRuvRe`9<1gN@2_@_VE5c?Av+*6Oz_FUr^9&Hde6&x(&W-dJbQ#A`bxX27tG_e}I(r-8=gf@)ALNyE{}FebMmdJ}%%k*U?k! -zn|rr5_7CfKHt`nW3r-B)BOvLWt%Jk$wVm~iEu5%n!0v67hzmPzz`_2H57!Q;q3e|| -z?r+?w^C`~y*4ifGpV{C3sPdWp-Q5EM>wjyNC8)0`nV#7{*rJ^7>>Lm(HU5L@Ix8(O -zlYN;!Z_@sLv(0y^82YbJkf>P5u7TJKr`l~_r+pfydVxQcnZ8CJwAF`D>f{0xoBVV1 -zA=^$0$B5Ho$Ilg;c%MJ$f59djbjg6=FO`|e=Mg__5g&n>9tAY{v`>_D -zaOile`c7C&zFWm(I_2?TDd&8a!e(WVpC;YfyrJ4Am3M5Q@%CC=jmtV98W2^qNHNX* -zZsn^s2n#~BaTjZYxzR>@HI|l -zeAHHznPgm`zU-n1vA#Xye&|gX4-1Sv6Z*azIJa?f%Wq(Rt6P99K(`JH>rM -z1&0t(NhYoSBjPQ+txPRVRLpSAL9t_7tGq&R!#FS`Q-ctntf*=^zn-A3d21Y6e -zk$Bbl*l@UedOxH)=_0^93KQ!jCj4Q}_g<|dd(k_ncR&@mpFffX7!d5lw5=re`cRmv -zXnGWk$z#rB$2$S8>Jz=nSB8?n06SEA&Q8wnqqa7(kL^L{w0femlYg=6jnm#a?S)=7 -zh?sxSK5d*e!G%scBt0_~+|$9gMb -z)_Buiu|OWYM|(_Wm|a~P&{SyA@JX+2zYh_e_$DZ*8*rnC0}Pz8y?=({-*Yv~6^?e~T4FPjEqB^ZrzL9R8^JMElVdgu%;$4Rfeo9J0+l$D9cnl?4+uI!Y -zq%G~|ir1i2fq#AjrsbXMn-|zW&%1n7i)Cf3vmVyc+ZT?@3p=x@=h?}V#JOItL~-(} -zuImRs-r9gvUU{y5<2LO|4hU^y4I=$>=0)-=brSK{4}S*kfIn-p+}QtMW54penN5{1 -z+N(=Q?z?vmDlb9#Zf}2cdu<=eb{|mMTWjxnlt2CWQC#^<{nqY>l|%eJT&o|ht@9Q2 -z+SZ3_Kd!G-hk`e69@36sdxaG!hT?WMs4lEVaeCgT?HY}Q{L#?~384@3tCfHCsrvTX -z-V)ohBYzq$-R9RbOW&(k4Rmwq`&F-M5eoBnOW)gC@~(I*UKCvOmg3qK@0u5dOL5FV -zwDi4=BAXle-ShiX^2#F3A#-x5{Myr8LE{Cfcx5oDw&mFJGHA8X%;>F-B2s$4dN}yT -zp)93?al3zbcsTHFNE7-*87~QwEB;DwEer_uV}F6;F~qq{)lq6jvxndyNOVQ~RGjJS~#mq`2E4bg(c&CplF=iN}xBIga*wV(cwDGxO|In?N&W_1-n|})F -z)ON3R>_F3dwy>Ln$>?@|Kv&L{Va#-HY^XUE5@{eNyw -z8_QMNd#xg7&Tg>1pmq3XO&tnjxRdKLh&N)hdCuwtexmgWd|~SU&w?vdnC9iGy*oI+ -zTtnD{b@EfKlmgj=nL9@vAf)*i1Dtg%5a(U_TZ?YFc^h-VhF_w+wqzdhu{IZt{N<+? -z+(@x5E>nH#;2a!vyoK?kZpBBCIe#Bf?J{K0x}nq>L_$+mEz=K_<(U{MtMX4RoI+}2 -zeX%sU3|UNtP?VoJgb9LzFrdXB)G5*LoVJc8Qo&-Vsf^XaR7Syj1Z($f-lfYon+ngD -zo##K0J}U7QFsYJb&}Vf+u$T=ggEsT!vRRpV?nsxGtzkili+FU42>tkSs)<*vb_;_>t?LoRpgK7zW~ -z6DyDTe_BiVY|ry14b;n28h_<^yyBQbDu3_|AslNyOr(~@aD0G>xKnZ-3)VN3V#F&0 -zA%*iS4K*(#GT|)mnpg8{OG(5~6j&(2=`lf`XQ7bre1?+RQk)4CYc7xj1TP>NU2+NI -zKw~pMTJmX>2ed$=L}JU7RX`O%Surt6aAuF@LXGx+L6*tJvzCS=c7H_JkJi$7DXe({ -zCKQ^O1Zlby)MEOgCQSF{U7GdsmPs!3QdU -zq2wjWQXC+6EGAwSQp1rdB1}I5;e1pns6_-u0uo6gq=@m6E+uiys}5CwcGroC@j-tr -zlcbiV)H5-Gzm(EG4u5$CDS?R+DxeNXnTSkpZz<*GWcUb{Qq+VuN&%5Q%4*0U^g{vz -z0cnq&X@MaX7z;H+DlV>tQpGR`mSQi^#)nj3DC7@mH4AA{N$MzF3I(f%UJjQ+Kh`Lm -zBl_BXVUjInUc%{9k3ghPk#QPO4{~-Pbzwx~DT=wmG0mkY=6^QgSisBB|Cv-Srs_}! -z+bK5GA9K36^94 -zc`Wf)M0xn!7~(Dj)5vBR!Z24OppsLMxR38C0n(5neczKhQV-z^twur`_9U438W-2h -zNKc8L6oIBdf`3cn$QkV^#=al>l7B|Sj=n<4F+;T^kBqCqboBTWC8ss>>Bml%8N_)% -z({YtiN7Jz7&d7>NWi&-77%hov`1Fe${2H&K^pMoUXF_$B -z@xp1*pfCh2eGknE!%Sd=N8Gd!pVYQ1A-F{-KmY^=P=9{_A)3WN>I;x$ikx~i1tQM? -znkqB-WE$dwiHu(~N_jWsd?;U)55rfn1bCLO`Uxs-_^O|9Q^8j;Zav|v3>v=b -zr#?&9%vZ61c!sa~X)0xcuLih%Gkn$1mG~-ymaoc}@>M3e;j8jt_$rnYPxxvO!~#YF -z8oo-Ib2y3%J*gu2Y7mCnc<|LA=FtGY%H3-Cs(*YKz8b`tMiE~P5Iqu~C-*E{#SHWeR}F)j`5-nQpcv(;;FF$VsbOG9296r?Ik{!1A@VZ} -z6_ePr3^kNPUNBS!Ekg}uN`RkQFcZ*n(=dvq)nKObp}aK2{kCDH@}ZnGl$&pGQVBPV -zRDZqek>@$iola5*u@knCkX+eZCag=r1Ig}JrAS*_2Tns0_=&jIp3UN=S -zyzoy$-6*qksuc~UP+JW-%Kt0RUra78lYer@i^y|GzhMgL*OU1`eGy^(D!#% -z?Mr`S$Kgqb2caw-)Z@GqNS6nptQOSgL8v)ota9N=uLrU?quYZd5YXrCiYFZpl?+dM -z9{Uzgx;{uX2P!Sq9H_L^7m!LzHGeZIEtSlu|ASNpJ{X@TxY&*eqrebIwPrL1(nt|v -z0u_PwF_BaUTbEc7G6JOtY++(SpplR!s;WdqWD3$wCX}cH0amR1LYdd`>85y)aHB+5py&(@`c&2}Y?yNM_CDEPI{lq1bG -zK$K%Ds#FjlNdQ17O*Ow3Nht9>-;23TkQaR);Ss?k?2=IClSoTa7D@OusW-JOs8Puz -ztcAkOkYf@QEhEVxpj|t|v;p7^cMvfb1`rAm61lJq3W>GwujoOH8Go)52Z}kul`iAC -zjxHm)fFZ1=DGP1rG={m?41^6gvta2r&-3*I9p@nr?l?fE|I5otN(%~!x$em-}$ryYm00Z%*5OJxIu -zj`LF4i=g8KmX5=q@PAClF*D|lOJ(amW -zbG>|#`ng^K3++;`(1c^ZU(*rKkk-qD%IWcc`_kq5XB^EhC4Vu4OW*0=OKoa=*d7v{ -zT0hoSc)lD7@KJD$J3<9Jl6MRc8z51f#6+dBgoHK4!R(cg$b`h9_GYBNM8#TmB?Lty -zK5HY672v3YW0@0a5`>ZvNc@H& -zn`eq`HPYkuH-9x1Ad!=#rT-oN-lR+ddp`WlE{o -zHjg?o0{OYsv26?W70LAsS@Nf}ef9!rb?O;R>c7Yn$kGSfXYLfhHcyh~BZlf)aK+1Q^8P< -zXknU%b$^vJ1l&(Uk%MO}LuSS@L&J;>7zl-%@sx#-A^b~D4=`yJO3h&wRuwOu?C47YFtNh@nCf*)i@=>B- -z2BFDR=Bx&rZqhlcp^if#L1Td6oGa*A#GIB{AX+qNVH -zWXYe_idLt#0Na0=yI%=4y{2>4gqop@IcvgV -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 -zNBLH#(VV=EDMg;d*G3Y2qR&8i -zFEny3E6?ohRV<|{u4M?&G34=1n|S#|W?PP}#kV@Ei0AP%igmLJ7O*fdXU5dJeufZeM!I=JV@4?r>J% -z;Lh-9x#sTpUp~3+DDaiLjWN+RpNX>zb=(|$l{*dB*zErlJtrR-&!51YRY8g0SU63r$Nr=Aw51zJt-8)taOn>TQi(~|L8@SN5 -z-LE-Dto)i|#LBPvMR?=@l0a?0hEFi3Fs0_k^Q@HQix~wjC}75ha)MAp<=*2DJhdpg -zUHBYSX`}>lEHvH98|>>~Qk4o6TOkR$h#`kdX)TBLdL;~fqsJbG6V|dBDvx&=VW75J -zb&+{$0mQjzUkx_WFiIzgju}g0Oywy?Uc?p^sSMi}fVfqW7LZz42kI&l=NRFKU2AD!ptV-Glw&b!^b-Cwncyt%yS3%dB? -z7Oe0toK1%4W7&i~wEFVo+JJ#5Kj1wseFRHECa!bnBXK^$$oYUx^x{K(kKwsFyDaeZ -z!FlmPTjt^;c0Ur|`AB~Q=OYV?4?H6)KD>A-4cQ9;T+BkYi1HU*^kplE+B#;ib+;;G%`a -zThN+cya0tKUrgjsI>UgItj#Tq$T(^jcbnRd#Ea~pOqY_#3@5ZCEe2%>2kC*1AZknM -zhx$Q{Nz~*6yxD(+YMeG6IH*9S>Le65PNxo~0&P+Y1#5AuficLHv8`=oqH*TJv2x!8 -z9w{|6sd)|@S&Ym;o`dUoHZ)S6op{1=<1Cue`E!v4tx1Gip$+^#L)##J9}~5~;AtED -z)WCQfoH7O;1uz7IBbmli8)AOPi#EiOK+@NL;pr#Z*UNu5yN%OU`@R*uW}3Q_Iy7?N -zY=Pt-s448M@lBkR9@%bzZ5k6UH=V!hnNNm*bD!1EL1_$cL*;qtkC4}Wt%p&&;5_;6q&u|_3baWT6s&n~!#yKv;{gu8tSTni -zo$krBx+#B(JtL8z3t0kP)RkabSnx~ZOb!Zh*PPVkq)=|26VHhW2V$l$$|+4oH9YYU -z%SDQlLQ|wC4r94UhMgiSzo?`?Z+x7$CQ{yFl$-`}+}uZZb3PyT1AAT+;u&!u2S?>Z -zn_gSKd}5KBx&Q7GF#TcU&A_((6R{0cFR%C2?Dogroa9Oq~ -z@EPjYB%Ce$Do*SdIIyl@aMI9@aZen2D_=2Z?tJ+G^XQ)VNbul{nL8IRKT;V0`~)Da -zF=&5BMHCgIB2rs12u?+XfmspUE*9CtL8Hx{{gz5jY{N#fhaOImAoGg^K07Vt1U{Rl -z;RJpSuNFLZ$LL`bY~Xb4(42X!7_&&!0nld^SKPIg(3p0IITmrR9s3qcl9f=wG_=Wx -z>>7rCHP6A4X*lv@Cve_mM^}?|PSZLKUPsTY-2n92B2uqb&2`wDDC%v0QY3#x$ubM8> -zbiQoSZ}*oCZ2T3~p*h+<8px_=!d7jpFzVvVD$&;X6*=}u*VNV!0xZk^R8RAoX{e|x|AAe+U`{4m~lOXDu)fGoIlJOi -zn2CRofSn8j3fWa4yA@2a!pF=XsbIitb~et86On)Tis_O1`Po^g+n>@g4pw>H6ycL` -zvU#a@SWN~&2(mCxGe7~Aiw>n1;Zg%s0tA#7?tyXVp{YO(k -z5dVG~mCjM%j> -z-)mu;mZij>Nf@DmH68xPEp%V59>VpJ57lmyMZ+sEYx4_j)B^x@PQ6C`GWZ -zP*e*H&30w3JP) -z${l#b?M%cVeZ&^3)0*ziQBJB3;CS)&d^r+;m*mj+JYdJ^riwvP -zMcmm+Xb=~D3X6Yf7CT)j@V&_S@FhlC5(Mr?0-L#Vyo_lQX3FJ~rN}Tm*h&$i(=>^+ -z%M<8MC=r6COsj@z;_LI4jCY>$eu`)vncP#d^fuaXNXXkynL|g1RRhC&5=$f2U`ID~vrq@edf?1X7 -zU%hafchCDp=H^y;YFpTq4;nLb8%D~(oiMBWOD>gvQkt-pw>u9fwxGZmy?v0ld3E^$ -ztMtq@`Q3jqskT}Z^_?}kqzF -z%BcM3Pk-VqUhdrOUrft$>%>w^0_rP2TFgIl7B`Hl*$*8v4mXQ-tY;ZahOvk -zw)>RIIE@nrl-syCPVGi0j=MwnS+f9 -zhrjvMr`T=Fr_?PpzM5;z=B_auKIhJ)=oN^1(gSGN|M>Jk!v<6=r?qPUd6s6mdYS&^ -zMp%DPlh@;Fm%5fYcC4N7u@5j8&<107p9(jgDgxfbv1#pqw{RfwfB)G}gT(8dZayHd -zUM{PFr&CYZq18Ya`&lObmTOr7!!WLaeFw*n3pjAXLl+LIuM*Zd3%tUuT;OE|?1v6a -z;aMj5L1bA~z*a617Cx~d#(ik+6EVzKZytYR3+`Ivp*OW3a4ayJ=&se&z;K|}1E~Fg -zWr&8B)lu_t87W4`*_#UAnW~|2w&#iF^H!Xb2E0S|#lX0+>8t8K+YM^Ieb74bF02G~ -z5?Kb(9SbZAQ~hB>3tq}E9lY?G7mVW?i>SF(t_awYGJAS{>Jug5{H{BcLhOD;o@0Oh -zCr`Y}tzNIyzK>LwH+(u;|37R-?b(N|{;|3YnOyy0%*h_C9AqW;+@7yI)^5PT5+4lI -zqOqg$GF9VaOHs?$gMz>DjG@hx4xP0P_B1dN_bNd8-=!%c5_(*G^`;mW*@0Zy-JPd7B`NWN@3dJ^5lsYD2S%WG{urw>- -z150TbRS&S{fg@s*3&PQ<|Kd}&Q}ynBQooMBo_A|*Udqfh6(f6C7iF%auI;?pY8*U1 -znj8#w>_?n^&^_fo4in%d{@?6Z5^-g4$9u#t~cwHbwL{cd@HMZACUXclX? -z!+4_y9xle9wcEMhA}&mG^m6?X$D%Ka{ZYG8acY${6VFlBOt|MlRnD~FxV`8F -z$y%77Vq0s08ZyK6me?%wEX3lSJeJ~X8ILEnXSbv3I&1s!jT|P$W*Q46xFr=I!kX6( -zq&d%xCwtw_qsR3el$z|%trU4wRSOuaBe?Ub^TkG;PuxTP -zbs3tw4`70$-8juZ$h)n3t;r{v<=7)N?w|BlM^P8MXGysO;>;7)26cY~`;kpJ+Pqv7 -za5<6a%a?SCwK;5gmA__5N_nlHw5GgW7{)VoaKk?hqxH0}W(Rwrm#RNlXlgiLp}vEk -zw93!aILziqX~>26_CtiWf90u#Q*_?M=e!qWS-wG4N>s^~EG0$je{KQemimSTmwMyM?(T -zZam;fjDXMp(WLI1Mng7Kt|mCy^p#X1RJ&ziZAlGcaSd3T2StDTVzE)muKYdi)Q5TZ -zr15yKb@X7$dNzz$GCN(A#j)eV88*km$02N*Q@p{$QMPpl@B211bV4H=nmD1U2@PsR -zD9(yK)yo@u_%}DPaMG8Eduju)S9yK+XMo81x%LwSu$C4_i)#b`9{a(n>CvIg;=e6C -zZx&uR8|N@s!?S;TQHB9Uj}+z>ulY&F>SAnc5$2@TEFeFMGiCuNt+5ww5gT-2^O;c5 -zOhwt0t01AMK`KkJR-p19J~cq-IbMFu@#YOWMX4Ez^5hDJJPqFIeoyx&+xAU^IuY&P=1ez|=y!9I(1}x7Y7Bj{1Xmm#lx~AJfsBTe{ApF$Iw8o0Pt{Q9TRihHeg -za~t<5t@eHB87!h5pT>YXYjk`0;=1DZ$(s73erxT#Iaz7Y#Tl)#iG9Kb9b)6uFOJ2W -zLp<)_a>jq^+CwHeDf!<;e_?-PZ)*}QO#EoZh*|Em*SmS6Z=atoLWsQh?&0F5_EOht -zLF#%f$ZAHk%%VcH%wmh3r7m`6!hPH(nQ(r?Tx0W3c(^PX!bG*n5Ej49HA7}ih{4*i -z1yeo$4*7|(oPV!&SnH}zb -zLc@Y0!-5jSf>LEcv0*{-^o@uqFWra*$s0UkL8)=hC8l+W1*M6yAXaYy3ld)!#DcO= -zSx^=!3(8_;L78!Plcmanvdnl)su>=nzT#mgspcye@>p{QY={Id3*;5E&p*ViG4(s@4qP8)C)= -zNEHAl3e^0P0)YY8)UvtC%hVKcCi0XrA_j#IWyU;`0;vM9{~W1Qra)kT$n;WdfK&lu -zKiY4e0RjU=rYBfrTPFDq?>Nr3M1m(UIa= -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 -zz0-au?xlJ&RefBliH#^r@-|S*xLp# -z00jH0yOjbCGr31zku$+xdCnnqZ#rFjQ|o7x`#(jyP4noor?AG7@cpMcGLhR&IO>2c -zS3LRP4_qu8w1_Y7RN2i*&fZ{ba@>fjHv_&?H{rM(wb|k#QS2*4sT-cU+44oaCXb)FN#AAu#-J%(>-Rm)Zins_09h<6HD2K9BAGvO`hON5}soJLgLnDPoHH4cxBlaYvZ -zk__by=&h)89i}_yE9$^RctmBYS`7abS*TAP@U$m?i^Z#mUz6wYVpfYE+S6AiUu@4b -zFkguSi~X%Y@(4T!_VwWGSDtzTb9K4fXy4C!H}aF#X^Tab`5!LIBvLP*$tPM@e*tw> -z*LqsaOv}qmoZ7KUIG+#VIc_=@B{-x$AB)L;(!ZAaqMDV08zg?rw}z>oO`i925XHD~ -zO?`2Hv*$5vj);G+j2@UDp41m6zU)Fp-Nmf}XU;K_7}W+T-B@_Sed+}|LDd4arg5quR!QA|%=5aad+9*VL_DpmIQW&yvM!KT)=Ld6 -zjOODfIgXa|NBPmYc>r5<1PcC7pZbJK##n}hFMrB)Ha`8;ArnP#EwsWj7bU%Y0j1^O^D(3j45>=a~w -z3Cs03upG-tFGc?}Q+q}*k(H?xBPs1SX%A$cZ+jrq({b(rQ7iexdmvLqU4Go=1p__s -z|NiFe0ePST`tyBFDzC@FbcFu3PlEnIX4TFGF6jT)e?#!mWtcw5yZh(uHXF?vAa>%# -z153kih9*VXZ?-0-wPc`4zx>Q^#3s#u$p_*zwJUy{na6Q>IHJ-_;5ob?EO>#RJ^@}( -z(m!!#UZjKy+ro_@u_x6-y`$s2d47`X;mLwzERSU@Tvq8g`^93Mq2ZHFZw+EiYlmRY -zpuRq*exE1zhOypdM-H4>?RUJevEhDFz=7O%LMx3UqxiPkEAdAbSZ -zM?Ze7aKah|-im!USNZ)9`8)wshE9GKN^7b@{E%(ch+egRUPP_H9yg4noi#xxzQjFVM -zHlG9AB?|Zk2n-M!ATmH~0JY@;pNi$9<1)m6g{w#ntLV*#F(OQrle-w0da(9FLN&gU -z7-u7ep4&m|G^g?=c3gqNdKLOTuQEswn&U`e%$2_;Bgn9*am7ztS^NusTm1_zbU8Y+ -zrSXL+6R`4}K9G-nmJrn96IH2;NnL2`bdnmj+*+rgD*d6e}hA -ztapWie6qN9OIPQ}*Ocy5BuQhbJ{5WPA6pu^ClWto5 -zF-h5WH)W&ODSubU^I@ldJ6)a}Kq}!4Dm=E@_g5{dUEq4t6EWJ{oY80Z1ngm(wenK6 -zR;fT_0AqMyoaOWjwGKyFfxg}K{LC1Ji~=^+lM#%wuzI -zAAf!ri}h$f$@C38gJkAIfb?Rx^@(}OR&F^G3qGwG}WLCq92h=~NQF*FEj -zKBGar&zj-e{sMxk@A1=s!ecDSv;p%=*-WyabA`na9y>IM=M&Nq2%o4|0N^>lVo?Dw -zO~~h>Wbln*NrNT+N=_wHN)u6B7!ZIb4z(Yq68kyLn`Gb(C#n5a5y)T3>tsqG=ERo< -z^`&ewr5tO(Qvg+mPNtZ|{bN(p{0JhEHFF-sk^%~NmoTXS^s#&~N(LXyq%_FhT=PYh -zOp2ds%qReV&l`$sRsvumo;QP}n8F9MIRo-nN-CK&%8@N70CJO9W)XlsT`*&-n8pWl -zB?GeO!=z3I<XFpN&9I}n -zbd(G}X!=+&!(T}&<}AulR8^c!n;w^8IAgkwz}< -zvug$^u)tZ9bAc)6DKjdI7+LA4uV7@Q(-DZrFESBGO_|O{AXRkQjLKpWN#!FDNfjax -zNkuhQL{g;)EH0HYIdx{7Eta4VE@TXtC9oJ#;nOausU>)X!K+UigzLMEp~CN7HfyNx -zNSMukM^q$LFjOeRlZBK4DJf}X2KfR)^xX{Z259?n0*g3A$Z3$;y(G5F0>Yh1-XxVn -zQbm(g4oQ_vQaL!gNtvW*<}C38(F&xbq!k#X7Nm@tq^QYCX>-b6f_Ig4$s`4Ta}{i%*KmsIrGkOk@IG18uz2Q4 -zl?=>uWxGePxM#_x49xUgTEpzou8=qB!>?T`nbZzwlI)@-scv}_oM%`)-32(uu;DK- -zoJ||J$gtrrGMp=En6D2c^O`@!4qK9iyn(X}YyK4b_)aR>95Cm%WcX43lsK4S817qt -zQ>m2U&oZ1Y7?>S#XAFOiVLj92*m-j*l{Nf%hNJwl)nzKL%Lf;q1Q$(uMRsvhG~X{V -zTq+uv-QFa1{j#i=N~iJ$E;6jkFP_ZP8J$0NXq%GRh2adtxwL_^4D0-{Q&1{?(!lJe -zsi5Qo{vKFP#%-tc9E{NfDfXk3^?j -zmitmJtsqP4;*zn?qr9xw1Yw2B@%E(FE7a07~;{fNANI%ErXBZoiOg@#;Fl?+d -z`Ls?i&*jZ$3kF7d`MgPw_ZRu1Nsr4{DC+#@q5R7fN(BQWelex@Q?e_SbRM&W7w<<6y~xvgsIP*F+{~=Oq)% -zHGH$#P%JOSSYAr8yu@lSyYOnu-}RtLPHiP=YQlSS`J94a99+yOkH{rh*%z~FYsvSf -zi#ZL!%)Xe{5K<`?G{mVCHN>fu6qG_LCB0phS3FW0LMo-ShVn3f_*Z!;q*HAEuOX)C -zykwZB^O9kj&P$eQIxktK>Ad9l>Veri=Rl;vufRO=mMJP<$Ax^B!BkR#c>zlbEHao@ -zyZJ(r!HnAJ7bGdI1t>^Txtszesk~As6eKCNX@q{k0#b2WCJyFofO=%Hm^a!53y=?J -zu#}90F#ygm2jbzAO=)Ea51%Y=j75dOp#Clo -zpR7_ALxsSgnjC0SVz8i^p(sfeRS}AklvcFxK%u;;Y|uc-5~${fBF&t5xFD&iMF!RE -zMKc_OY6d8O(Ub^KwH)pF8O$qcN|GvSswAbx4^4;wi)xmnojHSPMa^(hdX}cmHiJ1$ -z<)rk?O!Fs$MMceWQhGKn?U(d^8i>PV$xo9vkI233>88g&M8=J#%OmLhw}=SQ3Vx394-i4QuUoGrsHr)!KtEx -zb1_)GBbF?w^5Rjj7@ShD^fssv;&4X6GN7PBh{IV0i!)@X5aMu7!K%HfAI9N=f>r-Y -z7cz0U$S^9MXISTt>VsjOKa#l^*7>7VgJGS&oJvpUFR#+m`O8asIi0_Pq?b!s -zN(2ky7w0UvWJATIt$rvjf-{m{E~#NjFQ;add{)xS -zr4^i$^a|oU1}X&3Um>Mo$v>;@M1>%5M!`j?4_4cW3PE7?R2s<}0_QcX(o-`G_Fnl| -zA1}uGWO~iNeOILnykQPWhn@3R*s~=X648TY*vbYyufB< -zC<$z4{xrkU%rE(iW_rnAG?PpIqM2Os7tP#~zi4Kb{6#afoXQHU>X!!815wYX6W@Z7j;m9Gb+7*g5*z+%Z#|Opaoy0SCagtODa97ZxR3`y=>&t;tSgV -zMA`fnR*qt!L%YH-`D~x-{P>Vi>2U*)&^# -zG7Mcdt$IZb;}y4T^zaC4ifQ%CDmaI;3pPhkFsz5O@z?iLdhV1D%iQV2A+GIyY^1>_was#-u^(NNO@@`Q+rRv%%EKKhDPCq#y#nUsS&xiLD#rz+ -z$`z0;El{@r+3DA%GQPeybCD} -zN1OYl0^8YS*j}or4t@wKEfw`69x#?FX7xw-0S$GB9g99e>9mGG%M>-lzGHFY6E9nx&lgn?Aa(O;aCln*w2eR=*6{}lP7F24;5LvOks8lla_E^@!%U!=S6A3 -zE=a~VLn-*p;X}(jAQE6$f59~NsZ)^K{~0*VFs)0o$C8>~pcpd^0>zlY7j1mW;HiEi -zJQQNQ{eiQ-B3_!6^DBH1YW^%|JC($9J@TkAb+eKL3Z=Y%a;&8eb~0?dB(An{`kii= -z2U%fJ^TYW9wQb1)@@Wew#DEeW$IVH8vsQSKqo99^i84!W7;O*4<0S(ubrc04ktoj( -zm-B#u=B*%X7;h$+vGF+@C`7?xG*q#_DJG>4@_~VBHaRa4`vM+nyc3kCoM@;$;FoNK -zGtF8e5p6Jk)E@9LuEgW>f)v{Z@la#`M=Bev05y>4F0v(wmn+$j=q+;M?TdyQLpcTU -zo;H_{2Ac_U2@F)Q!bNL%a@u)za3q7xgl&Az3g@lC$@{r{Rt-<2MSCgf_`Fw)Al`YD -zq?u``F-=2g=S(Uq>1SBeE#9DbxJ6-Bq^HzNf0?3x6=o&0s9t%MgAXk-MOBo%axVOTe|l)4KTa|}%=-IAsU;}?vs^Lf`Jy4t3Rp^n -zfe*}o1r$`we8gtBLtL4LizvQ;dQQr -zCqqlJ^yf+$^$ZxoMRl_<^N8hp9(`;R!JGYj64oAh4waVV1SFqIYHBK_sVP~f*pnT8 -zVP%5r`l!iAu&LlC76=}KGAT_{_8|(&}>#-)jTVUa)X-&5VVX^AXSv1#7r)`kK{ -z9xz9_SoxL7sdDR3!GuaWluGLQNu^9Eii=Vu8JFc90w2V|30z8ET}+{@57_LODKzik -zwR=`dXJuaBqouBp(HC?fD(IK{Qv7UdS_34E -zDC4yZY+OpEl1d<*Rpn@L5QS_1LI33s9#ZBEhBda^@hreX2ENPN#?5nOLHcOR9Ur0;LsHP}-*d -z^V6B0e%!J;%lNT1YAvV#;I*?P3p73{N-7KGljJz#S7hi4&(WW+Mt_#rwVgMLsW|h$=TNM|zNhNNt -z=#YARnULCm*MJ_JIY@V00+7kr{lr}&^E~ianX=hu| -z7Xe_zSFjI^-CmM0A4`TBwa3jFM;Cb1)X -zZOaeaOd5=${e?~-Dt5^#DckUikyH-bU{lmQKdCC#11!Cy30n$e&SCVx3KR{WpF}LQZ}t@CUOj@ -zlNq?(&8p+1q!ncA77Y|F09{=NsjDm73F_)5i2a@cayC$ig2iZ*u%%EzpTvM)AG2V) -zq)cjZY|5exYI1DIqV8XR<=Bj+po}!ch(%d=uz^KU9oF$WqX9l@FQroI*v|r3e$xj( -zMOmm+zvjiQWIDMC$_kp)UEBmqW=!PepjNcU(!)(SYlZVxxL}P4-hCFt0*d2Vyc1@149Ww;%h4^=l8(w{ryopU`)KO0=$vRTK`ld6-4AS3| -zNjwM14jYoZV-?reX|rKH(X6k$XgXgsH&Mtt|=hJ4> -zxz%jeR)Qfunb`AxC)Hs%@o0I!_kF9@{Qkak_bBoMcQg*(^}7D}zVp)&jPFv3OpN(+ -zVs1NM;%}y%bbdr&^;xC8+HAHfziieUt@f*G>sfoX(#$5?D^FJ1&1Yrjw#~-$3^BAT -zs};lY%^?6qgno#?||)??--Uj-)VcpV0grLzF)+D)>z55iEn*1r}H8_N9M(1 -zvGa16iquo-A}9Y9s2f|gnvghzKl0t9tLfW$ELPTUY5M$Ze;p&+S-u*haGsFf9Q5II -z?842bAkGP*yvsOOnyvE2YPqr6UM;sO?X`Miz1*TMKL?9GeeZr^Hy97R$-T*bFT79v -zw^eSmDyx)#T#GoJ%lN6Tw4YVVtCdE(Ren;d;2Vu{_35)#d$UZrSg*IL^$q7NVJqeJ -z_DZeZqy)}1w>G&BtLvLJ=e&m2tIcM0<0+A;1S`+l@|iE1ubZvPI;HIG`h0S=)Avb$ -zP5jk+=Mk?wM&`Dfk6g#Kq2_cn3dWPr^@48OXV*Y~i#YcB!8^Y_2)e{^HR9NGyZ!+=V$-;ft^WTT=z&mhK8jOw=*4wTsU_eymy^H -zE@qifM|$u2AMhM4T-rGg=J3+ylv+|)sR$PLCE+elC&5ZE81;SXcT0jp4xMXJI1x2} -z+ka5Ujqs{b4T5IX?l|am+q*$$8gl*KnnUdk{5t0%oEy0}98D*!gOTstoI@RWA71sk -zlYOf5h}h`|pS5 -z#jq+-V=?;PK`@;-H!Kv_I^44Djf3fbup7(jznjlqx3D1xfj(3UAss43INhPbSs(c} -zM$}!P5xlQS2JK9|3wj-?uZK;ae!8wV-ow-o%8Z8*hK^42yIbFAmp5L!@4WuhN5-i8 -z^(F`I$eU1K>r$VfdG$gZO_&=RgOx(hN8!EuZ<4>!LgD*wpLk;@tpYrR@%iC@wBM(G -z+I9D#Q^BZHL)z>9bxKne%|G|&#_0_y!%up{E{gXoz%xw=v=Xy!j{RMlKT;j -z#54G|d{TGfL)54{qEcqbgWizjnM3GMFx6pa>|>Id%d;Q6SJ;Cchx%j(kw)P%=V%f{y>^`t;Tz|NdGYq&cU)S3#m6*W5eL0+ -z!U3wd$-|W(c-!+aNYGpNXuS)gm4F&}VrnKrQ?H-2NWhOUNR!KqG_B&Y7~npedhh+7 -zyUY0*Q5#HLjM6E6j5Bg;hLNQXR~HfkJVxG!t3fKmZtnxrT}^LJhyC8({=`Lfu!u30 -z4}_Y-quLn^JS_5%5IpsNxQQ$BoV2z#eoM860T#IZfUD5dbHaTcOkL`!(|#8%hZH11 -zBYN~`#{)l!QMPudGf#qmzV|*Dzx8<5;%xn(IXd2e#5cIWqf8G*b!x3~PnG_%X6jBh -zy`kS{?-cA+v^bf(bP;)kQF+;pbLYAEDit_bEwjREK`I-1SBz -zPS$s5D8JJ}(3ix72W)7x^eK&yIvlMV1F!27Cg{BNCn}nhnlWo$hw{lwhgxy(-KV*U -zKMl6enjhq}>3cSWoe6KV&KB(+q+Riz^7{2X|Ho4vpJH5%vB5%rIeHx8w) -zApUq0$?dHsb%~zWuk7wp*9d0?*c*$;R2$2SX)DBl%`@4CD*;7x2K21bz&HHJz61u{4%ePSagK+osh=evgGB^aKEM* -zR`xL(Y3bZ*t+k6J7b-j^H?A;C6r|;*%gYw!1bZ49Tl>K{O3TENOaMQg=&6-@iah&H -z5+CptoR77}w2kM@A0|}HW;D=2trB%eEB}yY#wg}hrlE6`Lt0ov5oRp(YVbGTpf4MA -zeRB?fZ+&yKZqU~a`Y%(jkL`;g-7qB1Egr=*w66^9Wk{3x#1MWmgkO4IFz9K)08O;o -z;|co0=qy4g6+u}9aqdiiW1;*Vz -zW~HG!^!Gg3J70^XLqh9AN&lM|e#F^)=RbfZg^Ek95sXG3*&0_3v)3WXIi%FEXQTpu -zQLYCrZ+N?Cd4LUwC>67}e{1-ZH(_Tv_JHlZ`w5b9`Um%R1eS4oKQRe}jTYNz5u`U2pK&-#SVu@^X_>o=o<++c%f_Cf3S7ROPu|+Op^dcV#1(WFx -zE%cLvzF+w;8S~6c^Y3&A-HCEC-NDqLGp8m8e?h)twbHn{($rGZbZ4vgvKRJtdVMOl -znHMfKBjt*k$iO^{lT^;n3Riz=PU$PW?FmKlR=Nmmzhw)-f>yK(r+qDytL}t5{sVV+ -zI^=49gb9&k3g_2NZ~xTP-vw{|`cP?`u*cl^Cnnzy_MEMMVtOR% -ze^QJp<<;5wCnh@ylrYFsi5asrb>JHt0gL)1_nX12#8OE*T47a>74ii|w)X-NhUAbw -zCOVpl43_YUpO-pL$?aYT{qq5#p -z64{M8#7z>rsff<)IW*P_Pz!luG&eP%&BFNuhfd+z95SZ+8}sq#05lcFXk3JAhjH`L -z(Rfbhg3v4_+0|K$o-Ak3szqTpge|ApDdGm!< -zx$(5pYL~ZK&+3h8>$P)MVb&{zS#?e;5XaGm)?9g3S+7u%PmqvGZxuhEwt%iYb}rGM -zKPB`{NyrJ{setDc|J(=H5(nwe{g;%t%41<5?D}TA+-Q_vt8k;T(pp2fL7R{=4$)7w -zo^7o^X>Zn>lx!8TPSQ`Se~!?ZR&~9C925Tr#j0*l0b8v`)49Q6%Kgd<6uk{*`)(d3%#p9n^FHthe(F^3`BK-i9 -zpl$T{py^K@JKt)Qu9;UPFO_MPWAXU0b6(S5_!8l|M(|-r7~R%De}RRB8dahDoDB)S -zw8Gm_nCr)ciSk*i)^vWLKkft%0rlOT>FzEc+E0SO9eBe7cjsW@hqs;2iK*>;iNC3K -zQU_8xkk)~W^ECqHN|Q|}R#w*AY)FyL<(+G@lzI54bMORce5ROnz5#yaS(*MzC#f6M -zUZ*n2oR0M)s2^b>e`K@Gw>xnUv6##&jvtQWK!z4GS!JF7EfoCdZ&@6Rzco{TKOSOQ -zDX&**wQ4z5xFgu?e0_6>EoR`PsmB;n*=)zOhGALQ8jCn$HFSt+UTegd=C;Nnj>X?v -z)Eb8A=+-#QX6NhvVYWpB<(osSa~keg%d|yowq=^lb7bRMe=G|ccQJ=m;d7V{H|`A6 -zoW@NL#JqS${C*D8 -zY|ef>p2sYje+$^GHed8byPQ8B&ts;&1#DJp|1^hfVXfVq!)#jm+c`wLolSo}aDyT{it>Y=tj#`1q2i*5O@=||*y;oR`uQB(~0`3%;Ka5#Ot^mZ@%E4fBVE&7d6I(R{cd~gUVd1u2)-?M$@^} -zs@K~!=wDiOs;-TdO3k^}s&BSym9e%dZ?Zqm0J<&9>QXRmT?lgjaVtHF6|A}jb|eM^%ySk1?jR_ifkwM7sGuF{`B -zee!h_IivULwJl^tqSF0Be>$M+4CcLVsEFRo&R)sof3v0KM9EJNs}M(WOoTo~QNl -ztMY5N?+^DT`|iKE#YZl65{qKu-Tv84f70}Bk)}ic!${0+{qZ;$yPcp5<>^<@^`Ys;tsfu_(gLINn718Ihy_jb^JYw{4Y{HU6>!;Jm=cv&oIObbw-F=Pq;}Wtyk5J)%vUU)+X*AMYWTqv_5NjJJi13e~vzf -zzkpj7{a)v-Ij#SaFnpPzAciB6kr>-(umL24LSEBUzBP{{Od7&53UwDRe2a8LwrRYG -zK;?tqnHsywv$03esZa#!*I0#U9xkWqFyNy{oxT@_oJL~k!8!}X=EUo~RVE8G_+~Kj -z#S=ikp-!(Jr=TAmW)miSpuQILU5>6z -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 -zgR3s)C8Gp)d+=(~f59~xMvcb7BUp2W$}H3n -zF5xGf>rr&Rw2nEZ4^_DDoQp_U^qi|(!yT^=(X#8p-N$&De|GG&9o-tT4uw`Q=WGY&vgPOe6|J`PdCQd>4xbS47+QKhV^_*TZ$w -zuV(NeUmqmGe^ra1y9uHHV4QUWIWg;(D{jrOjUlQX)1z3c0E~$XK*6U+Es;;`uEscvbwoo^)j7Rx6 -ztI3@~SF$A_Ekol2{uFas>A+K%2#8vc!c~Nunyl9Ae_$l>P#=z`iDI|UvJl~iECav+ -zhtcOjPX$LWfh_Xtn0q(i6HcOrG75}_an;9YhwkUH`GmQd=^A8>4~N7_1g0iNZjjtL -zgmmg|>8k}HH@~<}8TF@o;)CtBlL3czh{jp}h-u5BY&MNkkFK7qeg=L`O+Iw$3qLZ@`7>YO$~!%?f&RA{?alSFEghz7U$ -z=XuTfl79$|4+^m+AFOFm{cJOfMBEnKHfQ-c2$U2B8C~O|A{hXZ{hCUqR^?)0!!?qB%6~p#6qn~q*RU#^KP35Mhb5N`5^bMy1Ymzbk%2^eVf5NuSf2qr- -zwuN`QrV72y)y5TGdoF)#)aPodV&#jf2i2aVLr74nQ>9WsKgD$F&3{DWHnsb?<2 -zN%>WU(9LAN&0liPsSy4>f3DJye>_S<(7!cFpr&eplaf5CsEV(q$hvWbt|HfJ8dWpI -zC7nGwg@@F$|_2jej@I}dA)w{{}`PCv|Lj2QU3|J{#Z -z;=BJ#%m`GdGR9#RFO|N9ZCD_tRz6JpAqpt5)Um+%SsRyc1Yw=yf7{g4plZhu{Kcn~ -zquA-i4TDt%3VbS|`{)cUQVd--BuhcI6lvj{|Lqe?C8vA_V^^s?jB0nn@ArM$DDi1? -zH{n)>F&hwLeKNwCHwk`sX>01=)rZZJNGpIo8=H07?oPxsCT{AJ=t%)GlW*Bcp{yL7d+%R7S<#5$svC!5L -z5wPMP#HH!R0IGLfoyF++1ZchKRc;AwhVK_Mm~)%k^LX^}jj-H1iY0cKbax)7Y!~85 -zrojkLL(+Lzf$XshC_dsaosfH&l-#*LHxBJ}dtFz&2kYrnf7%qRssb;^VQUmb$jEVW -zS1M&5N%~v2+I4O%U{QXIZ-U$!`@S)qviimyO+3<(x2w4p_OVl-@HmwcTSNA;fzkO& -zbCBuOJY;$vGBXdU(mZRB&@jsgGoUs3SzcvucFj|Y3U9vTX~fu@cxL+-^Y(4b-)PPV -zI#3RFwcl0Ef1i+}3{0n5vtb6cMxa}oUoUQSTwIIB7(?%>!)MS}JTjSaZd -zKliFyTU~*J|62J;g+#lU(XHdYsyAM=o2^Q@M%-<7JwQ9qdToo1$TynKg;%d$JuFYD -zPKJ|S2fOeuUwLEL134#O!RV|T>^a}P@}=j?d`okzfB2;L+*iF}H+b)yc}4NpJ$8B) -z5<6pAvCK+e%fCBDnv+)yyEIW_hSqhgEK~fhF-~F^JFc>saBfIEeOMB+E4ePTRlgG` -z_hwJDjmjkt8ouXm*rREV5sz9N;UuRp({E~ -zR9$pt<;wTYas=w*tnGF_`Ng?0qw#Ush;BTdjwViKmd4KOeK}gi+DLRh{Iw(f!61$K -z-he%hdvVRu<#~}G&gzwB6N&4RZXRN{(z-dTe|oZsr$j}_BTQ)vtr2!(u>#RK^SV-Q -z7#AL&z4k-r6;87|?9!HPAPzI-S4C7FbY()t@wd(K#oLR%kI43Mt -zS+J{P8$I^2?}~+qd(T-h=6=@szX&ZWc;bMX|DLuV(?{py2d?t%h`;w;=LHfO`Z5`c -ze_Loa_(>RDuFDgrdyl$6*AF}XuuC22zJ8|ymV8<_=X9;Z{UHr>q=#;ESTDR*DYv#7 -zxH=&3gp^l!W_nU?xIHD$saZj+Vd*n!)<`)0f5KPz^`Kh$_3>Z(Up{$_qhvknKMO+R -z+IjX$!ko3!9JHy|IIswF1Khixa91osf4SdRco!$>)QES-Xr&&pOv6ZDxxo|V2HSIy -zyiUnDBhH|11#M({0J{h+AS+oHXU@HjGLco!8;L~*_2Ih{T?tV^^n`4>EXtB_68uHg -z5yb=*PJX6Ce7}X-Co$UHW1)&Vkn;&`qqpzV|4-=u73cHql@;1lZ$rbj4Q0)zf3&my -zY`c0Ne`t@r&3kLvVt=`I863O@PWc222)W>G)9cK44Szp*<1D@T{$Kv|e{cW8fBcXC -z`J40U8)~IDPjGV&fA4S0FFZ2I@BNp=vqIRFD*D}tH!Jx0{LL!-MZKYZ`DTqnRr>$A -zbL&k_NtDZ;evW2YZ#f=2_vexI&P4P%vMGG*T#s0lbh9iTiyu4R9VU$i%T4&H$4vCt -z`7vUk@ip4-b;4zBmb9$Je}u=*PjlFCV5H5=rWUU9^Yhosf -z;(a}bM?UpKMBxYDLR|G(<|`~b -z)wxM#I(=n-Dxi=Y|;wG#d)OP<4DCk6*%GWg>JML_1rhAH<{n*LRa_IN= -z_+#S3o!Zv=j8tQ0e>R>flPs3en^3XB-M1srLLLmb_4rSDC$w4bTCCbegu4qAc6_@} -zG5)-WQHu}CnBY#$n+~xuYrK@>;YUVSU;D#x?27NjBECf~^6%8OL;pKwb5rH}MDeln -zdlQ?JZ*zfadG<{Td&0B%OpflbdB*W<>Z@6cEwZUyu5^3+ebMxJ+lqZ8Ge63qH;ZDC7F6G1Bgt5-KUuN#7KBHb -z8lkp@njRZ={K7Hu?fWsYh%b+cxcH3(8k>JRz|tk}j@((J?KnVLd@6r`x_0*d^&d!v -zS5bxV-qL2IawW-y7~N<25OkLn0KOa?lSxJ$5d|NKh^Ck{jV5 -zu-lGDLepV{%CZTQhCZY;JcH4NW#wb%f0{)gIq$>49f@#p79S-as<+ja -zwW9yAb9h|0+ -z$*qH4XSvKj4Lx#AO@81KgkgXAg@2&>-D60>aiV>D;IVV=O-()iyXp1DJjb3J& -zJZ`Uyf265-6;_@kny|0YuT3P~6faa4{G+CPu+y7&!H?&}IlSy5VCeOi736!pof~c)LHDj55nB -zz0p1;H0`OOY4GM+9u`*~JDRkqj2<65S0iL}f6I_%bB#6y2bf;2!2iPvm)c#(B#JZc -zfr~isSJZ60q%UHd?(Pn};T@^w^c+5t_a}J8Y*|b7u}5ckLJHpYg5~HPJnoCZcyDJt#eM37@`cuW9=QNMboBfE?q@nujG)ey+;wQC+ -zzlAjhN^8H4{sXaI?Nc5?62pAn;{N8GeFF`Wyo1~Q%{l)@D}49~RnX;bg910+h^9Dz -zCUQrGcU`%dme}u160{I>-+N;}q27~ufA78Z|C~xBA3dr*70fHb{Pt&_+(;BWD!twy -zO#ICs4g&OFmB_X~TxVD(aqf+E%bjZP#G8Hp!_V~d*I?(*v^|H-;?J~c=ilUSguy`n -z+4M -zpyNkw;*XNgpOYW%y-7YSc@KBX57&PCkL-WmPyCVg9bH;@=F*%`esezmjWbJs|KvI+ -zf5W{iJa&5;AsIQL0LpySIVAvXbDSjvW!yODeskaRNrRkQI_H1mD}a9UKrx^EH+=uM -zpYAwI|Mu$}9lrQ)RG6BwoOpCEfAPorg4*KyE!D1|K508kZN7gZZ?CAZJk;)-Z$~yJ -zOuu9!EGCls$Gy;EG6=0o-G&e~2?CC^5Pu -zJRSI5`m_oGeX(tx;8kiI;#4-`#Hm8yJkj2#^~CuMr@Bk+-eBN&adJrP@{kJHRS4{7 -z+PzS}QmM5FHoo3f9f7ONe5K>5g;`sPpx#BjYB}Y1jrl0`oWYPc?VnjWpI8t -zjswXowZ{P-Rhfo9WfdczG8oDmRq_k2FWd5-7189K+fO{_8*iu6_IBDK9%7{G=)7$Y -zCgXnF>yP$5=Q>llf46ag*B|Wo-S))W37y+BBz8XF^HZ_ZrhLKrf6f9HiqCBC`OT5p -zZ}27IHePCVZq1OUqjuN2jD6E0LxaST^a=m9S)#)KVB={~l2?@_>Ht}(2cP8}J -zU^a}fp-+NQl=|&O3{l5W-%#4Q!?pj1!}Ji(1-HWiZuNu{ -z)%aX^@qEJLO|IU`V>J8?x!oI;&@vLcZqcRF#Onu-4bnO>)QrmJ(&GLTG -z-kXvDBo&Sa@7j2umWGTSKO#o`gvZEE@ImTrhKR9F -zG#pgV-r@{|`@P-C5oE}_v*f5|!h^xwva{<7d(1}}yB*P`04%V@+T_Lz%VFA>AE%jH -zD`UQ2f+?OvJM7Sd@yvW1aTxqJaXil~5%nUdv{v{&e>DUjI6FTcLbcUX+4h3qT(a0E -z%9RT*Woqc^sUzyEVLOexaL##)3#ut8oP|&_1?GRXMt--LLuRYn5d+h$1yG@-dhzHw -zFQ0fmE2@TXW3(PmOyjpRtB;|NV>1_zz)-!Y8lO_`+ayepyU;7eI!`e@ue+ -zK7vt_T=eNNs8))1kLQyFzt@b?27HnSk=L$FH_j6iHLMnmIP@|#FR{CGS?8pAYc6Aa -zVAJrOL{bw!zjwjlRhlxG8G|*MwGKL2vgSx5++XBlR@4uF&h&2Fur;fo=)^BDx=)AT18?>y}X??b|LIuxx#g1bKs -zSbs{NvcV>8zk)HvBIHmx#`!{Sbkq0w_hCmK4yF$Z>}&rs8UfwN)Z6prQ-m1vrqNjv -zf3JOalF6hMPML7Z!lx{J+QMh7aMlXvD11qU`Jq*{A-}9}J3U;Xlyg<*j7Gw%or%`* -z#M#iAH>AE|a8x^5W7ySiyZ#U(&%7(Sj?46W=s1cAU1Bn*E34vuKAxSG`ub+A0#~~2a;;G*uY&%~TzaF@YJlom)JRVpmP65q5XU8pqu--} -zN4Sd?4)TgTFMsXy7ELC3M_Q(r}tXO&;ttJSB~e->BbPZpuo -z+H9xW%@@^8_&aY@{<2kRw%X6AQ&t+x{NM;?YJiPq#pbq(r_@fsUX5dEJNDL(cTea` -zX9}uRs15#!4}t1xt-=QF^{rNW9Tt1dnQk28*eGw*nc)u6(Tk6v+AJ<|ad -zGBy|vja2J%+*Op5o$E7b7?`T=XSM1&d()fD42una0uQ?S1_R<;u&Ey=@jTTV)M46B -z;GJi^GSf1fDJ}hSDHEqDIzo;iK -zs~wuX;oEq5#OubLSpBp7!eYZr{#3JDO=3T1IWvtNeh6VEs^v3&rUOLI)#E*02_1K0 -z13fzJv=>9GwzRXufB1wbjt{BJ@JDR+a0KI;nGR;0PQ_D^dl;eRviE+SzJ7aF3!&dw_<_Ib^Ld{?R$teBGF%`A -z+Vpu6-Q|cL2~4*meo@)f&K#w#0@O)$B?&lNh~f-sI8blpZY$$jM{q$Hh+{L(d#T&mKe19YfC_LoXad -zFCIfL9bLW06hD1T^`?)h-t=+lA5*>QW2!fOO!cOZsowN4)tf%1deg^L?=i*898Jzq{w_`MA2f;rq0VIiGtST6@3r -zI_&cnivXINU!|6aXi1Fl#dPC}@ -zAge5qv3`zKZBz)kBP_|Bk7$CpE(lor?a~Y{zS@QKRh)#%iWNieTXf!FEr5nImIL~F -zi*_on%iGqD=J^`CE>1h)|k!|CA_#6Yq9)~k&+vjM$s}`P(QgJt}Ps14K -zk*5R|WKtS+(>s8$?YNAQ8_6`dD$3$O>Vb>#B{*@qnxO`ZbB0M8Z98cH>WVr)yc>eVQRM@)D5hPF*WtZ#s-KpNFajW?O_? -zBe}HUdn6!J&m~ZaZxjkTV(k=i32|YGM!y8ss2i0-7R1HB=tYb0WD3{U{K4oME}10I -za^`Kbn-)+Xmbp`!N;@gU0cIx(e_7WUXs~s=+BOXROWmqJYl2({_*8Ybyc4p+Ljdq1 -zjrNs0i*+%I6Fy~=BYgPAMHOJz4AMU@D-?>T{pv_;LYj_H^TG*d1pzTp=frCMkd@nF -zK+N%?XX6Oqw~j8Tz^0j~z_%W}WBHqt#r8%Dz%;GyArXK8Rf*QrWWI5Wf9cBB-0a^C -z`8t!I_JbX-FE=&}=^B$zNcMa=6GdOykA3V4lc*Hvgt2i@AIgEAL7ru#U)`+?M%33a -z3Drm3=E~N*6|8$B9xmeDhNlOvsZAK!nS{{Yu$?a}pC@Rt(~J|}`TV6w-9-zc4Tfk{ -z;}r)vZ72_$rn`Pm$R-SOf4X`clG&T=H-ObSF#p4*KF2Ru7iC^@PH7QmxaKHtGo(#SNE|7;oeCqyG -z5z>&#Q9Uh%U@#L4c!YuLrWLH=^#kC-Nqs7Fdn=Ic!)hg-3tK_Gf3Id!o$h%?<9!2_ -z+&Mw$?{itB2M;6}>+KFTPO)-q4F{qH;PDmroy0?mE9*NIkPPq%F~2&*{+EKF&p8rj -zS1Jcf1~K8fW9LGFaj?TV1WxWo^OyKNipwgH*r(E|<2($zztXI3#5NKYX*o1~@}?pm -z3_Y4CSi6PwPWJaIe=f>|?jqOku=tAqwDatiBU*2$DuFNu71a9yH`v6L=2Hfy5PK0~ -zQRRXJqfSGT!XCs*lCNpv!&h8yKUGSm-Dfb?m+O(P9F)7Trk_FqO%w4%%mr6?))ILU -zqamWm{BL7Ku3chGi-oyUUVks3b$)+972n5g1>DLi_a`#Ae@;W)&=EUuDh~h%31@T& -z6@@Pdw84+tj35FkOns~lnizdvp?Req^dSF0n?aokKhTX+&4`iiHAbxjV_y(Z@u1gp -z%I^h7L**^YC?OIOLl68IKS4YGJLTYtgHjUmYUK -zHEZYIA%gZIkcj(}bo9HF(Y+9MFbG*=px%0|1s5jE`$L#5nUdFK3KJ{8A8 -z+x3koE8i~W!|DE_Y%sl5U3n4p|2V_TYUS0TaGi#=JC(f2tTknBcd6qtrF#&dW-pi8n;AJSVy=GA}>;vSGX)I^>U+GX;UZT=dhz5eV7#oS`nkk>Nt|#W-yPI -zm!l>RN50?L*EwxeR_aeTs@oML+ukH$Ay_Y#pmiyZXtG_Qf63h=>ER+SJ=zhe>H1t^r{5bbh$r`wOflj_ -zx&QXdk<`}_b(hxTM-wB?mX&FyqC!XYNctPQi^VQ3G>su-ec>TuGu{1>eM`#3Qcd_s -ztA!qpwbjH7!>-ZY=%M~-!aIxh*#CERgXzi)MX)9*+K!Fe{8UEYZ}0bbi?2v*e=t2( -zt~*t{OEKb1TG5Lex&>~}A&G6czDyWZrNt5jNj6gUa>1V7hi9}Of`rl4Nd+Z3%3q5f -zd6mX`wTTI@>HPWkM`}N9ls8&tbl-_m(5`HZh{W2pJ9upV!5l8t)os@k%I#y?a2r1& -zG*b_|ywN}GKQ#gM=%YDt%zemJe{;E&iibYZ)_tTs@%GHBV#ht~5m=eDz3>knS*4C* -zgvc1Ted669fpi}luBbyNqMf?&V7gi@*XmE5fB86e`#Aa#P)>-LMvYiI56e@$((ya9ot -zRjY71FaF+inv_seI})s}a$=Q#EHPR?IGLyaSTbw1^3x_KwEB-FRQ;!9r`akuTAa}O -z-<=S@s(# -zG&daYw8BD@h-K6O9Osfke{8}Y3HlT3OY)`+R$2=*DzS?(G$(dLp<1{F08?%snr7w3 -zRnr1?27ktYnCwm&?{l=bSKjGpHyPk?CFr)rPXNUUCMx_O8G};9JQ_OBsMwFh=_mV= -zeD8LBnix9bU0pp0CGU#|$~UE1)FjrBs=(_eC>Ntq8*l#53ah8ze|Gq`H{w6E;l(SH -z(4q6M(g{+P2#9+DINX`+Q^PV!Z|AOGKi2m9RMB{H#k^V&S+x~3OLu8w&}B@ -z+h{4J)x*Mz1~O#rrfB!1DU<<~`mh>MOAJUVIt&Gw>W`3;YSqPXC*BC5E@8;?6-jv&R-#Pwi7Jofa$HF8>rGSi*#!fCjS>OL5DaGp!O -z4MBFzfAz$N?b+D~fw$B@_0Z=hHJa=v%F32%j(45Zu=@1-wuEAfxb~b`AENcChL{EV -zKy`FRHO#2UMIgQej9C@02rPZW*rzNhY!FU#vaP_#+B%XsppZk%a~i9rMwN&<e0m*9SZytg;|F;n;(!-;B4IHAnv&2bl{7!- -zAnh&CVgZ*2rms{Lhb&;Joq%hw#}3*4ons6RKB$(bFgRdXS!csb6GwXMt20X4hN1dC -zf6$`w$&T|StO&5+FIkQc&PQR{%wGmVysyhE(OB@$8Dz8LQBh6;evixgXLM*2S9TPd@6KNe}%1Mp=&!BW~<^?#yXz6zYD8T{3w2e_aQ9KY!!MOq>V -zp5Cz{o|N!tszOgqXlpm5E)$UKH$Z&+lElEKyaF{?Xge*MGd}1BAAq`;{GQzjK2(Pt -zot29_ut4EvYy~u-V?x>)2Q+HdfA|5W(HO$Vot-!Hs`%N?beF1sy31qX -ziyf)9FXi_hrOSZ?%@u6GeDA(-Gml)fGy9PGsYI%F=Bj`T7VhT%Z+{0Qsr6ms{?O~kx&}BuNh7;Df@^#xU -z83_Z9o#|j?jIlQ4Z2?rqc*Li8=wj3GfRFmoiNs3owEVKeX${D%es<>o%L$G;dBxe$ -zhumt`xE3MoX^j%mcw$=Ge=$DvgrK}?QPmS5J^uuPA-+dHW-U0UKy^)n24xJc4p;W4 -z!?(^S9p_9ZVV=l7ZM^ZL>&=7`A6HwJC_+; -z!2=omj&1)LEmmhVl37kN1pJpAs*=RU0b>$@Wn4W|5^yz*F=i$yJgr*oP+|#>|p{~r}SZcR8BU`_S6Ep4;_R|zPZVVgQ -zQDK1b6yaPm9FQyY&MUOOv7w(aajqKNW-y9A{ewZvlD*2qM$BN%HZ01Yn99hm>tcj` -z-xK!@pW}fDG)JPB^~H=(%l?-b6*qw5rzS)Z#5+whqZo5URDORo -z82V^;-Z(i+2*4Z -zm|FCv2}bL>DF`))9F@ot^6dJv=$i@1}3nJ+ws)$YCfh#+5wKPhE}i^1Bb -zt>78{+4RROlYh~nPB`{3X7T$_dvAZ3ewam91v24HKWJNCJ|{gXcp9{)bST6?L{N*@ -zw_;#I^P!I4eZL -zA8-zo>w2u0od~%fytj?V(ZwRy6Vw^iW14f)ygoy;e^N&ATWlFQnsQTOq@dU1*Q|LL -z1TFwTK)=67w%Vr@h6-}s1ZhU4>57`b7;6eioccXffWGS}w~+5B|GVwT|1N?)mzmfr -zA9}X;l1^*}SyCWc{d)=X%MFXtROK?(aOVZC1-Mg%roJMGbrPj44;dE)Tc_s!tD4Tv -z2ukf9zgCdwvwyfQ)s=~BilU}e{d$PTAMz3Mt-`ZD$5O}X8dWX9cI<3bsxv3;D=1a% -zak{m2P}QcVAB6p`Zc@C1e!&F0Q`Yx7-yG?*e6rGVP?3Ig(!w_a%d5BkFsDH$%XeNyBs4c(3hP?l}#sKT!Exown -zhO~cH1(aUs3;0PYV}+t$*&TCG3F+)bi6gT!r4#HE2sx%7-JQQ?sH}9p8(6c@ZQh~w -zL3t8mWJdYofnu(f@NV$y}n5O3%FH(XSzp1mWNXwttb4BNvhw9I{}%8 -z+kfGt+wbk5>cGJIX~{AzqffmNx~78g-4Jz7APyyD|9FvMS-Vv|2}><_?~gmMIXo5l -zOOm8Fg2~2|g;EQud|(@KJ%nftwusRw(q%@=9UbfvxEZ95NSMU!S|jI4Wz(poL`0g@ -z%^-W0^(rE+YbMrhT~9q<HWOahV- -z+|0JVdr2W7BJo}prwoE4IRkfP_&ST^7aJ*QDpl{i5vT=Ws1u*~qiQInc&EFQ8j>c{ -z(nNaTP*5GCELo1Nq&nmFs7-$|#lpuPX*m7JK!bLuYpMM8C -zDg-qd4YHuu;V%c&WPJRp!aQh+GZ^82lwU$x&3{fKl+UwkaoCdo6&}VSXJO#$2W)r? -zT}%g?W}Yb`&rbBI2*9jIRU1d}G$E$)CmFyBdQ?$v;tW7pMT`A-~GjeUNakYh*SK-1Mw0EN%ooqZS~$ExM*Id -zX@sZu?xydLExk~F>wne)>XlG@ -zXH2p=R@bsFF@PRrE-;Xg3!FS~WuJGDq)3w(qov-)=B-HCw11_Mtr;UaDT2NYrHfGS -zM^`N_&SFBT+_Aps_pLy4)Gji8U(@tmf702HQn{eTfVJ=ej -z#IUNG*ef6^Pg;&v9D~s+Z+~?;1*u&ln*n&`g{x{W3``FbZIqp>9s5nYvc3^~K87a5 -z7ajJ$=49lT#8F7^p?a+pPi)Fd;?bkh!r@j|F@tiX|Btda-)`eb*2K|mE!+vN615p# -zx?AeDX-n?zx!33V&Y>jAqFWNxB;{r1%;5ov0$CP-LZbjm^qD{AX@BNzelIak@{8|_ -zh|DYyboZ5yiHt9@sP(uoAQu#R3xAbzYFc~eoTc+@$lWR^n27Dkyer=`+J0U;R)LNF4rGDaDdkTW -zi`Q=J8~MUr=zi!(cjZ{uYx38GrL)0bqO7nsE_a@I6|7^afI?Om*_IxMN-2$eSx|sM -zYNv-(M+J#;|IWABkb&={CP=^rZ$^`xTjZu4K4rI!bCShK>VFJ)O@Pg!BO`XR&;m4i>>M@f;xuL3<#}2h3rv+{eN#6E^uT);m7Y7pc=&Y)82fgP_biBuQII)rD -zEe0phx-E|f=lvnRV`P;ynH=Stt>Tw#vp?#TnU=saP=DcTlW(z!dLHK>@aRMaJWX%b -z?o4J-%(#gj(%ozg^Uae^ag^2I!gTYbC{8+AxaOo=j+K7_xlTvTcUg`QH2R2cA#0AJ -z)7&h%INJ=%x;b*sPnw*nlnk?u*pEpiXIIrXEjY@I1C>aTA4Sb2xW$e -z0R>134mhANAsZE_-%J~MP{_>U$(@s)EWVy#qvY9b8oZ|Jd2AZ;Yp-JV^%}!~PlDN6 -z-4gfvJQeRfz|dzWm>+rSsk#1sDvOapalRECWPf0&(=1q@jfUE!2<&G(m52tMkt3TC -zNcVz@$Xei}gOwJaFhj6oHglDU6=$Uqu<7IAac$-}8iL-|^m`canyTIF{C(Ep$UPn7 -zw9ka(!zBGkE0<|5fEP&0IF{*JYcbGVB0_=_0lzovl)}h$PpOjMj>Q<#H;T9#Ve%`X -zR)6c3kS$OvS8v9Sq+fO2L3RK7eby-`-C8wVw#qb>)Y19YBowCv?FPF!c+c{o+FGm1 -zO{rfI3@PhrPs$6W9Zcx8yT*x9Y86axzo&ivWo+}Bapw{?_rUrMMt-iPRUF8tS!dX+ -z-M@$(6f!~cbPX#l8rx@CPn%oJ>Dz&o3V&>+u7Xz9>f^P9ep40MhMK=^uuJDFH=oS3 -zhuoUT)Q4R|{J$o|7yNyZ$sl%$Nfx@J|G!X*(wLXUZGK97Ph9GCbs9L~-JDv~iwEWF_k{y_vy`*&>mBnBX`nkv_fI -zM~F6>{N8_n_Ujq!WH-JoW?#e2iSWKcKOhsMIm -z;j?4HXnL)>x2x7;D%@$l -zspFu$?5S{yv+jtB`onT!HhRPeH=ZJggf|a_1Ar?YFLNJ7dfNWx}O~_?-S)r=C{oyC&E5NOI_R?QztYr3)XL78B?P -zs`8Ejc-l$@dn?^<3xCQw(BYrM-_Sp1NrjV(NQ4|S0E0wI(%6@4YNt0W&@eR>u2=)2 -zdXe13o3-UNz`Jb>3HZIQ2B4qez!$682k6}uMoIKbLtzK-Sp$DJ!T7Af%Kne7-uZw3 -z&#%9x#Ca1@Qy=I%?Y4Cp^t*(xd$j3}N=6R3UBScyFBG#KD1S&pEYxoQ9QuA()L1p} -zO=O?7pudT>1Zfs*w=E^p%7gD8-9`1!-}K@d9zCajPAP6z57ULz;TGXVS-W#kU%({E -zok%_CHMrbw`S?PdV!Z!gpc0j{+6VCQD5IIlBWcH_affic??X}pvJp(BpYkWTV3CdS -z=YER#S>tFlY=69KmJO6ja&6hu8etTepmupxiH&Oy1*s -z*lqUZ!zdMEI;zNu`$?55&}hbT>AC!^lp4!vuk^$;C>IhE^VzD?qcRc0dM-OnmYyEz -ztQAWBk--`*a^mA}d6wj`CD@Aup35O;9YGVdyPHsN;@xjlvP7$FFR(FG9wFcB6Ne%G -zfe#_u>wgxqT*$_XmE3K~5Ie7Y#$&+>6l_@nt{ToLC9BGAilw7TG!`7mhX*<_Dh;)w -z7e#?H5C!Phz`nG7O{}+NP3G?}1==4Sg_(M%6&S(9+g)_sbw<&pKOvcjAc%L#=|aNB -zSoZsb4lanmDcvKS%EFhc`PkL!5qsSnU@3klB7c5)ski*G+wp!|<>H|_s0OC(Y?4RH -z)jL!e*)S~ei3mP6bhjt7bgyP#?OUAeLI&)^gW*vQVXH&FlkNyRrZbzVkwZp -zY2adjekcZSRN42wc?qMGWd}JywPdGMHIy;^ -zxpmLR1JyE`z8RkPGcW$@j`UP+mp8@$vwt=H{NbZ;ol2E0-5>S6S`tUb{#Irib`ZT} -z{_YaSGb*AKoilB!c1tLu6xF7^M+aw6jq^OJ&qs&)0n)DgCU5y=aRp-^Xg|x|K5izY -zs<2p-H0g>nEoR<5Bk?(owMkOF2;yxTGB_VpT(4V$mEn?l_n}CmBO9ZvktAn2lYb}F -zgXU4%si}8hHxEtLh6z2!-p4w?k=(m=xF)wz(}uN!;^d^`BZ*anNq|;T%I#qM#4>sAj;IqrMc?!W`h{Db&qa&Y;_bE4*Wkif7b(jLa;~yQ|K7lSj7csuz3DrS(DpSk -zElU>*-$Qq2tKV0i-Za#@x3s>lPVj6$d3-TP2L78O= -zlv;`E*+@$jPT_kfM39-HkZSWSQpZp8E(VONt>e7^RjuAKRi1{FQ`JTsK@1z##?=Z+Ru{0kbg0fO=OE2^ZZ3!OzW@oq}qH)9t<+6WF={FWpabMLMp_N -ze5GIh93ddb0yfY8101%^^GB9+I^bR-`J?^* -zgu2Hu%sCSOpf=D9!b4}hRugW7Ee)#*c!uD~w_1R`HOU+JhCYhkA*Mszs -z%6|*W3G!&8gLCrvYV_4PCFv$&h#umU?V>WRGDm~%mSNb+eV-Q{`pdx8(9qYz26yT% -zuTR~FDgBkb;*6$vVl%60`nyEUg20&5w#iH`r-x!`jQkzfGjAyTD^VC`TZxO~saAfh -zT2m{nTw@7PGJj`Yoa(K-ZMT0}$cnMR<4?2&@K;?EEGn_7KQbF$ZE-xj&Y#`3ls^c8 -zEeSc1Jd#fQIiZ_QlzblrVd48SKb9_Hv^s8n?CuIsHZq>UnLS-c+%;rx)Z6Wai8#!- -zH;ugy+2Z%m{BcRZl5^;1LRL8aP`3S1uM;dimks0^2!E}7rzeAjU{E^Qg0t{om#p^$ -z&L+Y@%~BoZF=kLCpeBxrVrLWTVwG% -zRsy5ddd3jIV<1;180+r@uxDpoaY0$uHX_$*JlyTp1y&h&@iO@GshoW+1eUr*xml%U -z@OGag;eX{+^ck&y)}3M2^ZwK^JiOvs#9?`F&l!V*9&4zOs#MLaQ$9+#@l>akdVacH -z$?`t&p^ih`z*I@?MwL$0Jr|v2xYV4sp&nv27$b7}H$28#rz-z1w>dcYi$Vk)36~WSIJPd!6(6DwGuE$1e+7 -z%bn@M#dteC>LSF>-~(VRk07pbp`1|ZE`O=gFu!;>34AmO{EGcpL8y0hG1`S^ySOBL -z@VhA|nzDF%S`BRYxAT@H8=UPCc40a>o?zXt7ve-^=v1TZ@n-3?*8N= -z(*ceZ>ch$GSWzo6Lx{_gzGwjByqIvc(SKCpS1pfoE1yaS!%BDB7-OPWnHz#lXX#4r -z^&p40omb7XT+Kd1ldxyc$NaF+{34LHVD7^Fs!4%e<+RJSyux>SEz2w#rCK8GlOKmn -zGQ)Sq56*OW3eE4e1$<2=fg1@=L-Ux~*Zs)&C+`_X0CS>wVY*cO;)=jjU8)UlA%EfW -zOe3YcNyEI@X2ZMeXRh#WD)|ZHwV&z+jN+q}gbaR2=OS42liRCFMQAf&L_0Wbz6-NW -zcqkjJeu+>ebXj-={}^YwDKH!d&$23jsm327c1nBtmd`}GUI`vI?*EgFabXkc(!Ozc -z>9musrl3casr|`OY*K8by>vr0(|?Lb2RCB+hh~|)Ul^UCipbBz>h3g;_2hY7sdIPM -zp25**rc2sH|7ym_XR^G#Wod|F$1l5KJeSiMS=Jt0!uX$G{;%*-WeO-JRU8pnHb3R$)3+Jm~0U9S#rc -zt-^*YR~*-ePPYmjPk+K4paw1@QIVCZwdp4_P;KDEgGNO4npOeVL{c;SRe{xv65PRF -zX<>o5*eXWw&f4tDVjU5GrhlMCNR5_jNF89;XmMcN3+aLb*0yg{Y4`N`-!5ZdZ(ID5 -zx$BChgfNlnObe=lDto$u;4D%L^4EO+Ao(<>jaV5^9HloUxJ&7!wgrv3j4ws2z*@tI -z{J0E;jyJ`?6m{l-xi?fuON8_X_zl-mFy3y;L(6Efk$Nr-wqGQ3mw#LLs(<_n>6xSw -zWLR8ljh&XOEMW>TgT~!J3Y9)CZn)kmhbHSCK6)plX`{`wM&0hYSM;chrae-hz*(c< -zag!bDOpjODrGDEw7w&n&Jx{noC5E4Ct%<>_mQq+n -z@4t}|FN>-HSF%;zmL_Q2Pz;>46&#uP&EJ&REAORL1?y;lE~+1?b)f%9MkTr6CC%{ -zx#S+lqY3Rr6wUn_VV&7GheVo -zu<$h+{>x`A&1u*P`aGC7!dz=RkF)LVtXER68@>y6N|+c^n~>&+E6(%}LWLd$AJYRS -z^yE=0T9diwoSR0Qt*Z7`N>mn|6QUSLfZjwn1zRrYYwf|08A=R*O8Nf$ovxoB)ik6B&S$mikTLyzd&+wJjNR%sBscL$B%oIQ`9rC9 -zaH2w^Ui2JJR_B=XquRBsJTBOiu}ps>dp>@*C8!4+$#US-BMr)=j1Vlp&CaC0WSKic -z!+*NU)v4SPKbvPdmd=xk5nn50@Q_ZF1L_J+S%!3PEuTZZwBjbYnc85@@IiKl$Gn%T -zHIU?w73wFsUsT=<$rsHdSq!ZPdUpWjB(+SL%DizbckabQQu-gl~-5x?g?tkn`?HUlRT4n-N>Z3J%P@H5#Yyxi@W+h6l -zyjA5SMxdxg;}w0}_;w)8bSAYJoi(OLDmS9#De1dQo@xx}B~F-&4*Bue+8CfUj>&B4eHerWHj!&1=#_ysuP93ok#Tpt_jz*jxB?nsO;KoM&XTDdlbC_ho?r -z-dt$$sjSOJ?N1>|_c=5R;0T}#_GYJ%MH@hAczqc?^ae<54OtBJB7BuWrtnGShX%f^ -zS|L;!r^Lq;>d<#`hj|Nc%?MS#{eP>FAmoXlpC}cpbjL9-elJ(~B$HPJNH|^R7 -z?N7hNpNIJK2!Fo9pFh{?ZQf&te)g$vvh2tc(-p(vY}-bXD{Xm3Z2^B1Z>-naYLZvi -z-$t`B81))?uTlHdkYNFDppC5;uU|Dv6GS!oKH9CtTmw!M%!raWT-wF8S%1a$(2{F& -z2~nbus;Dfm%9^N-G4GUl;}BA&5h*eQoX+a6Di+Tu!L9vNy9ql#Y%ViLebD`r0867J|4B@3ouDH -zeJlzTTc66uX9~+GOjN3stC%}uTda@=g0srgK{Ax1BdzwK&wl{fY3KlQ>(2SEN5IYy)W?Dks;udE7jxT^8pRE|bT>k_;8$C( -z|L_t-m+qT7x -z&?2c59x!e>iRS62+Gciq+j->#CLi(LSvPcM0>Tl#7J^mt0^@Y4@-9Tel7SiL`DN`- -z%Kg_`{HGT(Pk(9(>z-?@z2BRR$6)o&pLA1x^Otr`@ruU)^%Qzdi{=#B8$qy2#FkNN -z;RAm^TK&LP)XAc~ge3eu%TzUOEw#m9CNX_B-u9w@IlV15wA#?uDx})v9NQrL%Jkb0 -z3e9^R;BGIg{m~Nt$_KgsYkAWVL0dtZv%Wl5B -z0d|<2)b&@!`Dbra8Ik_-U%f~NDfZ0q?TyY-p@*=Q(50E%&X+g05+D|L7=f0Ryx1SA -zSfvUYzrxqI-OwCr-a0v~htEuDRB>?KciL*>XKD%(qf+BkXmMMHWk(kmQ%4F)i7~FTzPF -z?PeiUZ9hw|dn#-M79H`O;?*`LL39WCfk+#Q#|Onh(SM#%=W&J{Z32I5nl_IqQP4t| -z!pA8lu~VJ*6kN#m@oq|{+i%S+Z3ZPB)7Fwz-23QZUkGVq@Kq~s@LtC|1C|27Rt5;y -z24b--!@^eZB3H`TB7ik~SpBjCg->#|%~9l*{FJ9JPz82ywVz9~rcr)9@=V`5xW6~0{9~_? -zLRV0ePIF1R9^kTq&$cmoTL7u`cDksE`_}8kAqQy}Em}fJlPg*(1fr*8se%xM^s|TZ -z-^VGd2jf+Z5QW2 -z1XYHab}&;#!8~oMAiVI9zTJ=U9*EaGJU(R9FzK|Q&zggrBhF#zp+NPjciIQ8f++Rk -zG6ZBsp24;((GYhAm8K&H(C?aOP4496Wd<+I?Z*My6|#}DW{LYB@9gh>{%`;Gmw*5K -z;l~f8pE&$x|MP#X{Uz(IYFTRrQMbKu+ -ztxhKq?k$jKD(rtbu^Xtb<`AlNiXhZCR_&z4)exx7z^{LB?3S&1$5+j>qb95#YQHBP -zB!b(QiW#f*?Dv(Ko#u6S$pBc?p4x>T^G -z*j-jbuyuNgJ=7DCm2niZ)7ugBE!81hXEIECyrSJ~`E8cRK-?u}LC{B2V2JVgH>s-KS>lCP$DpuNWVMu=)WP1LB>XY;#*MisD)J-PD2&oVS -zLcwJbe^uj9U88KY%`E?WAKOCLnFi~*e6B~D)J5fNNH*^4?b0}gk&DP&QrDD$k#bJgv*b^GVdOionrXS -zm+ybStSvZ*dwuh;R1dHCnr%t;gGd^DK&?a8s^Fr)t9^5V85rbJK)JFx1^3Oeg3 -zq~muI0t>k68Og_iYoUDf*l_agUdyUAJW(yiUX8j(kWo6i4@0+M%mopWdlak9pXkz1 -z2gKS3Cz5kr{@nj~P;4?{-KH!v&WeGI-@ku%+)OH!eWtM;HV5i_4by?-+j{kMZ+GYE -z;nVGd?I#D@Pir>-e!sQzV(amX?Zel5yHB?F_jmX9Ys+99l|@Ge&2I-y=s}~(hfpGw -zt!1I{7S_iRbFRN&I6PEfX|ZgyET&t!c9-3mVHX0?)*6>_g4Xwg%W~i>WppAdr?!7P -z9KJQ4^+kS`?PVw6-5KY-Qrk&Yk=hvNVq<>5Ly~E-bR!p%uykKfDV*Ee)@>ujX(JWf -zpDzTKcG86AQg%Mj>X<5!FQrG};3)!9dJp%p6wvTKYXRCn?;aJhRN|-`@2@5j6;eIp -zqIcahJW6g;7Yn6*;*?+3?gp&l#-xAO)+jZrfsMf-gr0JgVK)*2VMVOfM1V@C6rokJ -zLiD?l0J=`ZXD@O3u%58Y8NGUM2W~z>7Ghcz2qLXP5+WTo7Hb!=XWkuJtuS}%W7IX# -zQcQadut{|~kI&=xiIMRZlr*)dQY#UQX^q`&8j1HDrDxBm(W002YacpaUG{%p%rM0a -zSb(g1>L?q+GNwhxD5bt@z+DEYBTA>=a~Sng#9lE~a_2WgP)N-qiFw(lubJl43+q11lsb>m|Z{IY-f-lfh}Jnsek -zR)WL!O6I`csMF-L?k2p0)UHUQnXHVlsSI-4K%DVjDBP!DzEjtKPl8kH5Gj2}orv>= -z-{<@RY-UyVROF-v*P^$d6nC3|oRupu(!t$snuZ=;*{0JT&g?<;>;m-E6OgdGKh#oLDSF9!Xa -zF%}Ny7Bwwf9q!IE_SzKCK62y4+|rM)5oZEpXho8=jv0E+rIK4c)pdU56lVPbs%J0r -z0oS;9PNHK#=tb-0Sx0fFP)KjW-nKTJ5p7O<7kI~6-xWt`yU`E7;#~8sLVw;%4u;rP -z9La*${w9Bf&OTtO*kG&6cL=YfZx{-H0INGE+>FIbxEvUXF2+R+Dgfbzh%UF95c_ZQ -z{*$B#aLvGJQLnIYBufdAY<-_3A>>FW(c;)gxY=0pR9F&eW|6hh(Mm#}HMPp?^@kZnmfquUCK5thFAJel^Qi#4y2&Mu+kFE&D8EoW2*<+e75PEkGXJjNF(&zQ__R+wJN)4Hi#g+KSde;3g?Tn0VRcAk6cvWT`s^|$o8#&PW~qI29No)0 -z8cl!nX2P}4ZtJA=iyUZ$X;-V_)Qh(&t1!?t^$pWFeEQ5ZP=dFidlxuruvKZXQ3YnT -zLWa<(6%@5RnL~Gr#@VQF7-%5q)+!699d2sih)L-58@o2ono$*J>tzb3y`UapTZAr0 -zgccJRo9|x4Fh96Fa%GIo@3cAw>PH$!bu54VcoK>yM0@V^O0`x(!0oiO=11dC -za9XwlT2%9s9(%HBB-6y**_S4Vc%>C^HS&V=a})Hu`_vtzy0+Gf(&wOJC03F#%J^fmT#c0a~e45VodU -zDdG{yY+Trw#M1-C8xvUEgxtG?vD4e7#l=#}*EU;$VoMDWhIF=~EbCLvmZ}4;nFUv4 -zWST3!n7;qOJ~*k09CszbJ13CgoObP@i6g%hU{6?zfE^yEd2r{4>8+#isvdtqTd3Vm -z5C$qryq0qRav76R2p&*`dRZ1e^4Bt`Q#NL>MZ+fvap}f>In9);$)3_DU`wN&DGgVB -zA^8&rz^AgWJGD0Dj`~dJRTo6_#==A;HMCM8t*>cymw9N2`WEhUE)aTf@sv*C_{BE@ -zDVs4jn^NC#Hv&tK)7-bPel>qG+^%aOAbJwRr@ON`mJPn)OfaEs(F4NSW76<&b~>|m -zfuY7?gw2$#$r_4KF*w&zku7|J$GN45yVJQ_2{i6^ZYA=f>$%$zyy#wTHDN{%b4hV3 -zPUhAkp8A>Fh;WPNQrL`WU$gtWLvJ@wH56U19@8H4C?e3?Sc;@HpFw|qT!qY8MgqAv -z!`TS=S1fIY)B@;{)^bb-=}$dku8t8A-{mYuNLw)r-U|yr-gwN_gkod9C5T1m5G=Qs -zWGx|N^YPUDW!_5R#3}xpLC%HyB%XPzNw_=hzxCkSubyBs%=EJ=5*Du}1faHWLaP^G -z((0>04^XV^3MC@s+X;UhMFYtpr!##|Zmh+W<&upQP`{D&1hp8JK;Q#{pWTBJA?-U0 -zjBML4UmyI$d&WQvZjm`>Xgr$PzTkg>OaNE=sm9`T+2TdhJBl -ztIPUJ#i+EAZ}YrMN{o%4-nT_vws}o^Ue=PE9vjmQk?rP{gG9FCF)S+UDUX)PQzsr* -zdDc@nSX*$yY?k~C@O1|sH1t`=!+ml--K@C!iFdQ^P{CMw5sY&Lv1KO~?U(Uw#BO}}jkVLTb -zLqB_#(btw8prB3ZW?Zd*WLZ -zg-N#O9nzt7+Q}bdQb(d^7p+4KjV)_kkqZjpT2|BWUQP(VP-|dd(xGRUDR!?pvuf6I -zGr;3&-r;U(Je8fE>YLqgrn~v~`>l}i-nT6;n?Kv?F$MFUDFPAX(5M;5Fy`a?QMK`| -zrY_UdUa5buO;x+@U^vLr`xQ;Al8R0=bxG$_Sa*-M%~7@Zg$QV{0n)9wD|uE`p57o- -z(S-JIcPFq?o#>!mNv_GAV{9IM(Q&=!jR~OD!Md~5a5ZQKE*Wm?F&BaZVkC>3MqJb> -zoHCBrPNM&-54)%WyySS)^bJ|Zlzl_isKUGGkgtEX*uzx0l(m!Sm!2^6%W=@72xoGu -z2@wT$%L(cOQi_GhF(;RVl&M!3KE6lQrzxen)@x)bx7#sqIPS%kw~%fY1^kPKc*oPm -z8r3ILk?6Nk9a70YB;)Y$f;Tolw!t@zPNv^>ilb)7dM{UkbBdnn*#?H^Z;Ro};oH|q -z`tN^9dM`=uvr|a=@5e=VD{pmD`Z?(3D*aN{H+sDt)My$;kJ`bQP8I~uw|_i*y7TSM -z!Qtbd4z~BluqV&A_V#%XU46Hb^q}^qkS^nz;Ig@N(KD;}O)WWqcg-_vs9HkD=;M!c -zdCCuoL=Lm*~bfUJ{g@l(e;|-=owG -zd9QD~Gs9%S)fdQ`efBGxG3G-uG_B{^dsi0Vn+Wsq06Bo%tROI~_g&o`#L_eZMt$D+CN0}|3gW-ZC}IfjwcP2M0m9*DS$?p7+O?MZG|L3sg8-X4Gc -zyTa7@?`8$-oa;#?qo9&g>arFIudrF8*}ZQW0Y_Z2KcXI8x=4F&zHT^VJU^FRLeJc) -zx+3^h#E{wL@BP#Y>QeMW;EXf{f;o+=h>*I=SzwA0pq$tO08XeJ!YW&urJG2Bd!*AVIbMTaG-y3I;$U{ -zRlvs&67txlsa~aF|KkXEGt(N|2y=8jB;_NJS&xB_cDm(O|E(2lEEJNxy+<1%F*MME -z>D3crTRp)jqV-^eaNka(hk67=(5ICkB}7o&DpY4-=y5zG}Ui -zsWLk!6K~x~8C*1$TR{4Ss!o4|0w`i@;vMXuWk@_u#8?4S>4;Y3nMIUNg;1(x|MZoX -zlEjaH`SQ!xa`kcEZ+5hKF}j{5g68R*0ZF9_#q*$BPT*u9d}Z@zgn7;hwl0+RyZzl)+Ct`y+NIY^wxaKfBffv^ccm>2k$55N -zR&p^@&FJqFUjj**Z@XscAOkgL(h9#G6ek$tqdM`lGF)$1l1D{zK;tQvAm~V`|E}vy -zNlUzIiMWH)11bCNtH!SG;chrOzJ`w4m#_}m4j=4OsP*ho;n;z=aZT_d^>-9e`r=fwg2xoY3BP6 -z8Uw2TXDxRZ->_KB@`1TXt -zpb?&j`wvgE1}(xF_t~6PRZ7&vDW&9V_M~*3bKIur$u+W0ZsaS3k0^nUDw`Csz%qs@yDB -zQMQkjDi#lE6Y#*)&j>|9cHJN~zwq5~h~w%{%f@sqU+_#LS6zA*R62gAqJg>OXgpM1 -zF-W_)IkH?zKwC_w`GQ_F8+&nbV!{_qs%tDI3&#tnPfLHFST-`%rO~`5z(ztp+KN&1 -z=^uh{8K|R;KELSuh*rFlEp@j!_9@}ZmE}OfvM(E{wl;AG2h8LPOC&LbwEQ^qLxozH -zW6#wOg30@A~$>U1Rb+Ye;_0 -zC{0fzSrLB#OE~O96xc#4a5uni=U@}l4TWX24?!m}-T33)dzX?VBfkW_oJ9j69|

TA`L9>VyiRBdFaOCbqg~W+@O -ziCu;vYzsDq>q{<1X7b&OBU-ti^lW(>wlYY#`pcZsX2dqF6#OzRhGbfO1cGo5OPofOXdhbLimj?Dv^A_D;)+|9*Tj -znlo5KOsqJSZk+vruY8gNA+PgRy1Pcj^&Awqt~)Wd+V)K0jGaVW58gB=^R!Q@L9r97v0=)(@K4}&7ps} -z3UOtwqBMatN}6}0`L3j6_ZtopF{^<~{+^Yo>mB-0Ubp67j-@X%`z55n2v2aF! -z?y#Hefp{mXCs^#BWaalK^3*`VeUMx#|Gme|DqYc*&QqM=>v@@c4v_&{C#GHr)4X?y -zTUSCz04{d|yFqqbu^|R;^#&MscKd(9ykv%?`eC1A+FfVWNm0!rQRg?r78N%P!GSXR -zdFd|J(K~hrs!)p&f+4VUP3tg}rFkaA#|~VnI`BTs21jD|EQT-0=wPA!cA_a7*P;I5?JwP2RG{sN}I8)3z^I -zhzR!ti;><7lKNyXFhw%&Iir_#;*tb=S1D;HFS}L}^lxZYXylRkACFM1`?*SqfA*?z?#b@-Om- -zz)?BbrGvqI$QbPYm5iFPLYLuGa+ZJv@6ZAw@TJSH8OCGY5*k?2?vX_FV6)2Pd!#$A -zMFYe5cbC8bZekF3%xmV6eVI$xUm07UF(@(4wA{3IF$H%_t`Yz78(WaMtXk2j(eWwGZJ{@@SV&1yB6I -z^?14-l75yq7Z3;ll~V7Ey7MxMa}vKVhC){{eO>gUe93^QJ5?V8zOftjgAUGOmHtNi -zE=9x3o=SA?79DddiFtnqRB4Wl44$5ES|S@f9ktu3_0%a4s0ooS4wn=BSrHFR -z6ss%+Hx!l$Er}DSZX1?v -zaPRah71SgTRj}0avG}aGQ(Q_hZMC-*;_8L^AXFbQIpvHqeN=y-1J0J(z+W0IQJddD -zb{fZi%;~aatzaV<_@NxSr|oHFb^9tCkYvAUW;^pnV=&3QC?wCFP}dJD2~pWf1Yz%L -zLPT#1D+yYW?>gwy=Ujr7p5r|N^b`+(d)wv=X%VuRJ8qibR;V&^k}w{ -zQ5oW~r`vYzprn6Px92AHFH*b*bIM<9Evyi)8g{#BgoHEU+>#R{>tnx688uMlhz^KN? -zvzN8H&6E82h4~ZO%d#-xnJ0kFH;3Fcl4mAZ4c@r04xl5M)_8uH=L3k -zHvN;hH|iEW+8Imz`+Js)4y6}7E45dLPD>e82FDTR^10toNmV$C{0TBu7|6_yTPR -zVQh=0yp#~8KyYIWs;DGia6z`1fb9K^0GQ14LT`%&C{!f}QJnSDbNv!Dnv_hBjrX&G -zo>gLRGot`CZZypWowj{i2im%B+|Hsgp5el%dV4&_ewdibi_8P))T|JA5)=0<{2 -zjVYsarjrx|96`#X$~7O8!=Tk>zN^=nrmAwJCzzz+n36_$H_W5 -zBTvw9MxJ2tj64A`1ua$~m0u;!o>nWQZ>}~fD0H0Q2ZcR(rNT-iBm`wDX&!~+$f*;5 -zxBOrARK-GTKA_w)2l8pwG4FsRX|QGYGXJPdUD}Rsdk)&+%c5EZsnI!-G2^D+9z7hD -zT==oI4Kp>L!UkJLwP$bkx3%T!Qh7ck!)`-KwNkZ@!4u(1?;Zw`uqLDCWJ2pP{&E%M -zU>h&gJd1%gGpe}&Ku9$oC{D;)i|0OnB9D%^PF#v}HqP^zkkXU~rAQB?#WkOt&iNr(fB(8AM={SjxX_UK=+6tnp{ZsFG> -zsKVH-s6bu8sS39cQ4LER>8NRvfKZJn5vfdjl7eA#A)~&l_XYBpUYhi!`q-96H@`Q>!Em!X -zku$;7;-y?}cayuCjLol`$l*1gM9u|=KjHF!mWg-Th?yo?!5FKm$~}p}o860yi6;W< -zk)O4U2T|3{6t5V{E~T88)OfLfFV)wxKh5zjA0D6j@>4r8q13&Vx<9sLc_hu-l5W$e -z$;9~T#sn~I{3q%1)C2B|zFPrFwwgA--JHbZEVnU<6ZgXxSeWtFCNWCNfMsstcqzYC -z=S3-Cy;Jk+K#i~#=~4zp@wP0wsbn9G$!1S`px$>te`pzI#^|?8;fer%R3UgeoDWpc -zfk+pvHv+Ajm&(4#7~$YcX+6@K3AC<5VNw-*Xo0{6x@wVekac0Wq=c;-moxp>NtR(Iw~*K_W_ -z&EEYOUYD`4RV2qJoM`wQ%+GqPvE-@fk>b_`DEfY@J1-pL&O4&BM#vC6uk&rxU-q0O -zb{>gE! -z&~rrjz2G4Drs5NSyaV%5#o+kVy|il4A=yt)?pMdaczjP(t>#xMq#BCqPzT9W$%CtC -zsL3Z|OI7iDLZsTZ9N|?*7`fRml3}M#?aES5!`T&s}uFGQV`O-sn6j$q*dN -zC0XV@OCF8~BB`69#VR%&%M>*iBKFGdZ6lN%gRN8;rWqT5o}!jGKaK-x%dgHNxR9~X -z5gafExk(DNu5;L|CHngeSr-B%EI1+qP-fm*56W+)$lNLU$hetOe8ZjPjB1yc~W2f8*hIsyyTR2mwvP50d2!p(a~U&_C{t?Ti)?iH4OK@%LSEmpZn;v@Ry^%x|VxW -z9_2Upf>BRvf5ubR -zFquxA{LDKR-JE+6YbFPI(~Q$E8rq{U-)FLP8$8p04Y(68igyWfN6+e9OdVGTw-YoD -zTh=g_6Q=7tFD01GYV`!tDeZ28q#|)!Ca_%jk&5cBlQ4UOaX-t8j-|^#0J;KLGis+* -zIbw5o%=YG{!?d(Wm9&?PgWlCq9RYtb4t!`*x?%v7@cgJ)U){{h;wbZdJ{XRg9q$OM -zV^H*e6`TZoxKSZ>P^T7I-5EhD^*_gv`wto=C8>>GF>D-Vw3o?Ru!TYJu>bs~@zs}` -z4QaEDbd|rEyMmuwFQ0ZOiS2KE+T5$cFL)}uCv(9`Px_Re?p)x1L)ly-7^3U^pi}W&NXj0bwfh6S=#Lv; -zO)0~U237aGFpCc}QdtSf5Pn0ufr3E;Wi~)NIwz);ov2OT4lFxL&68%Z5SXeS6(62t -zx>E%^?lME2Na+1x#%0d={h$xNr7)tX*h)9SmUj8aa)c_2Si^$5R+oIOGA)~KDk|82 -ziJRTUQB_}9aLg7B>rRg;Fx(l#s~QZ`&K=aQNb*O@H-G%gm;av5pH(q2zUzaUhh4veQ?r;X_L9&xOzgBsH-O&d*}J{ -z1YVXP%wJFvyLUUpB5m$?k@h}*{lwgOXckog)+{>h9Xe&|$ND6O1Z+`34J5XIx+A!d -zNZgrTIr$~;*ZzRNjS%YgovbFM9W}D|r%h=iuo1MrKaY%`HCh?XY-+zbt^M}&QEmD3 -z(P1CvZHGZ0r}oilvok4HS27^nJmnf8cqEQSws$V$a9WvD?$dK2Wr?X&ym(cCXU!oj -z`W;^HmR2*(*pzUgZ@=bUU&V@RnV^JdY_Yu8V0@oBX)XngYxjZkZK -z17a=MZ9TTtl#yj^8maP>!6r}5Gt1Wvy=CgTW%e|2+w#F_lV7&H#Cbb^I4$>ZRtMEP -z-)$e9W_HM?h`y8xmT)ukYLB*^1XG(QM|Mu;)l$e1ruPO2ZT^olME&%og%rPZFM4hby-(~&WP^R0=-ij6w^9SU&v{DY!3g!Ol>MN9Qy4s* -z3Ph!?Ca(#AdXrXDhKA^Wc4T-XYlkJiY5CHc1rtwBN4>XNKND?(cm+*-<}5+gzS;t) -zBAS&vr}1=+0{Xq2o?i(S^Io6DY=9-u7LhS!x3D$OE0vRoeJQRhnis`` -zGpl<{bH_BX8KLQ#%-R|W>S&_m6rX{z5WKgRFgPTaK2}-}UI@unXn!;Hg`_0m7FsW&c6Lwnl$7Gu|zmdM`^;7%otEcXYDe;{z -z-%?RsK-@~H%>k7o>0R&s19^Gn?df~*zVtJ6s@|KVQpa37&74NRPEs9u8m_--B$hda -z=;Ij8iPRg6|5s15PN$I19VE#goWe)MDYcROn8i-ouACx&$j~+XmGO27zto%wri1ea -z*`dlDN#F0)LAfao+wu({`$bz_%0L=v>vUddExyzXxi@rO$QzFQaGLdA6&9`t3jU`u -za-ex(yNdFjph;C+SFN2+^jo!Yda2W@Tc?+Mtm4fxsKRHDb2PBL2a__+zEh{}w(9z+ -z)Gd})0@*<|0aBC!OMR*n&uRRYbWw8kw1Cm<%xO@JlLsa4t=?D29IJ>i6}p2$-X1z9 -zbNCx(*{M_aN|!$35*UBqReDPx<>p(wvW#7CEmD~h)_$i+upcSz%YF4_iN9Yw-25`6 -z9!mR0?BXQsN1cETtL&*)fqbpka4cYoFEWFaX(8LD=-WPH!>Gy|y)$RYH+mu#4_#%Iobym6gGyKYY;y2Tr -zn{wr5H~S**mY*Lt+n`ycy0MdH=tV_aFa- -zyo3KjUM=r~f139nn}7W?vtBzLHQ!~qG>LZy<+qH`)K?)2fc?~e;cxQVa(;Z+luq~V -z5L#u2kN({1*RFr$^p%#o_p`dEUN-xiZ{d_@IYrLQXF?wQq0Jz9s4>8Qo3|u;E0g`9 -z$HP-+@xZ -zi6GYxaAR3!${)6jDM>&Z@L@TfP+;Oz9w -zP=VTAi@Cdz+Um6sGX72gOwXsHEWQ-DZ%PwVZd`!EI_PRnA@mG?Fa>;xLTaG*X(s5$ -zaxPC@+0B!pFBvpky+FRv9ZRIH@j|lp>927^ffj!~mjg2f$j-`&vD?<~anmUkw(SmJ -z&|V(rd2PWsuCsT~XfC2W*AJ)A9^s<;_rK1+P!=o(?poR$TaDlHcfZOGcU-k>k|nu# -z)=?_08DXajIUEG4YX6EfkKtdj5V4()5`_lx4g`<5LEwyLs0tjz -zEZE-7fMpBbd8UKUty>^>2ONuC)X1||EOvjulbals`d;CFEMvu1YypUtm>Viys@tv) -zL(&ERvbSrrZ3&Gk5>6&j~`;gW4pOmmZM8y>Xy3eFqqr%OPj;sAC*e<|L?xwg^JGvwD;H@Y`0o}SAp -zH$Ud?4>b>b4^xZIdU!5oW!@Q4LG%~Wp_ej8kcO)Oubq2Fd)OlFT`qzu(b`gXnaf7< -z(9HC#r*b#DoYmAYw_Y8HV7#%Of{A~5S(-U0Fs9&McAVun5?f9{S7?(G*jebcTwiNV -ze-AV0tSXuYij?Pgk=3%T1#l5 -zKxYv1G>XKX$La)db0Ye6ZOebrz8j)7hSEHFEvx -zvRjn2Gio#kCylP%t=Vg26h<$Fi%ja(z$+5s5q%Ul&lpUXO);%;0_q8%lCC6+s!-jG -zfSuuChNf?YgySc1Np5%jt~TZAjb)4Tu0)%6pz3I~!or{`vs;k1tVMs8IapSe_XIY_ -zDk~9+!}CG}Y5J5r31!`qKA~!jW%???=0vMxd7LB52N^Zainm$;^80D0**$7CKYiqh -zhqaF`<9OmrOdiN0Yi2czQZ*x8buB0_hA*korDu5V#|cYH2iMb(Bp5_z{F*k=w^Xs7 -zax5#H9-MfwQY&lnP=n@uxw}07}kyd_RzzmCOVvp -zIL?1TMbCfISIc;^;AahZu!aw>H7uo;d(s`t;4lA8uFC6qITq>qP46uuR9zPi_NOdD -zXXpn`@-Fh(28HaWH$w8;cp9ssvpQHs@4Q=#N)4L~gpJN)WbsbJ7a3fC>CS}Yo~DO1 -zqLhym(g%gf7V*xq<}~qW@bYhHj>qFbU1{ur!f}#7?g~*pUitXRcj{+j=P6$Hu}m{) -zZKWR|GkA@xh)ZbE9iKmu(si=nSAv(&(TCK}lf5TjJ)#^PPhscLGa4gWD&GQSg3cvR -zvpD<|a{=NhM_yhM)f`WM2xq&~M#wD}k(4#Jo1!Xj)O)L6jdPVGZ(DMxUd`I={1^u$ -z`EaOp6v9%Y9a%`}I|!8pMdV|u;f_V|#YGk!x>fr)Hx1GjivroXo@dz0mg)@@7OAvCby%lDAU -zSwom5x(Gn+6hK~1*2UQy?5Ik!t^XX-BjgIVUyf-RqDpTvAya-e>=+K>Lu7J0k=L@`#A@O7P8>Ak8-$oNYGo9E0r=B_3+7e|(!CDlA$I^~ -znJdnz|77Htq -zI(n}u$&qUqweT#LZW-9AzH6Q}WAKjG^rf4ZFaF1W%PkJ}c=n5C-rChVcmY+5<7Qu{ -znAO~l0-vYHY_pE;9lSuJaJ@W=Ikkrw1TQgpR3|WX06Y-~L)bq+?8EH{Q*{Z}@2Tzj`aqt8x)$+8L&6B)*8{$sLB5fS`E@*#TlkKzuGEYoQB%o?PdF?1q2u6ZXcS7`upAf -z{&t-C;6;rVSQ|o#xtdaw8&maajC+yVAwlMHbD0Bg~R4M|w}aZMFP4vOci6 -z4&{xW`n-B)0Gc~Kx#Tru0lg4UbB+jI+4Uf0FX`${nt%)}aWK&X*;^H^D?cl50lfaG -z?=LV5+DGn15YqJE?1cRV+%Qh8lF-_P(u=A++%go#iiI0J*z$FTygrv*(@b*-jn^N4 -z_bR4*PC01wF4yrkBcq6V$wJlqebnq6%P?<|VE%m^kqxzMqR$(uE4lfPVZM3V9JJm^ -zIW~E+vf1o5p6@(;QTy^=xbz>#gS->2kniyKckoE2W=}bF9XKpQHTX=UF(Q{btRnR) -zr5dfw&O5S}?DVBUG`{@0G3s^I2YRD_-^>S%qK$&=@Uo_AMPpDYDNRLH`FJ>ENn3n* -z+6JbpK>Fw=^7Ex;?te+Y^NKyR-$z&#+kl6OI1Mv_&?;b-u(2EZGi`~n5YwSTxG6vx -z)v*sgr;56Q+99&h6%3Z7+QIe6J<;wW!{^oRvd*=n8~DiO%sy+1mV*S1B| -zVL6n&?-5^UbR=7zEy2? -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 -zmuvqLP5}*C&Ec{>B -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 -zFF$Ao6@~Uf%09$RO -zauj6+cN0oNU`PuBydV*LZgUZ#Ky==rH1=rd*GlaVjt|^p!1Zy=47nO1XIRY%YG(6R -z!uE(t*yOn{Yk#j@W5i~1bGwFS($ttp&+y%zMQKEvE0oGB7adfa+06)O4el5ZL2Go+#;`ZFZi0sFe`NP^P*UFRa`bS7+q}{ATxTjt!Z2J -z&+0x^7psxtlr-}X$g4>jub-#@UO=J0>pR?5LsyVs0mG6QqIB1?w9g6@2BTh_hUX2B -z(Tgi%b(Rn%8gqY|q$rh*aHjqu&3eNC6~V2LOs%P>b2aG1CrET9lY`@xyk?6cTMVSPjpcT3)ehaP-`@}UX|l=ymtm?(H$(ckSw -zi`97|bOw%18wgf>j!7M{Gfeks9=@+3l33KN2Un349z5|aJ(Fu_g-JK?CwqVBQ<~Zt4Ct#dC4E9xh`T)30h@J{ -z%h>2BRo)D}V?K{DeDyv;D61Ai`T`wt;#m#JAWmKkkcoFwa)&-NS}MUzGafR~*=hwd -zn_-7cT`9(rsC)g|Nb+8~F9!^-fR?T)h{ntzP~-bDCDRPLhY{pUH5~*wDB5@X+8en= -zCN6&`xX*LF%;3>t|Ewc@z+5^w8IuFBzOgiheV6<;Ul{(Ok -zil#kYr78$1o8_0e!Wcp;Ct`5b3G@!SX>_#A)&Q{iB-O!XLxXPHx&f7~@0DC8J^AeN -zw|cU@NGRDW32CjlgmkhuSs?9<=R7H!v1flkm>VhDh2nXyW$KZ?*xRFU-xVgeK=kRF -zMVY%`;A4@OXDsn0YloDrq8mo4)4_8_SV0RY8h|YWcH7m0s{s$tT!0`!iVSEdu#l%* -zsXr>Q#aAE|OkFojb*9q_tS32RPf))UD@M6M@7potyHIIJti4I>#Kev)y#*n7fZKm5 -zC^Q{pIhJYs+{Z)Z*GK6hDOZfOOb^#`gH)=T6}GN3%z7~dYk-u=Up@J0lD?m$A4?BM -z+L_^93wVqkCorZYJr~zYR5XegI3Mx_&gIUt`U}fJh3*?fW5NYZz8ZAZ=R$2t+^PXl -z7RMa!c2taqx8yxZn=NOC@zBT=5pE|1rw7OO@lXOwDR&D!crXhnh% -zW!P&gCWNLegP7%kZS|252zb6V!jgTrVgP -z%oj*$Ker`gImN(8uBL#pij^`Nhl7AC_V|sReqvvjt2d2r4k`=zTpoQYZ^U%cUza1Q -z>-S0xDE+3P3(X~d{-iz_>+MwZIs?qCK9MqGw1Z?CmU3!-LC^_qfFdxMVEi3V|Hp~)*0?kc0 -z76tbDJdxWlk~_^#Z&Zv**@IunUky4^VO;?@VqQUDG5~|BzKiF84D{HPxfSX6wOsvG -z@t5z;Uwpdh-1cK@k{Ewa;H33Y*M0h3)X}?Qo -z6$@|X6UE{YP8<|`Cq2IchY_(+#f@EFucA7SC%32!s`VkuN`xv)34v*BPH8ibGYfzIRZCQM*|pd;oB2dv7PG$N -zZ1Yh_x}K}wwIZkbX3(NgXvI^>pftpc7#5s1lN_bMZ+|oB3~im8$-fO=cD@VFcM{9I -z;*&YuVo^thCe9@xC#%~xyWXZpOU -z+4^w(Z-2#z@C-NF9o7B8MjKoB>U%SH_vZK|RrJg#~kY -z>-B`FNVsKWXimIB#i5HNRJtYP7Rb1KmCDy(oWre&TuC1T!_EMmolb+>;9AwGuqy;E -zKoJjmu80Y74EQMV8B=q5wV-(}>Rd+3)#+OZ6VJH58r!vi_=h_qIl -z!?)y(^qJ@ekY`Niwr^drgx&kodv)ag81mUYzufDdm2g_rQ&*4*>=z6!BRvu!7h2~Z -zL!dlk38<(`>O}nrf;ASZq_2v(kc42Vb-sV|I@4ojaB?uNg~QC3nDwON?eRVjE{5i3 -z0~gRUy6#Y}gS?Pxb&e0{iZ~R+WjtOt3;WjjZkv11o`+G8wmiqAsVv*KHTpZW?Rijl -z#(OER2iU|+T45(%WCMDC!u$C>WBNO`ksbPIqVb0>8^7kA)rrTFr!3^`veVu?D5`&K -zu#B|}cqOAHoJyA7$&Ziad0Df6dfM#du-MV`aF9vMG-a-C?&f6_u>Yc(U+DVLJZ_!H -z)rUjb^z~1R-o@12$>mPEg{+*Fl0TnZ^7O1)?3a^^$r^p!Y#~HFr@T?;vKr>YH`N<{ -zGPzu@c++V$`?4#SP -z=ijjm-B#_LL{D0@{9N_ysE>KmAOviB+i8zlvI%KJoUNpjsVyTa8WX2`~#ZxQZ%!gLyb!|_eostoW}Aq@-r%NIwF6m!Jtsr0kU7v -zb!3`Ktkf9NgwzQiFEc%eD>*o_ckde#`-pLDmQ#G%bzqzoauX`GCY$h+{ -zs}|jsRH7J_a7!y=F?gme+-bBjE7y>D0IhibRx{@nRQLRIN<3GVlIcVpg2{?dQCoeYY+vGed?_bs39M9gi!8@f!m1M7f&@D{56mQ|1^Iq|Iwo_ -zo)%ygrJr5A=)f-h;y{01$*su-R@mWqPO3hx?a61-5&Me>95sQYha<&T>4dChT&2#xSe>= -zf^u0egBknrP(42^gQT{ywbd+u7s9cZnpdJMc8{__S~Y(l1|^gZ74RH6c)f|xr50O -z0N;vW3{z`>8w@N5x|Cg8i9VK{sWFwj*_j(5N`)xh!1ZTzW(CuL-W$A9p!IBR8Hh}( -z$G#Ft6P$kqDd;i@i-|!)AOXzL`UaBl(yTiOyWg6lDwt4X$6k*`nW(HVbTg~2byI>@rSUnzq&*@x9Y&N|!K -zC{uL0gp2I#@XY5PfRabgE -zRmETBz}At}xD(lPpGKH(de%K23)6qII%x%9F#|O@L`}|z?yHn(`cp*e8GVJIG&A^Z -zS9*UuiXBMTG|%h2DZeTDu_Y~N1ZaL-9{e)RTHPQ#g0b--{=*dKdn<%hGpx;W> -zdigkW>Y+(|5_m%ZWpe@xnT~bOjwbPOqY{3AcYEYb%@Xvdy?p9ldPU>l>3%~BWIfvR -zkV80ze|2=K#&NQ#zGsEs>RHS875$YIJ??+>Wu9)7BYEQYm0g#z)F*2|&$U6`KxRS* -zM}324dd0`bYR=}Vj})a*4pF8AU6Az9m4u}66H0QYdxe>&N}`ZWczMjD{7|JklX0Jr -zzxA_{;4!O>~pGc41zlX|HoZ-y&iXI#l?)@3p%Zw&};Y_OsrK&E) -zDj_LrUCW%4^@?Gm)u5bGk{`Ee_lW*j4EK6}YQ1g!9+ey((xHtcGLDcvcw;!FejhO2 -z>v=I$T}YHaWdu)2bWSe#5c%DKPe*@ECKBRBL)=W*$PoHc)&L?FH_yvmub^psur138 -zUK;Gw#PAS#-S4!jI89y++KLdxNRC@wDdQXUr+#7N=tzcfHts0FFWa -zmb4!`gc|Ln+>A3dPZicQS9X7xdFyrO_z+UKn{}*sT^t@kQhw^?OIi_RgTtd?Z|as} -zym?7;^~2Y)m>hDWd4)UmZ}7Kq-0EQ@9%Yg$8B!gBdu9zU`dQ-o -zHe=-SFl$VG`#-y}C5;zpn${uj{Ne}Q`5@l;JiT?t9DFy)Q!4lL=O2G`$5yXBC_3$? -z^n*5Hvr6yBX6$}bH)XDs@vlGXW<}Zb!>&L4*b6HT7Jm0*ul`Hth>nM+zW7mBp7G?e -zX{W9K_Rn1F(W77$_J@Dw20>%$hqd)zWgTgDWkPFGJK+z%`s38+Kk`C5)%>xS*{=8B -ze)wgw`)TgVALXBS+HHSIq#pk88c@E|Lje^{ruOzPokqw -z{rx9D{7y3Jx=r#3>}-EHs0?_(ol-a(EM@gvmbMZ2eJ##Waa<$kGkkWdh_po%oQ*m -z3_|ixe$18FFW&z#7uekK`H#7VOfkh8|Mp`pJB|V4o7l=>hJ5)yx`FORK5Hgif%J+0 -z_b31CO`o;;fB1iMWms48IG**lNdcs!KWhBt$6fHpssHDHRKLo1`{>f9@wMz&RdJd{ -z-ZXU_Y^VPC$Em#^SBZbfG)+DIF*gkSQE>7Fjx~3K?sDpX{g}HAxCccy&;#-3KjPx^ -z>dR@|kamy{!4&RCb@R&o{!|=MCbRR;-asw?)ZecysJ2NMUTb^q6%Qr8CH|w7cWIdOiuH&*TZBPBAm|85FeRZ=$ -zao9V>(O-Y3t`$d61)I8|zdJ|8U`V~8Xv6h^WwqNh%tBzCvdnyGv_f~r3OyK|oP_KZ -z%O1+WJ{sXH^`0WCqlEGvr&CXw8KtUvaT2|AqmD3y=bE7m2wA;W<;v9iUsS|Bi7zYp -zym-tXG -zxWAd=#6JFPapET~0@8uTW2wT)3)48#V;U2Szf+u?NIgzYpj*Dv?Lq>2P{=n_wZA3( -z4N=&ySLx)WeXE)ij?mv#JSwjsLy^9W6P4i$M{;l6{>S&6ggr=Bd6k -zooQCj6>q>>t0Y|0L3@8er#~{^_hob`^-O;lXsY{Cb9&v-Jzn~-+hNQF1ED2g?h)-? -zpZuoz`{u8uPByVhb66^u+n!~nkX?JoZ1JX3$Rj$1B)jgLV_JTA#y%&Bpz0OU-^o+D -zW~;G?R8+UUBIGImcKLV6zh^R3bNP=kCsSTo436YY5M*7pFULWwxSqNuckSa12XTKo -z5uz-wr>JX2{>(vNBGph?ZlGr(#U!Q*d52y$sZvs1ZuQr_!T -zf#P%2+A~Oi3$9ZB<(8Fn%l^{xc}sr^w+nNgfg}41KB5{VT?SJx@&2K$;BQB -zDtCIB^|RKn2B8fq*Qps^TF8!@Qm9nBtBn*2wLlM|c^&g{GFdgDTsO30Lp@WN6M9yL -zso*Jj&Jla0rLmsdG`<+Z$V6bHkmDY$?8I* -zx7`w=SPf^OS7?MtE4E#vF&2_Balj}!4|;!nmNtKDl{f{g6dqnV -zoc9&gfXm5JRl{{%STp>581K3nurwwFzc80cOa_{YBY4fB#1DTB)2Ju`Gv5Q@USXQ% -zTP092U>_l3^$C68{mu90e*V1`_&h%1 -z2NnDNXZ?;NiMf^4_I*dq9_M+~yc3q5i)8E^zCK6F7C>1)sgEq5xqfKh#*AVtqUJN1 -z43~`nru}L$plbbAxZmPAPvI~(rZI(8-fW|qXVcpf;*(&QaHfCaoCQyF$`s8O9*%}J -zHP1>^qJ&_Dw=_`Ipo!inE(=)0c98+dI?FF)l$d{gP-=WXt-1TQl?tYzZKkd&Q@M$s -z;4j=GJ)%a0v$mR1ng>-x66y?VW#tx+WvWXUF4fgj7>$f2B4dy5Syw(&^&27i=v;dFWBMY)7RTdq>34Q9 -z3%XJ@M6QX>4HP~hHL7%}K2+o{2{o~7q -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 -z#5_zc=6x^p#97luivG$uTpXjaD -z$|tQ7ek&hj8DrqU6sW|`uz&U*yL&pTsmK-+Y^iIHbc4VBP3D&1FLb@!Ee~3+?Nf$< -zLfysC4CT~SAGXn=C)|6fR4+T~*%N~blQg~ZW4_)^GZ5^Y02i} -z{Gia2l&Qw|6k+d0n^a2h@myiherNK*;#9w0132F=mF~nc6mptVqMimaWCNu*+FiD4 -zfKL$DiMs&moV2F0l4T&uLe0y>zzdm4zrV1EMuyAFHo%~CsUWO%sP -zs-|8k3=drO$s{Ey`A)FrkU0s2w7}kpyqSwDXw)ox*Y{VhxEdA1#^ -z2q7VXlZ^7?G8=SGBvO-O-g2K5RDdcWmRn?r182TO(NA$}bSJeZ2IdgyOCm -zo94>q{=JDs+<%Tuw&1s_1$sruEPp0V-%7+_V8b65gV?-F$d)eEIX3+(&{4*>LQ)r0 -zmG1DBYQlsqV9$#QU0CqFZabJ1uhf82F9pN?(peEzR-G+_U}6=?s+fSaj4}b1IJAwN -zDm<~3LwQ!ZU3ECbd$jjFgy&WDC2}3Ez3qflX5Q4#aetB{y>Qf*ZszjZpL+_PNRKlF -zExSuSc!Ap&n3r4yTA!r!euVQ}RuRUM7d0WxP)IV<$2gjM8imLJ?8fqAUl>v`j-a+rIf) -zbVPL&*M9?vOU!@iHGoiH)ZehR*;LvU^9QB|vQ|R8CFinDk!^lO=rc1@I_;nb&qGyL{Go|^?L<49lNXQNO%61LU!2J@5 -z@sqn3a^-qyaWC3x$;Id@t2OYIzK$Ke%T-pBFnC!^#S|U7|ExlH@-|Ut+p4l7h$l8qsU`{Z1 -zx;j^8tuFXI=pvRHjAvPYbzZ<`ZBYU9r6X;uBxTBnM?*B6B3Zjb%iug-^SWROyXRrv -zdVhV`IcC!-(5HHqXP1NHL(ViC4ybhNP>*o^$?7-<_mw(>6UF1q*Sy*TmL~F;w*=8^ -z6hL8H#a|QKK?c26K~w@gqv8NDK+eCazhPd^vNy5=eo-@=UNBs#X;4S40qVkp%JhM& -z(!@;Z&LE{CSh~?}__ebXn@$Ls+QvpoMUxmuO$>iEQwFDkr3-twrMXgKZjrz6J6}!? -zp77pe{8jH*Ls`mDkpd3}MXL=bz&j4!NY#L5V~4eG1x^#IY)UN91N -zYRFg8Y}qtFuBopWd?oxgd)9M6xM<>jg~U;cZPWh#U;q8xi${k$4<9~y`sn4}vquMy -zUVeWhD?+!-?tSl7c+vqbeerVd+udio2j6|vklm+T_0iZ>(c#BkP3o09PoLhyhgDBE -zXrZBdNbCCRTL)Me(M?M-34$yUT+-9&~?VkrlQCPIm2R`MTj_;w0H=Uy@@UGq&sb -zIM87f<|G3aTz14tp-wiOqoiYK1UgLY`h5BsOD#-J}6vW(@?TQ;{{l&-MKO -zSEKW~M~w)pYEZ!2tdJp=_nIFPM@JeMs&;UU#oGHjn%{$luElg%uNHW)ERWZK%zA&! -z{IJ!>=2XpqLtt@?EJeQRsEzc=P<=&Ey)Kj|i;j1hAp!<+)l&?R(Zi!Q9XiTnT?yVI -z^)CJ1i(stH_v+Hh1B+yrQ4h79=&M=<-|9Ci~JIyQ1vRrY6IfVo-OnQ$2s$aY(iNf0cTs@0d5k( -z#~&Zniy@CyxDiO%2wD7&(XfP~9<#vA<3J$o6FRUc#edcsya}(f;3%m%r)gkDHXYrpD{gf*aHdUfK5uqSWn0?e|$6QCfU&|)vj{?z6GZ~_^ -zOl+T}n4_K$BF(*Ptmc1trNgstDoZwvup8@y0?I=qykXp@*x3)4-1F8 -zF=|ZI#tEg=wbEjsZ4)m{aVyKA49MiL#U~*VcDMwNF&rP6aVP-j=lcL`l!3RlAc9YX -zpOkGv--qHaVu{$S6TaSBEce2rP;5mElJp%rj^yMW7}FahJeYr+$rDuWthIywvKeJQ -zI@fs)Q3uMeIyy4HqKO{v%Uh{?)?lMmYNK1$q&HlRS-~$vgkI3i7*Ed$(h=btlgheo -z#WXp%ti5vtd!BLpK?cppwTOpxVBWIu5> -z3|GUkm3oGBACmKis&*lWZuZt}C`ch94a5L=!$qrfUi1mjT{Gi?+wqp8W -zr!Sv-f7DUocEBTVniOV7+v}-b(hcJD-QxmB=RcAx*Jpp8kcEvpcGRB5`q!e)X{`~q -ztK@uv^o6NH@$Ewp?X`03=t~>au`us^_=8kp7rYeP9g{5M{w5(*Xojn8=H7}*v-;Rn -zusbR{Z?niQZKp6p5E$>Ij9-+D=RvGSU*JuF?Qj8vCz3DzD$j7ZW -z*#oI5jVpi9#IB*u%#KR#)IX*IXwuFwZz*eO00OpelSD|o8e_Q@GP3aPZxI`mff+w2 -z4vM}_2Qxtd`HrSa+5Jd{8E@=&WWD{S)fuwEW47x4uy4@aP|`P|Ja;>#c6)vdsw<@V -zhU0L#PFj{rnR;{&=*}J35b#><3s$-ZqzED%MN!!IeAUAvkgE2wEqV7U`0`l?ImnR!KPF7TDIg$g~V=RH6p$d -zSPFlTMRuyvxGLT@NC6_bYXS|I0!?eW&s8vC&nWhBen2(G(gsHMOEphw>pie}|aTp(w-5J8yJPk5?k`7aVtXY+-*=49k9@ -z(iBT4j4#8?N9#Wz7qUq7EGmeK126cl{91p@mI#b~3UHV$7=Rk+WEZFh7p@3%6|f2n -zcH7--XZXB~=U;;5GJ<~DhTT}@5rl{yX-8xxyMGa(upn_xsyxx -zr);N6?r2!3;{#eq(9yi`IeK3i=0k)O=`plU9SLtWV>##Aq)6@d)Ju%smB!;xYk7aK -z3{hl#^7l=!sZO#0T*a+OFg&?%=@mgvlZzFRyOLgB6)q#Jv>WG=o -z&X>{A182vex-v1Zqk%&>0oa(D2}+7+)0{Th;}Z`a|+D~fwC%%s)Z=yw;YUufRL -zOrLt01*q=woZ4#F2%PiV%dfq>7CR3NVoV&4uK5S}5ULr+yXzYW3i>%gld0eW}`rMcQ9=r04UsZd)SyCYU#b -zqNrsfEFx7qT?vs -z029m#3yg*XnX>h6cgzCM%;(|Q1Bw^Hy{H@LB@r2|Qs?RHfG_gAFkKYp7te9}bWB!V -znePx4USFZGNPbnVJAAw6!iWx%6CSVudndeV&!k4WqJ?I9SF>OYo!T;l{B`E5fG&VH -z71Sl7<{4p4^D5uMv7&#>Y7bU*UK5*n)KKPcF#oGgiP&KQ{m@Yj5aCDks-heHFR;|3 -zc4t^v__~mFhgo%n=2}f3xTH=3aEJ3S`T7>mlLxm!> -zhSGspyJS7ds(m0mIILFUrsYs`qjoE;Acep+K}lsjv?4D&>_CN=-%Fz0*ZNS^?Z+H3 -zwPeSHsv?PbPti$kLhO_peSV2pjCPEPes7crYL*m$e_$$&t}6|x0V@zVLASK#%(w$`(Pz7@oIlSE<(_P2!)lvrt>!9b#vX`j$r1Btz05-b?V7`jxQS#iqKv!()gwXihktSZYnV9PY{Am$gAv#m=`2rw*oTZglf?< -z4@?~o@ry%bS2BIlq> -zLuqpK1Sh0+Lj(&*_MKWpcOBLcN`!Abt6<(AS{oo4PDB<1#HQ5x75$c-7HM-=ebD1B -z|2}GU5#oPQUAJ+-bCzS9GDW$@no}<`7`o=ZH>_c4ANu#`^BJ%6vXxU19;Du@2EOVC -zXo=7nUVytZusSa%`7lm9#~YrWUqnxtBEV3>$xRXyrd-JlJKUP&1y3ts79W?Zi#@ -z_n#(n6516TYyUjgjW*}V$%n)97*r>4lKa%Y^=4fqVt#F4_^nIY{zP@!HO;}&7)q}P -zEU2?u{Y)*Dejx(=ZIb?ujk6z>NH+rs0~)L$``x0?7DY*TP!s(i|lM^8`)9aUl@CxegSABo+Onyop<#@W!83>_pqWqHV}m -zb!YZ590;Zacp&l;bei}`waMt_oeNwAc0KRwAtRYwxzw?q&X!+Kh-muZL#1-|xlscw -zVu_(9v@SUj1AqWEoO^f^*t0nWXq$rII=g>ulzi03&MOBM0u2w6?(r4_N-4y&X)@_e -zC7}Xn%y;|Umd$4SIb!sV?YMYJ5w+VvotP}mk55gBosWTi@`5E)7{xBt&swsvf-A9X -zPbcL4zHEn*MP<=3x{lSRQ<-{{GEj}qy~8d#pr$W#PTEG^()A~RNmS*)nc#|L-BW+* -zPL^N8gjx1*5PxB;QM>rU)PeR#N8JB!#q`c#P@MT0#7)Itb>cp-!d*+AEKOCp`Mlyo -ze*YT@f$pIpaA-leQOkuCee#t`20q?$73n1paGN=8q6!2X4G7xV1t$phHUnN+WAU(q -z)=^y7mJ|rc<4%WM|)UqS4I=o1La&FEsM=Y6P6UUNERUExK*Hc9b9K`yy32JR*`9uo)6I -zPwS2xP(Y@=G8C(vF$E-?F&%$&REyGxJo~>2TZ#@`(=*(`30}-vhto}_LOePvX-AzK -zPN-iMlhdzOQJ0A)khun|g5XkC9MX+Rs~aET2zLZqj!x=#)rt5joqTC;D0H~7ZwVJZ -zl>MhGBgoTv_P`Gar_1VN$327vwW@VTf&;=r^`fJhvtETowED4uRQ7+xM5dW<7Z_%}!ftAOR6*v#~SC8nVZ1!0(g#O_hHV`pt|-Ta4*l)A$XB -z-MKtbIB#E{@G;eK3VVb3P#NXy4Z4~yG1cupFR0wdR@6l_^vd-B*-<3A^HKnH3Pfjt -zE7g7$Di@6U!J3D+6xvRg4~pdLu4-0d{y@=0 -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 -z8kXiyKJn?C2h|GpC;t;GTK0OTIGbk2 -z#Mr-+*wl%g$^;!4ijb&dZ~M0o{<7Cea`><0y7`UNX0ttz8v@xJEVhMWJjnTaqpGPB -zZIo&{h2X85Sq9VGR3?9Zl~oDT8bGiZH3THa&dg^^P_|Tc(v-1H6PX2rllT-=#YbUvZ -zQDcSyyTOR@wbhQTf4R=?)_NSDtDXGg3>CQ|zoFfLRp;7CFg|~)YpP&i1@dfikyT!Q4vHI&b{_q;uwNnnl>F63@Q<2p(};<5*qTH*G3wJnhx_Z -zt{vjjXde5qPd$G})$yZoAOnO>KnBg!Yl4k6AWMKFCX1xw$IZ%7qel&M!`MLdu-;e)eNlJ(*dZsK#60|dzwNPK28%kib3Av;=-u -za#;L|V|5NoXg^NCH*BFwL#rk>oog4OO{4vO0>AjgS8$L67av%uqauXUHEvIcN8cb& -zCr*{1*Gb6PnFnZN<8(AnD>jrJh@B7A=A>!Un%J%~`(O?MFaf!d>#3D>#R5RL*;!@4 -zEP(jQM!tVzL8}l)*tzGjvo84=yhc8{UYNSb5`a;htehzYD7g+l3~j|Ur)^#32wL{E -zhgjW6Qs68Z#8f~%e1Jh2$aAQu!vn32m&|yHgo+HHjj`WZ6VD1e5T=7u(pbk1&DkY_ -z<7>GQeQB2?&yH1dg+>$auY}OcnsqEa+YIAQ6w`lnvpurcB4Uqwy?mi5jpGA_*7i%C1yUS~EE70Mv)$VPCdm06>Qw&v=TP}}MDqk9<3-zSA4OrHjW -z2iHD8T6i0kSs6t`EG)>nN1g_T*s3p3-Y6_6A(sYrMio`;2FYVMeANQud`@83ENl{rH#+*9 -zT!S>Lk*a*s(3y5YrZb&P3{cBKKG_eb6ES5b#!_KGrHrCHByC_y>{{g|2tv#ks2XVKmTUoDOW#enBW=&_R_U&!7 -zOORYZsN#=APj4E7(orL_n`~ -zY+HdVhk0u!1IdnJ7gaIL_Ujx$5r(n=+9nhVTmac_&^NP(<604QBKWIIj4gHoxc&YX -zFDlXMAf*OspFI-R*!Gmo&fx^evEEwf0gbIe@fBYtWzU1!%2Y^1v(fYecKUzp)A$>e -z(0;7`r}3v$5e0RgaL57IuR^VG;S<+@P6&vQWMV;imXl@hAuq-0X2eb`|C(5LO56 -zYj1?s)wA#0N>y>@ooU}Y#2&!LMze78Ah$aJm{x0DSySy)5Cma;${vTul`K1#!8Pkt -zZb~Ku{CnDD7*Y5GGHpX6N``+8Csx`IyG9!u#tO6bjSbV$<_}a|C|()vPMPCRo#jn`(dAt<6Ar6Mr`n -z3JeQySoFd8YhdM-s#1YY4h~vX$JqM1YQSKJ@?}gX0PkTp)lO6%8DyYIl}+bPZ6u2t -z009Bo^8_-Av>S3#tu4^yDltvdIDo&b%eQ7yO|?SD6ctf9VdJ?+lVk_5zD2D;eA|lv -zVI^HwH>J!z%`0gw1~q@S1Et}90Rw-(`>#*E}Mim;A+dJ0Fm44=N@H~0gmhG -z`l@Mlja6mSImZQX)nIHGndMZNc44_iLAZ(H0@=?X(~9wTaPVNU3EBkLM0n4L6MG=Z -ze{BPId|x=biAy=Qc8k%33qc?SyhmM&vA{ac9|yuY@&w2T2Qq(l*ff|yr&LQ>GnYb8 -zjO*nB4B+%RxJMcH4C-22HS_qU#;N==P&dq*4Pz*Hebu=rRMZDLI)0%@AfO)Mp%IZ8^BU8ylpk)fY>k -zcnF(4T)_?^fETtNDc3YMPW>bpFU%{f(#Cm^P2+s_PTCM|SJVZocOLY-M)LwI%CNWD -zH4i)r@O^5wYd7((7~3YRtaUcYD$4Mp1wJxU!ylK!S&&`wkT0cH__Ply1aL5NV9|lh -zinL$h{}moHTNzG_DS9%A%H5Nh@*u7Mk6%Bk*-E#x0_JDDWYS@Kxjh3zgYImH{V+wyE+3ClskAK+(=BEYhsSw+~zZg)$ -z>;PT0+3m%2+Og5?(S!|*^%{n%0ivPD3XMzlfVd6g5A`{LriK%nD(fc;(&4wek4Ke` -zB!$?6*QUa8c%o#}5w2-@EV+nd7fXFDP$aIdktG<%SINx6U&;pAQquAE>yx5n|7zTA!wk$u5`F*I(v;OkkvFDH%9H9o?ugbHFRx# -zwO1!03{bZF7DUyGOmO5LWkyrO#LJGnqaAIqczNW3dVoc_k_h9n%hM`dt{C4Ua%ln8OdV)8TS1$ -z%$k}0hN+}+iUr}uDHD$DJF!am07sh{nvCc}$ao`7 -z<(A$v&<`uC2>WHP@G@U5F?hxSju9vxKB)mWy6gZq(vrsmO3fO0KUA}~wdL%?i&M?A -z;GafKpfLK*hat~OSc6Y*)dmV2zbq4bxzR6z>z+6fyl0XefRnbAep&N4mkxijc(B2K -zB~XMIDk~r=0op#cvgW=SRrVOJrA9V+tJLB}Tb#2=z|o=3;?P-*Y@j7Yh!6s6w^}^K -zU&KdyvSA3CIwoW!ak8g6UG-TNT-ivYXpE!e@V5O;3n0-y22| -z$VQR#ene;w2KovgN+7MiyQZ#R@>0Wlo>vfz8F-^FI>R#0u@=PF|igUTz*UZZEtB&ha(finA -zPqG!kPDf3ne*fzvav9xKBxTy*PHH?ks81DIZkUlpJiG#%T6@1k)2Z24V(4frRw|tD%F3H?o>y#nu^!?NK$9f -zIu|s$n}#*RNheKfV2Hf}J^mEauCYK59B*UWZ?;cpsA;IKka|@9y)e3J+E|W`*nw^$ -zi|O@~{S(0YgnuoF`X6QCa45(X<0 -z^Px3yCs2)&lpT;4B!e@mDrt(4K{)D%T|3lIel(o7>yu -zRb?PG;aUeTjMh#TuT=88TTzVR3S-QR%h4KW4dETz$h3d_FwCBvwzX_o38X!vLVmfg -zz6!OyZFyos-AraX*@-V`R?|)-2c&Zn+(tP;Z;F -zm>}dl=b~YFM#D6io_YnenE?YA1A*{Ne$EgmwmtmZMZ9ujzfv8yBTuT62bIW=FgB2Z -zzVXvBzw>`#iU#tnJ!uNabhVgD__@+gAa7=6!)aAO9JP2jS~rdF+s9^BO|&=QnSX-) -zCU(Y5ZiB;^iTZk>ncR#P`yqQIflLM&Q$4Gy20D)gm_dV_nXu->)3KBIy^J`9`H__k -zDMkp)rH;lo(e}>Zs-l<-e@V<>4&mGTw!uUsz21Li7hhcF7dNP^_bhV?|1;v)vOu99 -z5}xAp4rK8tp}9S?x*oVm1KvBrBTO#S;Gtb#+$QT<#rNwf*ya+DM%Qi?T+>cyCGZ=t -zY!>WRb_q5~6HWf#_AhtCrq!buAf=mP&IJKkdb3z -z0G}|u;rxMtPKa?N4-1TOr<^pVOhq%;?rtY`koF(n>1%^%D=?}W+RJkEp$+g2yP&r&F2>zXjK -zv2yx^#<~eOIR}hcbyKDU^jWjOcOk50HK5Dc$h_+vHLlQXrm|(sM%37B_|tRb$exoY -z2egX|W3rSH=Z#`ML5jlx?lFs};fKQL&CmcG|UuvTa`M&OnU -z+S=YUAfKJmf8xkN^PhhS^W-eEgAvH%sm=RhPUNtJIUXZL-nz9)vsP;kLS4ccio(jWqw~| -zo|k2=)&<-KIzfnCrHdl}OEgjpTBb*aQ`8d^=KdTkyc2zn{8oR&E>(tM?v0y0qvnS( -zvntE{L4GC6F5!782MxY^b`cilV3ApwWu8^!RA*|!+#E+7r?D6iAe;SwQ`BZXG2x#U -zinKy^19!xgE`3(B){`!^bgawmGF66B5!T?^yO|i(|BPJiy-beO|F60IPtWatT5kWb -zx&6oI_8*rk+V_8L(Y{e=z+>Y)&@q|;p`|GiG9c8cSX+`A5akM5Z)(L4TipC0=5%fmMDGrfp8lT@J7Q0a>l)OyTR4X*Wy& -z8|DE~uo4LTkrD}iq=Y*-tp6-JbaBWkCmp)6)O_^jv>bd?|_zEe9E|?n)gYcZvi$B-oelG*L2UHHVxbkfmFhx-y!2*Hxoo&9KNmyoyE_%IxHmP1^hCnEzl~|WA -zz#Wyw+bc`dlcL|8B7p}b>GYOO+LttR9|=85$$Nia)WJDY;`Ada2go{1l;i$HC6AS| -zzN2aRUXn!`ub{tZ(9i=Zk^QWMz@JHJVPRMx3{ME(Xo=b+P$M`Ey5^^L+3xv?Lu3l` -z;VN-Z$TJ7GR%I@7#MSNINti?UrvTjN=0lnqV^ -zV%2}Fhn=|{@#SYE)$d?4N3htb+l6d|XCxHjC@$W-EU) -z&8gYuYpQeu92#2i{A@Chz9H+nY`I?REC{eXQ{3G0hYA~zYN4g_3pGEwAi2o?!pF;c- -ziyVKl*cs#Vvd!uu@qt~0W18=V9ie~s2gY)`lt@v~oRYwFbcjMu=NBpCr^p!qo(!C% -z<3%B4`Tj;2=NX>Zzmm@Fp_^wXuq@L^Spax*wmC(GDCK42`9{pvTuX)G3~Q%ueWqKV -z=+?h=Ylm)qsyo7lw+-Hn`+WL=Z1bQ>2Amx -z!lRYXMa%=v@(3}<7U5EDtXe`~Lt{w^Pa-8eh4@D}EXlez-lc-7%Tw*p{q6c#cZ+Bl&+$6?noAXYPfY%7u&0S3~|J?+dF -z2fNVrwDUu|sJ|FyQEuGB=hnxL-o0Eo{XACo68AP^u -zFN=7ow7u$tn`#WNBcF@WRTDd_hOSGCkG(IOFxLfm3bFAcUf23ML87NVHcQe3;d%6JsaF4as -z17*eIcE$fO%t_}!R}Vy}*vSdfot&CT>s>ys!aQfVxo3Zfd0rPADMCBZMvb^o;Zx>! -zz09G#>@-n#8kQ=Gsa_h6sUWQ@A(dKTaEYBYXY{oZO>U4Z4d4Yp4CbSq&8;1M#)63T -zA0`vqn=3kd21Eg6)r$SKcAYzNMY?SqvEYaiEJM0{GW*7 -zgw8Up?AF$)jHABL-}#c-5P))Wxp_eswUBW(gR`Dn)fuBCH@=%~Mx@o%Wjg4p#mPg- -zQjy3wlcls?7Nk2RzZN=QAmX}Di?WiMw{>=?nB#vJLRGTONU^8$Xw^Jb=WV%Xh+IX# -z5>ht0w#3aBvz4m03;Gi{G~%{lo{zuS+3e8ECjr2hV8^(c?c?_TnL`~;mJBzB4ELQF -z?oc1dHpgcoHw7tq40K7tJI}t@$y=yS=07aILUl5Y6V3REtq>DLdq<6u>x!X%(A7hg -zzG{D)i7N+i@6`RUlYQI+%`GWjGu#DuaF7e|kvqxTZlNV(m@h@t_A_UfnRWfl3(GuZ -zgSfhW9w?woT#>nK204=q6;$6{nZ56HPfGpzID~eDdrZZS6MbgSa(to-;zal3Fftw9 -zRq&^X&ZKx}fu}y1c9MlptqCRB`Z(wIZcn+7Rc1x$)z -zXF6_K##Du#Z(@$nBc~@?U$x{v4KNQ4FpnQ-)|4w{+#9$5@iM;Y*IFX2B8AI3$@YJC -z)zaW}BB{kN3x=DAhna(io2LwSc5ar21o6CFpor)*6Xv&!Q`*rl6}TGY%R!RKjxUv` -zKS82Tu(4Qjp1A#2PGitrK$^h$mksqG#R(E%%;*fLe*I0R0Vj9E{Ib1F>t4xpafIBZ -zd}lsk{+^8$?MbEtE9jMwhXBtOl^lNhCvyoio(D#WFvXi;TfRvduoz%O$QKipXkX -zS%XFD6KLvF!cIdC3bxLeei>$-AQ{ug1wMs@>cq;;bsdz2#~GPOdEsL0mMDMOhn`9I -z`E-m87n4%`Uf`A=`1asuej*1Dl=9(-vjKK_LixOtHm;<7XsFL|+gz45tJoP_EB)4( -z(AGB$H81Y%9Cr;4TF1L5hk5;7fDb%^WfvEqQO-(3{pJ06{Q(Cu@+NI@Pr)YqpFKA4A! -z>$A{hUvsK3H0VgOlf2SPMhA1YyBjLqE%l*W=G*CAZ|odsp6U^Ba}8S+L7j`waerV; -z2k)w=!aTjRAN0WrpXLGh((+akoYmR&wJxpX@M=4=dwW3>BPo|(>%BW3`^ue+ -z9cbeal>O-F|02_#RgcS2g!B)S{6rqPyr5^r?V`9b#(s3=OvTjEeBM3ap< -z);ql|sW9(zXEd>o2W@{qZ}Z0ie$cl&_(7#mPH73?RPuI3QSn>J%V#M9(A8e(>7C6f -zL*$(5UT}xaEuGBwJDKlwGPiXy7xn|LVLt6%Oq}VJegW+=H!C>Q$px6@T|~`l@8sqd -z5Y&>iy6@*HurKkv+sWM83991c7;@P -z3H8-}aFQ6^7;z8>am@;K0IhNGmT=KHm`HrMqxpXlcZ$c^mS -zpC1m}Bfp03M&IkVwLJn`#C)`iqErd9Tz0W<<8t)P9eh&cs7Ib(u*Emk%Mrp+#|Z9P -zE-`%0lg14l^BhE%KK^-NW%>yKi;vTpAvmpU&*{Sc;F -zex>@PryulHze6+zH$Up=m%u;sJ)QiZ0Bb;$zio&4LH)_zXQvi_psR-ZLHC#Y7kW{J -z`Ge^<$NjytvRp08u?LF_$aQpmKG;z19&AkYQuae*fuodB9kiwft@DFcRnVFew9fO+ -zZ$7gd&GBwgbAOqC82NkCuBgAuwcOWfKc>;oEfNtqHZJzUY)*MOT~d5VS;a>oS1xC{ -zS$^8ht8aBzqQH&uo?Ak{bqM+7qft_rr;A;MK5G~`4`1hwy~2BX3!D&STAMVpt;>Se -zr9o?U(3%yrW(KVbgVv0o^*=%DpF!)ApmlN3x+rMP@ms-vU(nyo>1XaOcNcw_pTN`T -z-5%N6&OF%LmDrc_Fhuh@B8S5i1H%#~k;im%c#he{XoV7iVU4T6#6voe^if;iqGuFy -z8I|LckuuPGw08!&M0IA>tLa|L?S?PCcN%Q=>R{$on8nArcakee>cttY4!+KV%`St@ -z-W|+79n9Z}ww5|$TSGt!}J}Zc4 -z2Aai|AGE|0bg)1?)zJlb$2))W -z!xH<0x6w_n>m?0v4ypkMCAzeKbuUBD8R|=@iB9I{9n33-n6G#8jSmkphYc~yE%P?7 -zAaGkpv!svTRv$<|mKpIjU&jh_u9wa_RhUQj)_jr3i_6y -zb*p!O@_nnl-|7vZtKH`+Z}}aUecZ|1)zQ4(+g(Cz`UftA2h#@-)Yf*tf8(+Zn)){@3#UG_gBs_-ieue#fiw* -zF)GuEG!IrdBA5c5?f&3wFR@IuXfX(MfP0RcDmli3bO67Z@_c&MPXASj3>*j4#fZo#I54zmF*7{N45yZdQnWGF$}2{%$(-IRma6x3 -z$={A@m%S5qxZ<{;^?p!MhP*uol_76`%~2Nd09-~E@eq7Ky*u<=+?F-C+N3;XSR8T= -zGF)gNO*N}G)|O@?0zdo$gh%Bag?94t#iv0c^Dd7lcY+tG`?8-%`Zy??`~sQLeh&#e -z;vs=Ya?}O*k;+ZbJ5malfu;R4#77S-C%YQ7tDgT;+%CqS#UAY!dlb`${wT+PeKX|t -zY;05~!v#CUvE(Vt~BBA3L2iWG8Tk>-LN%=<3& -z7UPN>_buUR9!PVJ&%NPsnQpY@Im+G6sVw1{3G>rzWvc~9=Lz)_m07k5D241$_Xq&8 -zu~fY)#V(&e;wkOgxEt~)rPPpr^-U1S(fU4U9SBP=-8E|0C$WfV7tqGov4OkpysW+=tTEshFoTv~{$!xqXQcHR>e+?~RS%%>OaNipo)OjimOg -zq_0`}u9d#4rSDPcTOobRO5JzRWi9X0TaD@yRa%j=^u1zkX~wO83?=Q3xI?@yBK0BO -zu+x?u4G;Utwa+QM)G9EY@^n$#^+ey=g`Fz+#75np^T|BNu88lT^dF!RrS7s8UDVOA -zua)oGo%gw9b7h93e{i(aq-`gdU-~%UcmE()Azz7`+Z=g`$A40&#DCzLWd(zl5I#36 -zGS@39hgeGutF7mM&g+MC81U;IIf|{2VgpM}2?Q+~KYs;LtD!SS+-q(`ih6 -z*qvkJba&ZDVEE1~)rr=iX9k(Fe#&>>JbIYkJc=sCgOYF$pe<8}4mTH(kzkxumDM5Y -zA>HSGlY_?U!US~yx1bF^?T(PXUZS@PvA1`Bgq7ajO{k&JhZ^>%)NotE -zZRDlGuzDK$Ar>@O%WLobXyaa$QhLy~50YaKk!JKOgOWD|L320VQr)LD6mvEa2M)v_ -zv+5~ZK&s`MR?zwA&DjV!CWx3B#O}ag!y04=D>i3JD>hpH -z@zQ+7UlhrIHenDMj&& -zC+17J2)WQd+OWnL)+o=~!zB@N;SVyQE5u)eI5t-Y%|xylH_U=u2md>w$#0kS9|kom -z5?87=h?Q;~tFnzgQK{MyvdWWX&rUJivT~a7}9)u`8Jgitjcti;;Pm#Tf6)9(>Uy0`}6jLu!E>A!+y6joWwpGZ9 -z@gd&HUDa8c13MZX5?~X=pj_pO`^5${gmsBw%{Huy4C_L*QCi|QzTIY*Q9D>&iA9o2 -zog*B7rOzK#8fB#tS|zunu2<45mhkI5T{M!G<|bO2p#^SA2S&2Ou@a(u;vS_S%aqV+ -z#U52xV)f}Z!@9+=78us8vIxthZ>guO=hCu1EPczR?@>>Z+FW|-eRN3L)u5cGL~gk} -zO~LPllzvt$Na)sD!+J^%2dlmC^_0FY($`&o`npLSz!uunwHYK3k-haQWe)8_Bv39Z -z@`hUF(Ft>2t}32%FIKEcU8jyonShEXFL@yIa+S)zZdjXStG{i~{(VAjBW|Om$Q8xU -zg1|9xrDa=OB_1f*@;sARY==O}FdzbE$s*_)T -zR$a)#{R7z?Mo5`EL7MFqb>!6ZN$%(A_ENPA5oD*5>tWT38LV$e84d@r)i_^s8tz-t -zGKXX4Qm18j4*Qicdj&Pd_HtO1f1iT%xni^D3u^f7D|J2ed@dHLXVk6}u*>DSicAZ! -z?v**Ct%u#k+!b}E;=P8o$FROq;&)4bt6bkJW$hm)rMsv=`8bd?UsN2UWMvVd)bJ~=%9lSWr1ddM9TS&kq|{xI9iB~u9xycY|om>gd4!N1tn;vHMCZ&uVdgSp& -zL@EB8E}l3f?odXy{AAqo$+ta!pM0C-gav+F^2dDT$b}g0%L`d;2p7|H%=c-z(=^@l -z3WJzYpcwB0ihW-#(4uUcjOE8tA*(=EsGVXX>p>+nqEH#p{Cs9du0lgMvmLE}E3CE4{+@Cm_>SlF+jX2wR@&*Is -zpcnHT%oy8ZdpM>rRY15;R}dbFDP6uYX2vs#V18+5xq&QecM>f}+YlX;Tf@o)%wqRm -zBGfNW>?Lx47j;j{7YF={vh5ul?)fiMtb(xFYUm -z!U`nY*{El>Bz^qr8JS6AIuC`cr$XeUI>TXreVC}Vo=DWc261MM7;Z>Xg+M|tB%oNk!bi^|S?u%`7u%J_E8Ly`QL=qlge(LHxale>kxlHL}Rb -z`D>Q*@{n_jag|(uPh6Wpv{fIcfxkukEr9Z4AUS_ronc**;eS^WzG80#ev$SsO_pK4 -znlMlFn4qH@dK~hAFij^G+ZiJ7p=tNm^9|%7PU{JH+yxhwB+A&L!Ord~Ge**em}WVch1WI`)LAYQy(F!F$9$#RvLhc4 -zDG1y#vLLYO?2^Ful_i1CCl&;5zMv%VuYZ;VzP?s7G-ng}^jwj{^t3X9Aa}=j?e+|! -zebbiMzWzuKp$p_b{SJz}uRtJdN;}CumdRe1$v&lj$@a=*4@!hxGSN~wzOGIyqhn>< -z?3YA32eMSCnk%0$#xp5t&&hTcThk85>r1-nkk@FxX8xU=#{9$(78LlPP0*cj!qK** -zT0tfZ=WLa+aHjPzJu%O)f!t#FJv!kz=cE;ratD}6Ir@zQY-&+9XEl(M#VFt1L)p+e -zKcSj`N(+ncyeIo3D#vA3*li0kEH}|Bh~{2TnajUr5AIC+m_}a{M+qLf^2i`=)jR!| -zX`gl8nzTFmK%6rx1RhY&?ErI85}CdN&-xEJ0EH|`I-LMG0zs7c43*|~#FdPwxJ#!z -ziqnx2Kv+S$opFZNV)?*#I(<@FS=Yo^b@P&c_7wYRl4$F(_9#ty;A~yIGD+%pep;cy -z7%S0U`OSv3&k@p7NpnEZr_2C9hH###0(VUzDEwv#|cmDO?V4d(y`cK0JV0 -z#%`;u7UFI2+!MsNestuA3zbslwo!(3cLrIe4h&wt9qQU*V=2OS&^yD=h}{bf4fzf! -zbxJl!C;OzMOGR0xrRiz^m{LWC$#0{q+HQxXbQ{Gq`BP!*>9DmfY^|03S(8?O60~hY -zNH?=k*-n5y?8UYyh5|dtG<&u&hi91;Z4~8Ffg`56A9{<->eB+I_Ytrr2`lKMwDC0w -za|^Mn#DjL5eL-peR)YkZsVLhBwVga>YPtK(tjm7N=_UT -z)9xLE2U!8w3SDlHmY0YeuQ*a(GL5(oye`gE4!jy>a2&f5s|e{n8gW$qo5?}@ -z%80;TBb)oLWXJfii1oO-HQ$|n;u)FfZ)q}oG7FT3ud`E`@qD+2AvazI&2mhFZ24%` -z>g!6vSV6gQLEB!n&{(4C{=mN3BwB!>qVKxWOZ^KooAks -zXSbY1JND&B;Egr`r#LUk;=D?z>XnExwjnp3k83?QTK$AfzA@r|BcYB>n7PG@!v35* -zw+jE|d1RuwNb=G*Nzpb%{OKc?tq>%g{Y=Kf8?uh?sENDe*;UK;EL9TthjX#o&^f77e4`rHrJR%;~&)paI8TvkAaIRw5kaJU+iS+QOyL6|) -zKZ;n}Wzqf}q1!{}lYNjK66X_H -z(d=#OEbzG5aeg@n*fHOR>PF?bh(AtOLmASX3OPgXo#<(UIX2``5EK^++dvU(q<6^UjN{ZPB8yXuqjd?fKnp042#r#4p> -zx_MfD!iUkt6N+?E8nsGfRXaqL{h0v?g~mDgOSWH;=Xqf>--c63aE?5J?e08BNFERD -zA)&p02(&^%P3b#Uw&y2H{u^V}tXFKy2A -zS;4vS4RbiDlLT6S3LId#U#i{gk=>Q58rBJaQR|c_)XW+pyYhBb-uRo!U&T9+vQ^F` -zy*S;kc!S-Y!&y`oNq0Q?faFN0N3AoW)?ej^{vLHm_}Y*ny`GY%RO;-gbyn0mCu;po -zR_ad4DE~peTStl}J9C0ebhk`2F-lHo{zl$ktdzy8B9uKT>eD-2{km)*`S4_!*SREr -zuPG9Gp7c$VzB=ivr-P$5?6lRJa=16qT7)Hdw#?(As9Tqn%V8Z2k5m~_5S;rlm&n$8 -zO{JrC30tl|Lv8Mh<<~EjzRL**nUgT@Pq;UHpJhk7>)3h1ukszit7QiBr0;stl-Eh< -zjna2>RAHyGl)PSDWW8=x=bRF;_QI#WEj?4th -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 -z`RIib`U-*0k&BA=Ttq306lO(fkN -zQAJ7mxdg5hk4+$}uv3mu3I0fSHATps{RP%ZD%R0|6l;>iI+^s!15s;3dZA_M{zV7p3Rvqon4A5u;iUaT2(N=v@S3PMP!=CbE;~#R&P$QSHQ4W!e_C -zyQm^00AH7P=u$B%3;rUvw~J%8NTZusCFXDWj(W!+qGUr=HYSqtZr4P+1~P>&D^uj1 -zOQ^Shjcz5?TZ3movd4k-9ZPCkN_x -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 -z6#*GfX}YFgp9fhlUy`~ZFR*P%N`oAiEKA*) -zr)^#a2#1!YG;Q8P4B>h01TA?FBJ6r7wKz|k_b|k*M`z2!tbq6DVF3f0u_O;lF?V_D -zfjn*DBPs3qvQ6M>YnXR8xVjO4dQmHEfe$7h%4?ouEL#sHn`6v>Hl;zrjq6iJbm23p -z<$2n^b(lLkbDl}*+Qw(Vx9VB;vB&I>X^&%x7A;S$VE|}|H?_DHUyDUpvJwg&&^7}g -z`E*{O1%i=K=pAjohINJZ0z_z}R*Du;ikC2pc^gtMBcKa_KGX{TkN$-$FVzdf@N=22#NhX@ -z)?Mfo0K8Ez)c&vi?FJus?*IG;+Ca9u|GR9n0QJ|_P<4pBDhQrSq5lI{2mdd&#Q*>I -z{|kTL$h#W&!G;uYr@%FTA?-~zT(>f|Gxt6A)53pty~hUjJNCd1y^ENuwx+fqKy&>E -zgxn7hVd49!5A(E*TT^ZfP1|k*1FPQW9&JBBw7KtlaFMrP8=7CX2YFY^`>C(;w4LuG -z>(%A~6qx>Aj9B(TY9DaMZK*&A*n0?gsKz4U-`5y_@PpJhdD@1558)ddKVYeE=Bf8% -z?Bb77-$Cq0IQwX~gha{%jAL(4eV?Z-+nx$^)3t>m&Hj_noIlk6zy5O&Tk6nu;IMOd -zrhb6t`Z$GEemAh -zw|ox1UAw`z7@d~i!P$k*oImhG=&VI&=O0MZ!7cfO*n)vb>c>!#R;0z=&xbkq@b3jU -z`7ZyXAQ)W${^+XT3-suw-wQG#+x{rfB8%swqp>Y>(jTx)v=+bvj}G4}aMN+nXQa^o -zx@U}RxHK()2EflilRxA`NjA?f_%UDGH@^U(zX9|Qgw9=1FejxgUcjJNX3Q_UI|a}+ -z_ZHlf(l*~)00jzNm7xPgFGl#jdkgMO1)A@Js=;T(|G>uk3Ic63V_rr;^Z%>S&`Qi{ -z&a#44slfIJ3!oR57HEMb%fQ*StRP_M+O~`&qb&V@{sQQgeOIM*ecsjSB?a2N=Cq-O -z;~!^WGsEBQ8Oa9=pslyxo@N~9jzY4Vdi_(D%E$}&QkqwB`d@rQT(7wrt?Pax0K9A5{OVV28(0x$U -z#SpJAxeuzm24MPv2huMU1lHf54g!HK46|Bak%lTSe?6^5_q_&A^XqA7;PN}edUG0S -z`K|QTX>HNwG!X2Y;LO_u&U*B1N9Qm)i{3(i7&Z&_2_Iv=O8-s-@y#f*@(_AbXqXQoOkh)=&VI&7s9rnZ|;^fieZbw -zg-`+guCV?HR$$YX^m3@c7A))*sG1(WJFGvNz6`|kZD~C^|Go6ew6^@cw5~1M3OJj8 -z(AoYzmTVjP-b3HkG~{bMm3B`Ex|X;n421OzerWv%>Gf&9A*C((Ak97VY>x+H3yIM7 -zeSn|S-w>GvLZQgLVafB}!jG-p&Pa4W|JkxVZRjl@g0tk~^gC%|-pAM+AA+;&L#WvH -zkFev=Y56Fv8_heww`4~ei@!PyGWJ1#%&~b-`iHc(Y!5d0m*5=w0+XX}*=}%lqqC9u -z5Y~ct%^2K?zQgD&{0f{k=xj!3A3Du@f$DVa@o>=^tihFqxSZI>3cYz>y17tWvNs(l -zGcukGQ?BmE>Hqxi{IaVHad3Z|4(c1e0dn8<4YWq{Pw8t4wMF}pOumMOSOzhF+BOXC -z{tk)lM`#U0-x^M9>225$_~DzehzovYMce>C`tn~O&w0P4Z!HY$`UO(${}sn#IT*1XgA1E61v=X>co3a!7@U7C -zBBO61X0RNC8`0T$1ul2B%ZqT{pI11y2#F0=y*EWz)m9YYYHwxXqebyKj}~h2UCdbt -z&Vp6o>|2Gk&~Ay$FMAv@TUHmYDbjYXW~1*`fIflH1&yAQLy3WDyB6QY3SljSPA@o!9!w9D)#vN}c#(}!0aDH)M{~o~E{3W*8 -zZfx5xF^hQ!T!zl7FEILlD{%IIRfxm!_F^ei2DCei`S915L{YrkS%MSd3q_xlXosFJ -zf=+*-2&JJ1S>$IJx#-2BT_xInfJ2i#5}jYRsuZAy-YHsLsx5f8D3E1jEsyGan$q}m -zl@z|mN}r~;23j%wqX#R4e0Db=P)`8 -zJ^*L!2SvIz2Qt#uY%Rh%y-@1ZDbiBaUd2<{yVC>givsw$D|vsE=EBD -zoCQ}EztGm0b8WG%9ljErdGqi?%()7jedsh_2hQU8n0qsSI16tAXVcB#>|TIHyA_=M -z=q$PooE9v=HgJr!&BaJbd!lT#Y{kadcU$rMZMAs|i?Jzxgoqyyy7rOcAKPkM9)X01 -z9>FN>Cx|+PQHz!r|J+tvyPQD}0rVGy&RtRbYg=vciel)zjKghP?ek#ZvUa#f^=L8D -z-{BSPXThU?tXQ|ja7ey}@w?tCe!ZPGcQaMrKP*!liL@S#Pr>Nca^+S7FY}6z=B2KtVL(}J>WFo -z3(hKZ4x+REK5!1*R}u*7Iq$?66Zxu)wE!#Psz*!ql^OF^!dG{%0B7TJa2BF(Kl(PH -zZv%@(XYDF*=A*L{ojI$)S&YsGbb_JxVnthH$zQM~=03*qU(SCvJy!BtnX&3|Oo^!5 -z&^Kp)4JKbxg0s>4F|sDQtUc6q-V-I4w-2m;0*eobfsN?wL}$~J;Ot)u&f=%RX?eN? -zxU2D543-+7$Ml8m;p>ZEW1n3QKh0&!HecQSfhQx8}0so_PCUPlV!X3&5{S&8;2pFHE#lE6*}9% -zdA@A-8`zWRG^4ZXEsQ~D&StDEIvdd0iB9v|CAeMtc>Bl(@acMd4}NP6erfl+>`QaE -zlswrUL_j2&caU1pS&z;kI=j%B`#zE&IxX*)1dL#R -zWUt-a$(LERJ_NE_zO5vx@A{x*WBb5j2nTk(kHoYMY3l<>xacGN)W;Cqg3kOMP~c$v -zTP*O~n8)Isyv6y?ww)zg+8c{ML5kjissD|XkG>Z4?L%h^#vVpz$)|{i&Ovk*e1?Tb -zXFEEF(OI+$2V3mBSkVFeJZ}FdlpO<{u-Z=CHrrm`VM`zyW*d1Tu*U&kP -z&XV0&40Lv(V+0SzihhXc-(i;X_OQH`z>nU7&Z4hMerT_?e1#2*&hotg#JeO#KS2{F -z4`HH3`;mH#&G4gd{I(>h&)o;UP2ZIK+CH!k@B{nyGfMiIQ_>&UT+6;^A8Pr3zU0z! -zWAQ;O+X1ZbclZtT%|&Mmb66}on|{FJqjM0Q1wSGQptI%266EcNW62xJu_=CJna}^J -zvC2ZB3Ilt`QaujPWExoT? -zTXShCu*&RfGl5hOVfzJFT;IyE#51j=MVAkmDLTBECm;*S0O%Gyo>-S-YU)=$v -zoTa7LbkGhV!tSM|DB~{4Ly-R}L{ -z{=VA%-4AVd`w!gzz#RlZ5ClOG1VIo4VS*qkDhPtmAP9n}AP7S5&u3+*c6WcT`+HsY -z_0!#{caC)&$6D)H59c}`bH?jO(zR=#sv36#q1^*#*C_6Fh$6XupsKjmLJAQn!iCI= -zNn#D)CQLLKHUK_<9}pulfN<=9192aZE>?}OwyIIvG?U*bKORI=Ezi|+vI_Gf`QdsraB8iHJmREy!0GgmlZ{9dwj3uLpiRL= -zYk3U#9&?_5J>#@~#!CCmtNm|mXZY_I%WD5uHqif#e_EwTiT2}VrV3FSsKqphOsEtk -zc4MU|_DqD7G5|(HC6+DC87xrYT3+NdRUWPtAyXwfgD_35R9@@%>e+t({u)7fgc%(( -zD~0Nq1>|N`s;X~xWj{4!Mbb7GFwcW7N@V6EX_x_jSQb>CsMXqLSE}0FY*gi*48#fZ -zluDjh12#BnT_{Fmn2ehN*YrxQ;zwD+JfFdZAst0>3-^q -zWwNY)uvp$>@!sWVj?-D$M~y9plwDG(DNQVe6j}!4msQ@EgKxw?t!YuEP~uKDa8ad3 -z#8a`jR#~Gau2xQ}(*{-}0MACizZo!XVLV%ZDm6iU8ntQzu1YMzCNQXXg2DiQtrHOW -zH5{9D@OJ{jw~C+?AyPCL)&th{93>*aWCVUnjL9Sl(8gGQzy~CE0_Hsohse@7b`mb; -zB=ZtUKx?`Jcma_ha#t|)`Kyp(*VuW4H^rePjMrH?5he^b7~dK>s1skY=zHooS8r5* -z`s;-MhMXglpxsGr_D1EdI$^oVp}8qDm|zOf6uDWsr%t4$R-Fv(UTRJ0%6)ahnPv@X -zX_^Alewxzh%CG8#=@v}(Te7UFFokGx-mW}YCvpX?8QQO@4cx9gR43xMIXTrkbuXR6 -znFkkyqG^MFVk_75)fI1jMc%8}{>l%3mcChoxydi7k_Sxq7>DzRMOB!m4j>Pdx}a5! -zb08V5RXoke*`=FdZWT{6eAX&ebsFithh^Qw6M -z5tvuS^N;YXDpiTkuF}GiTq-T@g$$wCwX8~`DBC;!q71UAk5>W~IMd@N)O&2NAFG^(BpnhRpOOa+TrKn62RyTES -z`a~&a3F{gvi6{|T2P6r@dKy@)mk~x~m@G9a!O-n=@e$GWRZ6kwyXTc3ZK<)roNXJb -z&I}fL`Z+c*2N5B>9w0?zH&*d~=<(ny^5`+aY{5-c7YB>vCibKD5Db^7O?#^@4;Dr* -z^0I+?aqr3MS3$rHR2eLb>`l|kYm^F@FRd)w}3)^nY4dc!# -zRm65z39TW3@`6N~uHe|7KD@`%=_5_%{jDSY(4vIf7Q5pVfhLsC*k`_w(vac -z6KIcqRW-3*WD42~&`zS(e4xryFI)$tHUaHq>3g7R3VaLN0BAs$zl+dLrPdm%GS>@F -zNNO)ZJB`|KsA_t>NENh~p`Agkf8kJ-rCx*&N^KI_nbi6ZRn4jw_Cr#81=`uv#tv0k -z>qS;-)vM6Xk+p@Z=AyPRdpBH#qf^bb!d$V@nh00TuU8C5s&HgQWR6r}Ip|}jEgq>_ -zR4=?oIm-Yn*b&khVb@7TAR;43qb?V7WR6#@uE(i2M_;}3%JVCn_}fv>f0OojRZqQ0 -zpXDSxSEUpQW!0kKDF6OC(SLRKVZ#v2t(0FckKcC6k03tO{2m~>7l`izl0m?@UoT1{K7FYg -z+pO2Bp&ihfd-Q!(gIA9OfAvlJa@8Btzp8rUdfyP?g*Rr0UTEV7*b*NQ+D_eOAVAnq -zg7ECntHOr}M1-(y(rZMz2a<0ikRm*rXr*M>1m|E#uWF5O*4ht3mp=qJ!brLfLrNS4 -zg2w^N7QlD{h!c6j5e582jK~s!Q+i$sLCM(|vz-ClfRdzSILnxce;|<}%-=9cqzOwL -zc{Aq_fepQ*^ih(pz9oM6hmpI(t~OuPixS%fz?9HqwFgS9=h3f;^Lp;09u9ea$6D2D -zzkPLpru6o!m`jhCH+Myk-H6t9RbN!dF?xAo;E>6<9bNrZ0dCk_>sG)p8BDK_sG$AB>2 -z0HQ>MR_}F6G-L?NxAY?{w`ri1k-D^AD+9lK` -zGJ3~QkEo3CTPaAt~A(>6IaGfBn_?n)>4Dihtcg%KzmY -z?uXJ(oT2ux=K`y%<#pTD)j0U}R14L*sk)CE_d+sm0lb8LE8yBz-B%4Sgk-h@u|?Id -zs@7%I*sss3eqHr1hc3Cix=0PrtJbJlCzC6H=t{utt1eOf$Exd8 -zaq6;!8EqC$pv-JVQ~b=EV^bXS0HY5j8*PlmR$Zixe{E-8B(-@+TK89gIl^#{QJMwG -zJHJ|0lE+x@an?a3Pq1FX9Hm4g2-``PdGn8>2MGVkSTMXSCN -ze64q;UK_?KdR1n~U9G-8Oq;pJ$Wm;?lUc*gR4ns-wW;KtT9}Vk$0`)Ol5>Hn@e?eI3YHIS-SZ`H79VXnjWSft?#;Zcc -z2A%_FswXtySe%}ksSUh-aIf0j@bU@0R`iL!Rwg&&vW3j!c~ot05VnVi&7Nb>M25*Q -zrF2e4w4tGp`PFm1J)(G6eAYNyCUs&FoXWS;>9h$NE+%OH&i&VrPk1u18NWLrSYWDAJg9Qx5E -zLCI(X+=OX9keWA0qx4n2eNFCj9xy!Lf3iWM*y{jtK#7qEECn)z6;`eGwL7m3xchu6 -zJ!LM_D%l!W;Ul85_M;_uMk9N1BWm)w2U!}mu5}2_vuTjf`621t8wRO3uNfp}f8u1w -z!|vEL2uD+zXRpb*f`1mht&s=vTL#T<6cI0bk;rWsgn3yu{&kDqPP^GZXi?)HeP}ED -zi!g2jTz>jfiuf4hcItMpb19{J*g#4d!c2peIxi9FVGXYvQNudckO~Z1-zb7CF+mvj -z0C`Hzo$M6Cx|`Kg3IWBc+0rLL3M@Zwho -z-9p2zuv?FDjEF3gv16F5?z5byMB?NitP`i$-=`s2V}SPzyYmD=7uz>n4N?s297`c= -zQNVGY{gz-UOr|JVnZtXLfAwDEX4TL7`hYpFKfhes#JfVbWWfHyN9-0RyD>9pYLjq& -z%PMYj6t8mtV>b|K_6Cc($)2W^$gp@yS?a<7mcIF~S2W;b!R!A=9$|hHUA_OmSM@;{E3|iDAq6I^ue_&WFb37Qd1UViK -z;(7I@*Izn}bI_c~4O-eHY>zlki74TC%uXUgMC$RNzDlW*di@tT0RP4FKNrU$F|J0G -zrk-Ke*uDcS1|*Y2a4Zm|E{`H!aXi7=Y0VG9vAMFTsU$MKMwH~o*Kn`1qe<=u)uNsz -zE|#VmEV7eob~Xvmf5aL->rlgoB>)#;n1noil)X(Q0XUYVCIg8nfPE_9GXudXHGDSV -zAWKV3gCat0ZknttEGtvhJ`Z2V!Rp~A9J{+`)@VyImYO3?B0C*bSY`mZ88xaf&tw2Z -zc4iGDKiO1lpN;suvt<>hn~GCRh6$rp>drP5JFG~?2*0&Pf5maYqt~(DJIC${%|R$x -zm`W^^+;e2H7n@3QOeW{nV37LcUw`Q+`bv|0+@a=b6ZTMuBsmYr6G0}eM0g&GDOT<@ -zm8O@V80!MStjlZi -zO~SjJQEHzuf0F$28cj)bdCjvXoz+<*bOC3L`r^4{tum!dJ~%qQ8Ev(!K^SQ`l^Rw9 -zt`#!KNzEnpwHyyxBScgtiL{#oNdy6|O+#-oWnm03pJ)v1V?wh;C%(e{HHM5`hgI=}j1;V#UhHm$HE1 -zCB}1({^yyK@Fh@f_96|GoEJHn)T7NW9%xdv%gfYb&FsumHQLhf$(rNM!WgaLLI=2` -zHLBKmQqJAe%_U)$o<9YIPjecaVdKxTQE|BRQ_eNxFcnEhl64aiB1ISp!xg|rcnCM0 -zqnG6bf6O#vm<-n#xpcZFL%rAh{WaS+?>GM+ys^V0ar5vJ+da9xO&cx`DOJsevfc?j -zeK_|y_iD7N^Fhsw;lhwb|M>55Ozzhdp#huAdXErA>FnVckJtlFh#U~l)$ksvuk86V -zf^&y+fy>p*8;%uB+In8tY_$0v)yy9*;;^Y2f3d3!oBRT*^N(t9w)wb5Rr8N)?8BAN -z;~Iv&czChv2_Z+3bk5R;UR}?b_kO2T_D9wL)>sgybV4M2axXs>K0|dZ6s3 -ze+MErF(&84+RbPX>f56?O_WaImz{icN=>TWK3q5^(J4Hs7R#MDR#qm;cF|~_Qp>xo -zsmZkgG<*EFqpPl -z9*|S5oE%;ffW!-_W#y;jfZJ+M4;PmCwOp<)a9+izj?J$4{0nN&4HpR*F!Rn2FE-l|YJ_kvWbbOPmG$l~FEYH$qS{Nte?{KT -z_!j{IBDRRFF24Dq)n!-d8(l3s+OwuMHC#j%!_mG3@Gb+wgo8RCkz_LOtQ8vZ>b&<48DkX={HE%Dj#-i`CS;U(b> -zwcPI*T1w)cS}|GVJakdVwY>Cff1jzP#IU(mlsF0hW{yC~gR-)zE!=**wdNLK_j2$y -zb3nJSS|Yra@z4;LRwj+xFzfr2J}euMW5edOaOcodEAOfoKEge1Ug2G}&h -zzK6vS#=V@fd*zhf(NbdGC*$d9k+-`0D$kxTYJRpp9KyzB3j&V)+|0g07kdu?5unty -zPnNQ;r6duO;}mQu$stFHfAt`eeU-0TN<0UVOcB0Vr+JHj5xo~SKW4G|2BEewQD)E23cXzkG!5e&0i53{R?Bw>lNbB@;XVt%a_$N!vE -zgzY#DQH+6yQkclm*?N+#FS^w7Q~L*1XeTkA6eCHTti6s}PckQAe?7$kJ|#QvR$(wz -z?PQ(2u=p*R8nXM(xOR@>GTG?t%Uv-{tfVD6Pvs-zLaZT2i#7D6)iFt3i -zj4G3t0M8X9&8gbCt%^U1)!B5lwy*MzV$;dHsPYe=c9s&(Vz!vl=n&5>!0;_fv)%?m -zKxy;__e?iou-^p|_kiSe`rV+8@JY}bB{GDWelEg~@+wSOe-=*!smr6}5=VwsB1U8h -z_Z=WaB!OZ}j#d;<>S28O$DFE9=tl&B(l`xqCY^bfM?{G>Ql0=@cKI1Nm -zFtX+5@6g*?15A_Z -zc&}@T?)e_%e>}(AXsWx=DqN;I?6rxMiC$va3$IJ`GEJ_#+$!9Y>u|_Zx)E!Atcmb$WFN4A7?EZv25%h)?AVCn@D?c@A5m=e!cf$IzpmmdUHJ({ -zWcJtbe<d!towP1X*-8|d)=uKBD)R#Rv)_+P+Yqq9Ew@*Old|i%{o2jCK~+JU}}!A)c{9*Tq7=U#u%q^B3yWQv0boZHf6v -zT^}`bwC+_kbE&RhN%BaYVWco!VsFAFg)s$C1}_nT;j#ggXf&2*(vxPGpGiS>i~Y`~s`4 -zeDz57=GD42BZcRx9Lu#MOOjX77x}AlGOnY8^;(_MPt)(Q?kDdBZyCv>zMJSE+x0qC -zwce=PI#Q%>a+AMN$8QdC2Hil6=9@q?f5phs9Hd*Ef<%nS-jYF0D7WbM$r8V<3yu`w -zZ|j7vq-xM}FQ7Z~T%ex -z|La$=G@){3KHY7%2QO$B*>496t&8y9W;gU%N?YLW;AQQ?c!#yzVHc+*O?RP)O3`_D -zuqui);c_fdN6O1x?Y#MRZ!lL2FFuSoAu4u3cnMfG);TV%foc5aQAD -zmzFvW6er7jUmAj)MESp2e-b_Ild*HlGF)wt;riy*?{633IraSV-`sjkPAS?UzNXP! -zE3ZhEmx+J-caX7L7u3sV$qOGAdwsZF7?2PVmX}^!&)NN;+@?QDZ?mJGyM%}3&kqM8 -zGK{75$J#}FX}!`%h{xqGou?Q6KTapdvicM4BC@QWoBOz*S@frbEE9x(_3+GA}B`hy{Bxp{otiRYU -zOsnd7I&CeOFVWy$Reu?E6by3^mX^!<#}` -z`Llobwf~>|o5TVlk$P^+rgyk*AEPWLzr(A($LgoNV~~eZ>eP2$`eNb})PA6Y7eBAm -zhdPAkiX4Ib%iVU6=KPiVuRDbEDmp(*B(BO4F!cZ72ppzwfA(tqkq+UwhUTftg#J3A -zJ4&@NRnOJPpJGnUr2a1+H##OOxL$v}LuBD2eAfZbje4$;Cp(H`-`3-#@m9Sk&fS2N -zzr|*0&UEks#pC+39U}U;{`-5uYPq?8@7i^a<$CVc3pJRnztADf_v?k$cn5_WGmuhD -zCYcO905Ta)f2@bl1s`$~B1}0(LPQADBMfl>5HTW0SRP|+)i*8u%kOlcqoYsj)song -z`nw$>15sF>u>``AXEBt5lroeo-_c5>q?J;Juo#Bmto+-fpLhu)LkVSj81OX*^^3|Tfx@mYpo -zBbW*JW>K0AxU7I<4q%&0X&xmTV3`k?7668YK#s`RS+Q7-uy(W9h;v9_lt?>=a6?}8 -z@wz&ROJ8&ML``>_a|@vQc=9Mzw+X~^N$|5e{o2nypYR(^bp-o -zJScRIQCQE(L2}{4q|cuvt>2Kz0|?oFVMwtWf4DY8Rh=m$ql6n~)gFh=d=qfo8uGg8 -z$qwnOMji~&sJ0w*`KNHPd^bc>njbqIHXT; -z{wQ*IB14MQYT!7m$x|rLv;;ZQj-hI?J2s?`>UIxBz3YMK`k|LcDS-q=ElZ^L -ze-GjJ%pt`I^Hn6Rp&_bbIyj_AFi4#GJZWH$7>h+`lW`+g?(e*j)eX=XFh#lvQ$LY%|XhN2Y0H+?7$=Z~Vc -zRD_Wp1EPS)9)q)g23>4Gd?t`1;tPP_LcniFUI)5dNuL1Bi=ay{8mdveONXjTeitKk -zL6=+&*wz5nwJ4OK-VCMW-~(cIH)7;=2H2(9Og&x0ZJx1$J3hXTLO5?gI)R&g9UCqlGCkl&>oQJXeNtVR~BF)*rLRm}lsd -z(IUsX92K4OV%N5fH(vG!Ui~OSukYf9T@54Hz@5 -zm&r6GGbQr_!2OUeIT{{OddwyewlomC#ccVZN-;LUpZ{pwJ&ekqm)#SE&(B0(%MX0Y -zfAsm{ZxeHxpAFsIDO^ucgMkP=8(O%?9AwJ)9Y!kql)WI9|NQxay@MIUqmY$gzvI$oOHqJ4F_@VjiHvOdQUizgc4BOW!9218ruL!aI-xc}t|3PL;OdPf!jh-}&2T)&iK0n&%Bb5C= -zf9cI(A=ysTFpV-$IrMXRm+4?9r>b|DD0OWCazIIRJEawnY&(XDf8y*8THTNWs~|;O -zKz=on@y(D@FqE1$0Ja{$y9(-= -z4|~!n5-{LYRpH~wAhDfUP&$-Hn;1?ZwpiMe~X6|o(@PZ8HOWC$FLVK -z5ySD#upitVP;$$Ds1Ww$!?3?0V#|m9@GgR?`S#~n=J<)4LBH` -z(Vz;yrGcH4DKupd{qmNEyb@TMfy&rlF`f -z2LIx`t3g%mzJ{xaYaI&75%KjvU_(RUb!<*ggGR}1f-1Td$gFAL%m1wOwH=eA89$EUOCN4fOT0%Q<%!@? -zAa%51Ubiqu8v5XHec8V$(aw?*CuB+4C<@84e>mHThQ-~&f1-hxXIyV6OS}2ygR2e8 -zx_@vJKvhn -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 -z7?CCn7g#dke -z7Q%3ueSaB^_OM@q>=$p6;U<~9%C=oWGI5o)r8wj}fh=L#MMH}9?rKrAMcNH-7v5B$ -zoct{>fZc47FO|D4KU_EDN4)T1x!H2|w<3C-L9zfVe^5f> -zp!hTFD8h7yoqP+k+Dj=7DEV*MVj}Qui&9)vv;FPD{ocY;54?^q=$d6zSaRghfNg_pM~eT({>eEa2}4YKIBFe>XB^sV0o -z#3)%P<<_+BK%{HgD{I+>Zos|?$ZQ0Rn_ES>rY`>WfOBu_UV5|pPyeZb-|;J_{#N-7 -zfBK!Rebw~t*1f+|%)2;NM3OM<2HZq=H#*aeIuu8sRp=tyfCRGZa+EASz~kevL#HI@ -zXY_JNh&Z4#Y=Pt@VnmLxZ{=tZp#X_cAfK3ao}iq0lfi34XAMV)(F -zYw7PAmx?JT}YljuE0be|`c< -zZ@9IrIDe*9QylGqU($eVuJI#YQ9ZPV{V3jj8QXPWH>|1MBZ^hqmDc{MH!`9`%{<`T -zJB}QtlYlV>m)uzx;t6DPT}CoO7?RLAua6k0`tFao`8&lhZA2g8n=t~L0b#IEA`CM} -zU?R*Mp(^27kc_i|_}NxfYyAdOf6O&!1Rtxz02`hHej-PBpK+!?+k?R0Q>9_+}&`VZGknk -z6^L#F5!e5)>0T14EHhjPB$3K%@KTue>-O#VN3%K!g-6j -z+l+w75thsdevyC%K#5T@-y!a@pPz6T@6yVo`yPjkI!B(XAd|5yiz00I(ca|!5qyY$ -z_wS1{53sRj9s8h5few=_`L{C7|Gijph!y5HgP1*7qv%zQE~KnvETllC;6t4 -z@`u?9A3@W|JHHoU_$moN7$*VF$s-k2`^pLCyU!{@(?^!5wrL|Zs$jaq1U8v45NL2j1tNGg96Rnj@PLDWq)kMo#~OFe0HCY$N$)?U70! -z@kXMzl){^YX0qnEW8|zqDE6iBv@RRTOJj`L3D{R4V_+d*v9ni*@M0vhi|Mxn@BzX* -zACd!pN|ri@e}nBsUL{G`Rp2tX%dmNr$1Pen3MWayWe#b(ZKz*12f`mn^f4BmF2)Jw_bfRuE!@fn80AC}~nKxbi6qa6LP*tHzp79e8F -z+jx1+Ht>fR9HWdi;cPqkp)jv#<4x{G1JzSh+E=!n{!j#0v~d#!MQ|lW^D4%r{YK_n -z)fWFyxK~jh07XuU7MFBM$dPunUHnjZT+|0$e{7c&t*fQW6}qHWw_W{Ecvn*&0)=6X -zEO3o -zS^D~+EEek0=gJ@be_yt3UE6~Xg>^kETi>SiRaN)EAKZF+N-vkEO;s%$+n#->1R*M+ -ze~oRN=>fQwPyL7&YWB35KN6ljC?>T>j_8h$iVaapqUR(2YIC&B|55KF13Nz|_D0+I -zyS>qY6+-^T*QtT(E|!x%*|z&5?2Kh6o#X@(ry0-Qk4lWEIJ~FY_IxB|&1d9>efXoF -zdM|a=t4$XN;@DPSdU>GwqoddV*?VDM)+xt7;?s=@Us(OPZoLhGL2e=aXb -zDZWMRy_b_9DBh*;O2HKqb1FpJSok`Y0nSxO8fVdL1l%xSm4lR^pMj+tCbX-Vo!y%(kOF@ke3Y!J%>OV82Vz(9=$rBwgY??N|ON96i+gd)Qf0H2d2%NuCC|6s -zy3R`7`&sE%Kr{%Lnaoh~P!}e$gyjI>CPD|=RYer9LhqGM{S%jqz3t{diRj*Te*KrT -zg2)q=eVhS=8%2shu$_`|e$&3=Pr`SW@utsm-bm5(4MbJ- -zS61w-EZ_AfzS12UBj3Kz9{7{+)9i@1E1II(U6uURw*Gtn#FP7**ih^#YyjcwfagYg -zjq17GzVA=HFR{~#)YW$RMmv#zE;z6C3fW#k8%y?T!p}{f=Nc!9f7P0=vUSh%2XFQY -zvFAeWxnN883clw;?75JGptaosqTjOXZnI02;Gau887b}mGhd2DSrK3Txpzej{kg~Mwe$CgAUPrF{7ic9vQO`|bBB2B&*S)R2h3Q9 -zHkobbE$2+7?gUG*e?4fA{#oR+%yFMN0BkdNDl1O^na@H#Y{y;}sPGV}2Y}(B3^e}d -ziogRYUHWr{<#9WIcI|#;#bsu5BgrZs%j&PNqU2+_!Q`c*cu-k!O*%d)I6i5={%2u* -zLieIPqm7Jvhta0Sz4PqPI>Y#Pgf2#SjDTS*kRSVwe5c8Oe^j_+RmGf-d9~%*JM#U_sdwgmEX+t?V*+)F -zYtn5}RmB3j*{@4C|Mhq5ALHDGZV6Cly#9{-@q{Xie#yst%KG{{j*ms=x~y{P#}(-t -z?}*8I^Nn}7f0^(2_@##}{U4Xa?;{?={X$zlF0nm)hhNDHeq0iH2tzmrWGT6F%&s}| -z@sED-WOmgL9|Mhjyg;AGza#icsi%czJ$r}m!gz<@j+WJ2__)OLjHQX&ANT&$LgwS2 -zeD9W4x&QG1+oTRLAUzQX8apr#CUmfnM;})hOdUL?e^^*0UzPUwWA4RG9UABsS5@$( -zB2U!5G5&?N-~tp8$0+uIUq+^*LCpS -zbRF0|5z!4D*i!%{PQtng@B^huO4iLxZtmbTf810hjW7b?{6YNT -z#9ug%FBc|Mvg0I*ywrgO=~4$DF27ube--)iU*xY0cO?HJGB?mcp_?7t9mwjg{iSzv -zH~c4K&K6?EhtO!#RTa0Y%E$dDUy}AvHr1MwAE8{wg#Xleq0`wO03kq_A9iq~ocy2j -z_2K*M5hFMtML6!uMy~(Ql1xrc?FD~j(4kSHB6naEO-uiZX?}2&e6CeLQ@`i0e~2P` -zYSiAp>Y}IUAofvXIXx=)SDowhD5Xf#XQKYaPa>T7E1%m;j$-VFE2GrO`oQH;C;zH* -zCr7Cwd0`Y5=z-$u0V2M8YNVX#;jkUpQ_)hS9Ng)WV<#>{!q^~Sy1BIs0)A9 -znXe*`6A+=Rqu8U+?us6Sn9F++v;4Td+9OfQ1MV2I$a9bMyly{Ec6{xCdSA-Y9n5q`y^|?jsq`%DN{1 -zjkk9njN*Km^0x}x1DO0og1RDQ>E9}HhS8$JOT>uW*wJD@X#8k?&0~?Ce?LcsO==~p -zNlqEfIpms3f5;W#DWf?<*8Ht^?TG)aBD!QWHUVY5o^SYMCYNJ0Mmo2Iv^eOmrvLW+ -z*UOd7dfm5wlP`rH&3GRC4Qtk#(O5iI0~rAO9;TzKNAtXPhh8`C@4R=lZuI!Si@@5^ -zI5t@a_}qYH-Dq}!>F*WJe+@F@2AQ7n_lo#>rhV&2_r(_ewZ8B(TfM(!pZq&7RrD~x -z#10v(WJuB?^)9f&z5`8DHOKYH`Gk3LsX~8TAN}<2x*!s|z;z&ToqkFJet%f?50;%n -z?&O2fJP5y}m*+{V{~?blMyut)C!^Q=LuYz2TGgc=A-4rebmbM~f38^1-0u8nzBBbU -zs|`|-cqYRGEBxQFSvFAVqu$Y1glKnKI~i6GALW_JfMIHOA)koqb-XR+qP-{tPTStGyE^JM#cD -zbwPWlDqQm+d5{#U_8B(6r`Y^%u!`)uLKW*f)Bn%~-S7&p2P{zQyz4soO4iIjxW+j; -z<<{xwy!#KGdkNc07#u9u(aA~oonH5VBam}+YWwuys%*6dk}X2n;cMfp{bJT7#rWewn1-T4SrE$h_itV=spozID?(vplfp!qkVbkl}T`LfsQ0aIwQZ|)QW5}P`ON$&wGqVTE6ZtRp# -zJ$}l=mTjH$e`MJ@lV@@x2@Cusqk)-%30OrOQ}q6?_Bn&aBc78 -zUT^uQ6|r3?*RmT(5^ll|-DG`MG6V&po?Sg)4a17;;M^b_J36`PuKTni+JmIe59D?* -zi=&6k^>lJEnOEJr$?anHL=ax~{XlRZ+q17zQTr4xf2`(j!|Y{vuCF`$l!p&?YRk=s -z&?!#B9|o+4JNJF63w_O={R&7DIh3Sx96*=bnT#9&Ob6NT+Q_H>`jDl%s9IOJ;}&II -zvBRAwKh+tJa3&q$Oj1sN$}grJl{3kP5AK1g=j+cfbPv*{WyS7ln|@jK2Rx^iU*S>Z -zr$sLUfBLg@vz(Pf>N_hZkL4SL?j^E>D-HxsqIF41iQ|}1)^m`2rzxGstTLXUUjj*Q -zj2&>X^Wvwv;3>oyiUO{am~M$^r$*$@q1m1b+!hkh8KRwiI2_eK{SB+TpDxfxBb_|N -z4jz*chK_fN5)V`*j$@rgrLXqe{Cs<`>H99we{bO?fi3;T&Q$D`iHB@t=uTnNxQhrK -zml135DvzL9d_tjInxX;<} -ze_8L~_u=>2tG_=$D)D~CgK|?BcVJsSo2*Yv>CzSz_dSR1)5s+O|Hs({<)W}O?A32& -zmf%cTzGGGwnrbq4iSjg&nAKHOZkrCtGPO%n?zeRLKGV6)U0R)gY8RFw!af^FP3zL= -zvT)QHEv#JZ{|s|2KD+Cy&ve<@T}3#Rf4o-xVkZ@5m7cj>9IwpWt|Olb>l|c_5Gld{ -zo6a^@mUN0G+3a1XKht^aU45`&Wxg*-47ec6S}n`Ut?s(`nQ*$0*+)c(6abPyZNFhy -z%>q|brJ -z&wu2%@4N1OCfqxyQL}QSdb;j^ruFr732k&|7vD8Fe$ex39y5zQ(Dmdq5eRhgsU#qH -zpo>?*Cl8vb7cc!k{&O@tc(BX(xh`{1dQAV3#{_yfzV4d%xi0)QqZPB^F^Ssz*IlO1 -zb+$tYtFJow^T~Sep)RalVaennIoA0@U4NPZ!El!tU^)y$4|h%bTx&&In>#EUIEy9O -zPj=1zT<1M0d&7#BSU=|_zLQ;ZJ{PHz2tN-KjuYn$!v1C6=RDbob=f}Gg<|ONz$w6U -zTE;dHu`OhY)-zr9&vl+NU3``6BE%LxBjZV)=~4&e&vY&MT$ea216WFTU%YGC=YP6L -zyh|z82-~2SA1}ba<;b6k%lw9O$e%gawE~5om*cUDq2>}@uFr+#B0_avly#=4=z@2<>lC$aam`Ch&;QW%q))x5HTV{n5MD3X=B(^x7bsrZ1=Zc=p0$uceknWWxF$9=pqHp9coh9?z>;; -z4ELqx9yPZ6-Ptd6p8MU{GoF0vC^jW_|{RbNilr+1Fw -z?Qi3*G3o%vt}&~>6p>wH6m4H^w5Io7(AqEgO!eL|*l42xG9zWvzA-p235+Q!H|>Yy -z`D%>kOW}osaKIv>LBPIu3{IB%#0o`iWkG=uoU;eU_`Vb|h<_sYHIO<4*bW08B6OI6 -z_xYwq-Nh`4!((=TiH(Tnqd<&^M}RD0J~rkx1t<3Z)%@JgJ`J6ceHuAE=D?RCag5y= -zWp@&R|A)Nyk8&wX_y5m6NflMCjg#(CQhrqYF0BgPeiT=$Duph}%&awQeeb>9{hj&D -zntRtYt$)vS_kW%4`6orH1VIog2%-c*5JXiFqzHl_2o(fD5Tpo#R0+P%d#Adao*&=4 -zzW;t#@jB0b_TJBa_Oti-eR2*E1mb}93ILG;YH8CKLV}(XoQPzOtCV{b6b`%hHl6D@LG$Fio$; -zs#zaltA8}L7!ED^2)obO#Wf$X$ZW1LLKB-`y!a!gS->?*pm7?Dmwv?jMy@eIqcs&T -z`-quMT(caSps9GpM=TDFD49RP9%yAT-vg~IuKh@IuP7$>%>)gp>2#6c1478K04`)C -zA(q!)^o+MckT)UsNR%jiMiq}n&43D_hL)!Jw#vc`L -zm?Zhr+5@DuL2G+lym6AGd(5>5NxKQ!=;PwelO%6idx*4lXf02Qw@i{WPq@}g+JCLk -zhMyE~n(kb}P -zNiB7y^m -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 -z^?avkrDXOiBTb&Sw1 -zliBlM-gmvUCp+>vw$^jTFomspjHvLU6gl3|RHDYieD|I_Pe6%p>XX$-B#*5zZae@;iHFuRDL -zhNLkPqDu)*z=Wg`8NTIXM9IOE=6^A`9YydGn1AUQJldA{{O^ABAhIOFYOdv7an_D$ -z`CQV}j=`mgV>GYTU+~8x##Da6VwN$oHf=JFV^U}2`hSRo$lad$1#a}&c-Wj9$Kc}I -zT2Q}<0&U%d;M>P!C^Xy0O#ebktR**fTgf?t4gPNC@?-iW@m4HTE7pyu3|Hx!=Gm=#~p86*OK4ucUSq_}jR5Cf8p1U)k1 -zXHX7F4QfOH`vpP(2%aTqfh3Za5P6&ojS;ft8F%wvemW#_aw=QeUQQ+a-hsh+KsC -zS7-!%SNNDb%~$M4>B#jlo-ZWd^)WbgyYU5$ps8{!KXIi6t!{JsEmlRppw-P+IhOwx -z=t~?mYIuCwf&UVem@4X=1ZIt%^AzjiRO%zD`MKQi@%h@RexjYXk!*ZGkq)_ -zbnD0B=TsZ}DVBeU9rWI@E54+2O}%?8KmANEtb51ed8JKcT&zVgXT#W4UrLb%vZ4jd -z4e*JrfluLm+^6KevDPmo{XSmP-j8Ct4mC}lvFpE-T>Gh#9taTHwh_1YQ`YrUyz*5f -zg&iF*AK@MF&|G;U%Co4JjE&_#Ykz8@Lb2OpWlBwK?71%` -z`yGl#h(P<`Q~i`pDC%zJMZ?Y1WAl@-_r8>TPpF^KB%c8f5bb0$kG8&r55P01+`4i6 -z$0NFNFTRwV+Hp)KvNP0pKmP2d`YUvQ_Bj5g-#O!^e#PRtaWFUSE7YBnu1gEr4xH51UVq1^A2NZgP!lL#JWYZ@qF|ZuVO|EXQHXw}*Ezu$M0kZhyY;xyPOQN-|NF3x$O!wpDZA9<22h%;Kg+hCX-~xONglNM!QK9ybl!DF#U2NYtnZn?s -z4A(JA#sT|r6h1!g;#X2||F{e~b|D`^hsV*W`TlW2cBb6OTNYd2jMuu_+(zpmKX2WB -zk}QM)!+$A)?F1okYFzv)DR!D{xdH^=8A9^hI9f$ywQupWssw_O4DrAwZ;qo)$N6!O -zzmgIcsAS+goVYM9Ll9-F-}>QK6v`G}WobFDvZ6fom6SA=(-v|GLA$hE$YQT=d@KEc -zwD_aPipoFZ>4BzkQ~xZ5ZYnlQioZv=+8I>yvK(*d2gKY&rBa5$5-?& -zIX#kyMax?vQ~ZOM%K!K<nQTistN&t21> -z51*)5`4?<>5AlK1co9pNGR4|QXy?=&a1>7304Wn`pif}XU=^gacR8`IoVyeo;OxZ6E -z^``?(Z~xXc2M3x>=vxGZXkTAl-a%nDmf!menM+nf*H*9P#=Yr-PfupPFfQba;G%N;6zfEK%wPNkcQnl01?|f6%73pVw;3G- -ztmbk#Z5L1VZ~eiT=4%|2)bh=oWn(#Q)i;(;|C%N*l?~X-@o-o<`abt-TwdA6`)=D- -zE(%P3wm)rg=Api4TlxI2|NgjLScFQ6bS0gmoc6$3!T!o~{V7aF)Qi_~9}V^8OTLzT -z4s;(dY{!NcNB|b-ob~X9%706yx^n#B=|X>L)z`Q~@x$o;VdTnAAXj&i=UPsdpZr=1 -zp1_>&!$|`5GumGnK!02(c^pG0%kjv6EWHX`hL@fT<>9X-+XcAPSbxq~xDmG5HP{Yc -z;tGUbWCY2!D4BUz`8C(p&o0=|3S4$r;X@qhd`?lZ^B6j9xH3WIih -z{Wp?x=6Kp%P@2YGQ=r_%J6Xkxs;kHE{)QQ=$CGn_yLvpPx%->ND%14wEY~@GJif+z -z0IetWymkG&@wfppm&`lnjz9d3SVynb>6dLN}+g=XFO+22Z@4S(b1@-}Q~LF>)V6$P!kggLMo -z+Qz%%aG;il5{l%;@pOXZK=kSev906he=F&2JnW0mP@tYS6szamu7%3t<|>zayyaUd -zu@_#mH3iDmXd&R{EhOFJ*M7@yZf45X7AURX@)I-OA@>n#G2*2;;o3(nnhp}2hsLk} -zRdICai60x!l_MXGUp!?#lK%y>MX -z;rSMqcF&JL@GT3UACIpZ?EfD!pskw#1LnF38GkcW#_bah{ErmeI)Tn?9fSzr-9AB- -ziMjPO7Rnto4pSNZJMurc_vV?vf8cjug71G=Xx9Y1e`Ci4T89DKK7y01OFkz-OFAjA -zlXNkHq;Zj?r7Fw>$&4CND#zmW1S3Im9w7J+KnGL${giZ54atOZ_Wh{4n~-ck-2)R4 -zwtu;QRVJ@aU`oR^LI{!_k`IUysK}9m+=YK7=c899;9gUB0Bqgy;$FIN<&m=A`@!=I*(Z*yy7*KbktPvfuThkS?1XS -zWn+Q#(sv8kb@*W4P{Gf;(hH5PBKlX!Wq+%nKv@aqb%YS0Ur&f_tiZv@+2hpc7leAG85^@+kZO+ -zxn@-N>?Eh`b%gK^LX0HZb`XU&LaZQnHOd%06?htT7ic2pItj`MX>$$x(XpKs@YeR7 -z(s%&L0~NG>iA@ERe-iaW2f2&tLlt6{=U~O@@0jgig~*JDDui~j%=-n3SH4mG;{oSo -z)HNJWckg&b8_|8X;>veSf0TNmJAX^?93zAPJ9N>b7!nr!4ucr1xb+>21uO6+lNUd1 -zubv>waH%5s9kYk1M&MEfUUEgST*R=*Qm>8x6Dq&Q=NK-NqnUC|q2eFk;GBU%f$J4A -z(R#CjiLP4}EIWRsf@S%xQqp<5V&?bENNEeEJx^Z|lEPA%A4aMKrz8KC6(6-scsYzh~iQ#Qhl@e@0!fwjeAm75ECy -zwnA#z^*#Ss-b67gR6TL`_t;i5PxVCXy9qk&#Mbve3i#X@JAu-+xf2mf|Myt|l4MM9 -z7V>v{pTw}FNR=VVcNPBlo!|h}{`nI#MDzTKXTBHI3nntbI*+XTfq&$@i9%bkT|?o| -zPPZ?A&%YEpkzajUI`PW)Ol?B(#RTUPLJV*q834SQ3b3!3h~I=BF8tx6 -z(|T1CTnew4c=vlDZl1_LdRqwnJwCBkPK>)&LW%^h)l_t2ZT!@IYm_ss@Xe0N8hn|rwa2=s})9gn`r -zTzfm>Q#51Gre*3?b6`Qc -zB4=(#7B^9rbs533f)IsdSWa*v>4X%56kZAwgbsESntzjNG7+jJuoN}tEbS;5%{h3V -zJi)kuaabMBwaK@(Ask{Me{Av -z1#aia#c+L2ThVfdl7{_+1Yq}2Ia?D+=7TxeV#G^H{n4D)MDs(k7e9u&#|io;h*B`8 -zjc5!|5n~E9>Iv}x!IR3_MT34BBj(PLG5ysXnSbEAmP4y>Bu5mSHy~Z7;Kpqvg^)}% -z5Mnn8>RVLU>qKZb(-0k@)SBlI -zS&28oGD)-p!eqFcLx+c(Q4Mh1qg<1hd@&y;$##T%u^ht$j#JVK1ml>9_X#c_0$3gp -zynh5iN8#w8t(B}i*g!}EnoR^PBpVP$QokAP0dYWYM-m9zJBfL(-2{Edn@p5&XLeE~?A|+c5-yb_=54K(Kny -zeINz+9q8bJPWWOB!3)Fy+d(R<_jbZJVPFL?QR^&z7)7>p656m1Yudc}Mb%C?T@81- -z*okSbpw-JTc?p375=a`t2qtnJNPh-^Fp`?91Sb#zl7Q(Nbk{lwaxr6Lo7UZK6IwCe -zpy0S7o$hvGp=;!+`Z`Jifg6PA^-e-ZvE)XZSD!NYmru{_RbnXCC~14JR@tCrwpt~5 -z3fLDDqGm$GLT~_~)r1rzBhNJw)R6p;49N8%Y2y;gc_0N~#R#JbBz0?01b+xX7X?y) -zc@=5^Q9uU+W*|&P8&t+6US5Cn8q*fOj@UtlW&*pUnYi51A!!3j0Ix0?A|kyCB-Ds?VySLu|MxhyhE -z$>e&SQpjcRSj@%?9{S7)9 -z&#q``n;UNX>WcNx-+wCoQYlksTrQiM%U@4CHTMlMc%K3hsm^7hdR -z5F|(mNXdsvQP4h8%9!&pX8SYDv}Y7VM-$AyP|`8`143vz6@QM-AjH(UOdcRGEqn<- -z!~})pf-a2KOlVw7Q(kaCA@gSLI5I5wUSseHBAXN@<9qA!!tXVHso_iQqLt=^tm|2%EdtdS&2f5&quihgb-jgkk4Mqm0RLUQ67V& -zzfW)wm}U_bF@G&0qb77gS3_{sX8l(hQ=p9U~1%kAK|cGDyo&giFZPnGq&PCX{nS -z3K9edB?VnQB@2C~_f10L@9@7)${kAOdK38-V@*1_1B?&Vz^w5C?RJ5NyB$1Yj=(DGV6Bm@3Ko56qfcGfHQ2vYcS>m#;xcG4~w@tfnC^x&EA(YG7 -zS${9&F7H~&UnYJ54FT#93_wa=q-}uiQf_+J8EO^&(Yu!!>*UN*_`Bk|cqI2^SC+Vh -z2;-Be9v}v2t|3Zc^!^I^2ZR831Q~zrZ^)SlT&D -z^eyjvp&K1Ab*57mV`p-KK*vB!Ks&xy=>sA_(A1d@uNRY~TiF>aDax3U4wESN))Mrq -zp>%QOIzkfgtVa?^t><+%fH5=|M9J9V&e)hP%+{+8=Hc}P$2%X&lP8XI?IO~8^M7y- -zeWLT>JZ3u48CMJzXY=bSK4fT4bv~BI)FwBmBoHo~~?Z0BGei=Kt^ltr8E7O11K&QGb$CNvl8 -zEM&@sZP~aJAf#^yJcGeV6A!Z?y??N!7oH|=e+SvGRN+$7-Of{0OmmkE`R{fX+R1zG -z%zpKo6h9toRH<-*G|A2QlAV=pgO59Bh%t4S=__RmF-7JCy@B(4Lsw1c$cgD|e?dY6ieitVC=68{0N9K{Ftsz)v -zciF0v2NrZ8pBHtZ6Y(5>HXevZdFz@kJf>^9oL0#VYss3%LT~{IAhx;-PENYu^MYNl -zyFmLWmmtW^R)U|v^y|7{Cw~NI0rPs41LA;w1HlgXfjD5abrCY#W?amE>30sZy5ogD -z9&+00CPa4-G&>2pT?EIjE}|IP)kP*c4|SQ>okjL`q2rs~Xc$t|jbQ92t769Um!^QC -zrU#BMl4K!}?6SCr5N__m1n*OVK1Hwtv1eWItrg8{>2GbLMpE5%MSl-wRd*%(>aKK@ -z(|-DE>B*#5twMp+)UK8u%s8zpJ|jYi04~4}7yvhNbsB;N@Bk4&Q$;WVuBxuIeG=Ec -z#zQctCoZR2yUy*&wChl09W^a4tbeWbX_?JEaiVmsE59L|UKk@?nV5)l-PTj?yiQfZ -zVS@1r`~cKcifOMBynjFh2wZ~c%Y+mp4*j9!2iPrq5u$}?d(f?|=u39X6y49dwHN)BdH&ukm?Eca_q*XEgM?I^5CR-Y -zg5iEQk;NeC$sY5fTmsNNpo}DH1fHV@fc6E!0>l7~I*+0Ycz`gVt|XWMM`fPK+*3&k -z0_JH17Z8}1M}PD8HG8|(&qY4$jhjNV^Af!qRDNw9_9dL!8K8wTrUTt1vk+jPg|uG> -z>$4%oXXo)p@cQuWP9DqF&(E9LN3hS!qf-MNJ8f7l8MFP&6$Xw`N2@$=H+ -zk7a(CBR_qxQ?VO8b>B_FO!A$)~ki4c-W>SC~&q(CfBE_&{e -zl(>_ZDSz6o=ZS6IH;@FJEmY2WGw%&iSEVAUO4UwuXjN@Q+bl|IXRDa#0?cy>alnmN -zzJ%tf8u|+H$9eemXkMmZXwH+d*lkMc?qDk2p`@>gq!>Z4#0V||Gf?ZydLvIRn4gjq -zqxyapaIGe)()44=n_SuQx?Z)kA1)8aRi=I{c29+$r#*W;{nf*j$nhjpwf&g!K3aT0 -zFn=WoVL&8d`NEQ3c+!h#dZB%y+T2eFQbAG1D%&fk -zw#WUBet7D_$xE!-GZcjry1yURq^3spB! -zJ*Ru7sGi%MjtKz0zI**!EcFaAt?DkaNPks#I>1a(GWh}#r|Pu7BN$P{^qk-V)YaYb -z1uQ}c$rRw`Nx(Lp5C?2CfSJeu+<%i2sm`z@$vvd3NX%w4hYXChir4Y<4vwe -z0(S1k3zbZi$&R+qWfd&y8z{BCzK%h%Lh-JkXnWWstEE#K>oCx1Kr -z?Xj+wRrkm6Kj_Y~gYoX#{wzr%(*TBt-Dx&toNh19MVauU?)v`B`Ut&9bZ2sH0?q=O -zN8ND_5#$4*SJn2%@j*-XRsEU2xjPQ`Ti`BWdfJ^fikTNMu4_>&l%g^4J?(DoucnhC -zHUDBo?8lWCni3oaa4>Wm=n)IVd|EwM- -z`^#gq$X09=bvU0l#XTs{CRoulW90W9pG9QF2|8Pw#W4s;-p{#!Qy -z53cR#i5-!H7TNxKf_ZySF@M{Kq|e!N;{c|s>xnn(AAq^wsh$T1Ft3lyMUNAFC#gTq -zQ)p6N+d;27G5}{Zr+Xe9z-*^`;$(ry;-?_$PIJ$WQnBp=aXwVtt8O5RR`;Sj&GcT# -z^Hbg~YJF5D -zF$i~m&-KD7)+5N_bG;r963pj%F}KQ-)+eF2pYPQ?h<1mR<2)n!ia#M>-6r#B76+}?6gF50Bl5U-bLDm;A~w{hq7 -zMx532`NA^4x0r37+kgA{+k#_WZ&C2h?@iV+>{5ryckt%U1-w*vLGNkr2x>|QW&^Bx-kBL~vYpb8gUPbDN#YN8(B{8`N7-t*kyLtNUe!B83@+&{il!9=vzZ()T6!;h -zNARv9gK+}WQ&HxkGIV0!TkPOj0nciC(^1-LDxz6KFs4Pxx5*&CoS6{ -zhtl#E$cePP6|yeMFEmkOQBI$k6J35%zpOY^hAo2o5WwF6HL!a8G -zX)rTQ?L!-wX?^g5u0BFr_6xT{&R+Se8j7~>^r;@oFU^=@eOkW*ahoccZxVb_f(1$S -z9fBP&-s-~ycYkYHe$^-1L~7^FKJe8%6q7sNhqkCvM8WS@Zh^{L+4uGA*z-PHhYG36 -zzO*}^)|bwxG$h#pA3<=>BE;tsd{4+?>}eky!%{Moq9z^B`iO$_1?g-C(xnK@gxo+& -zA3P$Wek1)=Q?zDW)%VO$=3LbmkA_Ttm{j?+z8>>-*AJZ={Abo5%$Rq`=0$f*{LCps25* -zZ>AVN)R$I7d*4Sxg-8Q>x)0b-Fdc;R2m4}GwvcC2hv6*tMBiz{SmZd_^PWH!dq7!+ -zBD8#}?|;G~<~hl=4@tWSTIZ?0HAO6Nifda)djMKnr0>BZ=8g2FGyJUiZ>En$iTdGK -z*{k#U>QbFQf4C6QxkPe|X{LMjX-0L}D#__^#&y~++7(PjBthBM9bd|Y)} -z!Sj|=-Zta~SL8c}H>eUTsGi=8Jhp=J>X2ux&3~^S&OEiehMBZZXv4MnJBG7VEmg3r -z;uTg>)-GhFR^_{fGk02BOWNJgIxP8nhBKojALG5@O+KI=ZfQ;af#FQOmfPP*83&;? -zt<66)oH^IR+qg9!o1(+ed)DP28P0U;ptr8er%8~pF4$}ooB)Bv -zHh&O88_}&z`TW_n5!fzrnO%S!-fi9#(Y&`Zv%PcPdiHNDFz+oIK7T;7fMB0PFwcF9_5pKA^5Cb3W@NYl{X&8h -zNC4(Vgb<*qA%p?lytfe6$G=n@9En2|L;ph~nR;P=@^N8*jL(x_>Q#r4WvJzsLdH-GhPQP}Un>zmNzWJ7S`FBtH^B3A*=r4-)OZ}M`3lel;LVqIM -zUnZK*_ZQoy&Qa2IjSvO&5z0tL`fq!eX+!-pScI~f?`nTKOTJ1;TckfeG!NI<{&&-R -zK^A_OU*qe4``gOTuZnz_kX-47Xe?b9%5PxYwf!H=Vzo2duOOPno7Z%VV6G0SZS39=7){$n% -zPL#LR@bd1O0@o-Or3BL$37$m-LZ+>U4bZ9uP?y0yaL=tC#Y=& -zv}+QR9mN-jn!{coiV?uQr9fRQm`G&iE!@54j>?vf!i-|PmdwHZvZogTM}e-G#T?wd -zrya9r7vpy&b>yCYd%@gd=6~7__tbR-f=ni#n!|VStBdhCZ9N=BK~sH!l}u2Y8Fx@b -z!aE@CE$P`1D3XYX9T^IoZ?0;7XUO;oTK**LW -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 -z(?#?Mh+GS#1|Gt!r(ZsbjQJy?=HuCJq -z^CgBcMf4uQ5FeJQ2;CpH?R^%BV|X6G(FD47A4B+X7@bx>Kp2F%c}CTq_c1Xarzhs) -zVc1}M-~aKO5@N>uJmpCg(WH10OKRBZ_nF}-VgaZDFJOO)jtb%Tvl7pT;f;SSHF=6F -z?=y$Gh$8V~7}MY`Ux-pt9IEgOxF9p;DR08OV`>r12c{O?dY|bi!D2w7vIsx@pZNi< -z=hqa8itwVMSsyTKO%dMwyYvI4WqA=(MwS)fQ&2>u&jiszR3?$7F(VybQG|yn*5{=! -zqOSS?*GX!NEFUn_$|CHuh)jQ53%6>Eu-Dy~r?8?;$EqT{2V+&y`VW|KRS|y~DaBme -zhD?LC$ngO)tfgu$4r>v%0bBAEK4e=QMaMp1YDW>SMqGtPyQ}Eh2kA3}oxESSKfoI# -zT}9Z~s&^N~K42b7$i%E&c}iCv-wQnc0GE?JMf?e3Pf?OO@1_{~8VG+8AVpw?eFS|2 -z`V!esqM9l&|2`h2B_C#ajuf#h<1s=Ak^@o#QuruA?Stgw&L7BA)P9Ip^q(kN^&zvL -zpe~EDgXps5LmW2wi4{1}vqv?Ok!xP^JVcUGE=+KAEcM)R`_%Bfj89R1;=@YJ}O;b#mEzqv+g+EF3|A^rT=mz<8@jkY}*V -zd98cgi)h7h8}?0{(OaOC(|@bzDs|>IRgtl1Uh8f;g(~_43WR?i()>(5EPDPSvpyuh -zGFdbX3kgYXlyj8X?Gp?A0p% -z;>?}Dr(@39BXD_q1m0yA*OTl8QfY-@4#}Z;1j~GCAPGAf{Rq6Z!Kz}O-}9eaA}QOd -zQbdu|tsQae_bjmnMu8xK`sJj4Jw?B?8%CgC)(s;Bx%_`Mw`!k?rT-}w{U5AO^&>=u -zb^8dW@NFBBrHDC4)chaGQ9nY);&tSJZaX@%m81xu-9|72UdoUH&Jm)d*+E4j+eYwL -zUHk#>pT9eTzkmMj2ppu({{s%s;v*LPfev`@QPCJ+2AqJH8C5M&-6X#@{{e4)e>Q?Y -zNcViimOp>+cXdZn2>CO#L6A((M*MK+?-VS@4gYrf4=iN(H_YKB_#S;+JrZxh@^@ES -z{)nsHRs1XFuBwr1{>ao-Bk}&wliigpcP(;b>0Dj)$aQ~Ymg>rOp3Ehhw+76QSGOYVyv=&biKe -zBe#G4mz27NZ@b?hn4d -zT2@h{R#B9{<^vHa%EwscT6FB8hZR3cjyq(@&WR{98uWcl{z$3HOCRZ<6* -z?;xlJ!~j<4TmT=S3gFyN6?<#s1oW2HW3q?KS)#5mD;+=UDGCK#kP&< -zRxhi>(QV}bL&+FS3qBU}g_D2HP*;Qr!X4e{oVZ9%u)cwo;v^O!aWOwKz)*WpE^#?& -zPsy3!FXf*eU~pWL^S+;fCVDBqZh)cclI(*m+y|JhyLd^rkslfoi@U)PR1KqG2rub2 -z`a^?%iJaNnCS8|y8}p&TytEq~iIg2!@+lt<%XZhuWhk$a%Mc^VvetigoBpBj9>W~v -zC%UDQcU^KG@Z*%H@|?^QIVbaY&QqSi`EI8^6jd=yDSibth^xqRmAuUf>FrEN?;ufD -zIMMCKhr)E53a_6sL{5<{C&ad525QexIgfLK$Y{3^1T5VZW8E;4N{17;Ms&A*WGEfn -zU2kw&yVFU*iYdKQHe!EDZ}VJrR^hqbD?TzrN-)baX+&^tcP#WI)U-{`a=oCt-02r! -z_F=Qc>IL0*eq@M}EaD!x3n!+|-SZLcKVCU)xpkRrn2#u{YFYRFABo@!R9)|aoK5_I -zI-B@`?w39?_zqzD>3x_Wyauyi6BztR`uBFH%S&ZWn@lA`$tr(oLwo5Bs=;!sJLV-m -zChI9ZCL0$%CMWbhDjO%!5vH0w;qJ7vp6NdLV_~oBt{8krkVL;qV+1!823XcCx*t`Xbs9sipO2%SJ$2FJ~_M)uBbx~GQMU+){v0&XN!gr~F -z_RrJ_ZRL)$m0V2;>FP*G*Fd5mHLK)S!S+uK)i*G)aRT!a-z4zdqwu|W13i>iq{H`eIlx^QK6CR -zl+AHN&aip~Q;${+d*pbSW0(){GSp%e=7|efo*n(E2o8N# -zhLQUeFGz+xOIK4FgCEH>KVq!GY;1K4<)mJ=MRHOv_o8PHeJZT;FoW29Om8<2Q{K5T -zVb*-iceQ^IGh{&*MA8p~cfqsNt0@;B(R}VW>mPWvJ^i`a{}A5k&mqtTfprGv*GU=s -z=pC;^@G>uZ?(jc^4|5Pz0qVTZ$xrgg%Zy2F%6C3D!`+IHq6}|Qk7J(+ -zdl9C#&<7ti-hi@hMvug2!Z))A0#o%sU@A;tGNT8|u6{Ig6lNN6t?GduD__;a_PGeG -z?4dKJHM{w!BA(+XjL*rRHt;&X46eZB8O7HyHAyrMbf4{^7#$~j2%|00LvM6m=+VR& -zsH1;m^lXnUpBsGFd!&d!q6h9k&Qd!9@g8(MzKMxN09Cg!L&!zU6><&Ji9jkpfjK*_ -zV4jgnkN|#4idq;Pr!f`D8BEM_7CFul#9;87deT)2;NE8T$1=x1ru>IM^1ljWa2`Do -zoh4_yu+PSf7v8Bo6=QHr&lIC`VNbfv@nC=2ixmXnsRWi8NS5|&WOO@v>W#%dN>)$o -zdGT{Y-Rz!U+&iWJ+Q*DOSW0SpuKA}h@9l~3B%2=lU(;dL!pV2J -zXUeeb#HF4G|0!(es1@-TwI_V3CuRsm>mdaomB1PzNmP?0;*k93dSZv!q0TmP3I#^5 -z^gKoJ^>w#ty_8%h$$W#L7GO{G -zjQ>;A4(^3lE47c|&Q}5 -z`IuW`0j9E8h>0%T1lC2pJYR@P%0q{{UWzDQilqgF=k`hyRu4(`IRwtxnC*cKh7vC& -zt;?~DVqW_@hn3q{O4q4grZ0bmErQ8K#Mm$Kh4Q&xwFbQjoOJKMSD|0K*W -z5s&to{G}+3N>~5?WEt}+Aq>R7LtUkdZ(UWmevrN0iifpwPXg-6OU5?z0$-uS+(H$IXe -zhyomDf(Rfqq_?g<+5h7*cu+~HrT1d0WN2?)Jt1oTx8D*tIfwUN`lYC|^u{tA`Hhno -z9(5ynFZ)sihf9wWzwuZO5A(?0E4~yCYj3QrGj}~oWiO8Gy^?xyq|ANpH@R2A!#}F` -z>MuoH^|M13CS_jS1*oyf8f@^#0jTV3Jkza|} -z+TL_8T1MXPvfgx5T~A3Dzz3)T)UAhgEiH~xZ+?e6f#!tbMNxmz>fVacda(DhuSD_w -z-ijy>QI6tjOsY_g#sFMLY0WBWo({e#@!e>Biu>-fO-Rfm4{?;TUFaAP}}N -zrd&9Uc|6Wx3XgNxP$IqY%w#yi=!cf{8S%ApJ=G0Tj -ze5QkOFEZQr$js)wYUaJj9NXFF0A=2bAo{xq0)QC6zq^k}RZ`A($c%Qldkj5+a%w|z -zaZE@0M7|cGBdGEyf$eY~1Yf?4Dlfp#c|!U*Pog5%@jkJyg_mUEJ1!UODjctMFkXkR -ztxmQrTql3qW;-jhoa%GyYf*9*Sxyl+PosgSF@=KuW{1oF*xWcgZ&*Hn=ao$U=nn!F}<>YDkVPd;K?f -zSUalkhHpf06vEVx?5m`v=zqzfRXQ|>pC$<7R+N8MI!=~WHxBXEi^uidPHh-Zd7@(o -zN&tZ|2)eH9LZQwHeRor(MWik*>Pvm4ABnj3)hMZCqAaO;B1*DN>|67Vh)%?m0S+t@ -zpx7ZxI)Rd6Q~REz=1nEFb*e0B97?J~Ns(e%l4Ckbsx0n%{u|*TSvW~As;3der}d>f -z3H^Wg9NN<^e}m0_W?yBjDa}5!@0D+a&DB>Cp&95IKq(+4WoAyME63x8`%d~+_*RmSxfGSGL_em?$}vv;cHlsLysYoEZ-sSDUwnc>5L`nwi+b~N2M8-J&b=WsctpPHe`t(?YsS3;W&oY9qEg$4_Rsn -zMJ&`;pK?$Ag*;zC#u7DL`EIm3enPg}e-a%NKMu4@bW60I=&MZ3E|+q(^odHeL})of -z$NTR8)({N$O*Irp`qJSh+?TFH!hID(36*N7B%s3-qWovf|L*^D>K*!b-?IN-=l_2Y -zUntd=V?6O4jw==YPJSoc75!*)1B5pbSOMXRez*@=lVhxdqjPh=v)_sG&4}n9Aaep> -z4ZtV8EJwKjpU~ER7rzt!Eo2D+OcJ(YCV;KbA#*WwmLTH#Z|$c`O-)&wbN5^G8{f(3 -zfc@xla7RD752+-nq^e(v(Y&YM&F_CiVn@Fe;X+o&_I?;rP@cm_{K4Pj6ZHfAQjMOP -ze&+8*`~X_Gw;yIWB(Ux6M>oL-`r#lPKy}06A34--#P`B^m|VTJ{qU{^(*)GOD|I`( -z7Q@SbrQee8MeGV@54cKD0x5hMlM`GeSEbRhoUwFSC1T&pz%czA8qKr&U;ckyL}nsl -zxC>#*o&9MoQ_^6bfg~URu)-QEMlknj{Sgon;l-VZEIy0CHod{Ir_<_Ppx()|_v_x(UClrl#v5IsL2quifH40+Rj8Q0vo -zzdv@gn>k7yw1ETt&;B4h2he|n{bzIZQr2K;_~7_*}_`z~AF!aP-r%9kU>ZsY -zw;ZxeTjA~>MYRpZ>HQs*19BYV -zsaRh!w=n*ru5ykvhRA<-?ML|_Ng8YC7T)+#7n_S9>dKLhxPD2<;Og@WZ~mxry9!)3J3i}mo0^KZ@CnOrk+A1c^e|3 -zhgKJk`H2p@)YOty2>T9jt-ceXUYtdM{K@bvU0dkZV_qrOQe-4U_24#`8+X|Ho=jOt>KhYrwYa#7sM`a1J+jbQ$rABTqq(ck9 -zM2GyZ_My~3sIdAc;XQ~F0Fi@e#bH!(2pe*Uz;qZ{#7tVl -z#}V8;Hn!=B#=h} -zX(iei>&DTPHiXC|U~N&;bj9p!da1E6O>RodLZI_OiWMR7`vj88Nix)uBwQ1kD*9?C -zNv0`Hh2BXZY5@uO*{EE7$y7>40FL6OxE^SV>j8pNBr5?CfN6SD3}ab(=T+Dep^RvP -zhn3TtiVT1E^rj=5h~gPdb>y>>FW7C_;}NMoGOKA(6Jei?(q@x`PHfWN+bnA$yzZtL -z`F<(2(Tw}ebm={)S!!DCz-BY=7qzBlLLVB`j2di0knn-c6k#4L#~G> -z9ktiFI#Usq>oWDi1F3E$LHTMd!+Ny091(wLeF&QisNRT{Z$irfen1>xuR!QmKsg{( -zL8ZiknK=ASPsfVbi@2BJvaEd%3RfAT9U?ZS8B#f*n37FW8m~^z@}+AZl{V6ZE7C4J -zE%e0}I3Jyp@pkLZWi?hx&t%0~h~g+BG6KR8ln#gkYN4}UK(xwJNCM0k5pxmX1yp|m -zA^`Ix7yw>C<)th|m|}?1*`yND7A=UaXt|a(tfi>Dk|lJ}D=7CWAdWbYF-QOp3;`G- -z01K=o*U&IP94^%W$7O`p1XKg;$QFkbx`xo9>ATX6Q(9s_y^%Gwr7+7lkSM`_9g!pf -zwSYLlegh##0UmDSJHP{|0z?6pjfiasur5PIfDn@2O$f+Hps%fHo}#M` -zAj;up(mA)l1rP@Ww>HPez$g!352E#eT7YvKssxk+A`+HSQI*S^>zbrBotE+Ie%Fqm -zXr#3qKs-tJ@#b_kaqkC~OSFF;0M<%5Ced}Exn8N=*ZfE;5jl9Bq!!cvu*K4-f&wk70Sku%2$NOI6aw-lMxa -zJHe)haZ59*1+}PZRExmFy1G$_h&K{(@CbCpkb+|nW)EN*i;#a~Ti|~>udEHOTyC{k -z+eTk^i_}W}WeqaC4V2pmVdowt!;#rWw;I?^XBmZXYNK1>JKa|JPM5%9gAU-gwZgG~ -z;eCpF(pubJ?l9R)+6x0hoE*qZMyo<#16Vj -zs3WAVU;m!TjhYC}p9g;-cKm_XLa}Wjs9Hx5Ti-fWiEbdtTTWoz*xLKJzGQW4%#hX^ -zlNS(#{H^u+$i~*RCu|~!0|FHUb>)y?a8jumdcCXB1G5^b!G<`#sLByU0`i?}Egw3Z -zYprCsPqo%()Shj9`f)ncwN`}lJfaL;XpKOIt#Q?FL6{oPco~0MCNN$GuPHMqGodw= -zr~zk6+Rl1XXPeVj=t>D1c@aJ)M3M-Uv{kaQUT_-e%5bXjKSr+pUsDhKYEO9yEG;2ZkM8%#*!}J -zCx`>0>&R*uN7;WoYiv}MYd(r!0zU#>lt5qXCYSOtqziwIX_qP@W83NVj`d^+5s2~) -z2zz5kZR61vO6sdOBKFNhf?9yHg1`?5155$v0A4_4pq-)*Zl-MUi6{V)eJI+pg$$mp -zD0vc=ZE`z=l}7sjuE}Vhs~z5OQ2XN0g-T%9hR)eW%jVinP*REZ0U`j?PW0NmcEaG; -z*-p`w@1}oJN_N9K4|QPiqexn-+97P{W~1CRrXcW-H`;FM)1vM?nh|X$ueclAvWFlX -zjivIDUpfg_)?|Z{`5_)nC$P50cy33q$oz(p6JZ -zSoV^xcq>79fDCasCrHv&)ga)>L6Yp0Ll;NVafqZ+B+Ds>!FLGZP__`bs@f~Mx?0j% -zw-Z$Eh963{p#U$yg95^o!;sjFq7IYfL<@o>i70`t?g)XCmdxOyQbdI65WXrj_aGHt -za*ltXmI`fT+SeZUU*ud3DM8T4UX6OIQNVeGYXMXOf>G29D84}81;ndifMnW+iUJ7c -zauLe`Fa=Qnq)I>-kdP7<)qaVf1mFiG0QMMS!0d+sk`GV?hyW4*+hr6F@Bu0T5rF9m -z3LwzAC0r#)#IaKL1Fm6}LGoWGh}{4r(4Bv`2uyOl-6n_tiVqN2O&x?T0H_^EPzRl9 -zPzMByB!~?r@R$jzh7d%4=^zZ|UFdOIDTb0DR`<{jN+YiY1q>rd0IG*~z#w0eyd#ho -z5CgcZ1dfpeen5yom`4$~LWqddAV&L(qciU1_dGJOv#?hokQE@dn;-(ov6r97r}TBZx^#V1eWVc=tY{OVJ5elRGzj>vDy4)}wTzn11?xKBO-}c%9g$_Dj2p_(lZv -z*@TYWgnp?Y@Byljj6$+v8!riO45j%@=>Qdufr&0kOT(Z8^D>=Znw@>9(pV;_vUs*HuS5 -zAbc%4E-Gu;iUN+ImQcJyIA7SWN%gj-aw*M-1rs*q4CyA!19LFz*p8-(rCXY1aE?C1 -zW6l}YO&1uPLrXLWA!N)sSeVMD#*xTo8j>@rn{W=v!OimCrrHl)x{0VYhx&grt+uH= -zA>5mAhHl~Slk4@MO0e| -z5OL?|QuX&GlCgcpAgYY3OqPF8sZw28PJN|rb&kEeaIU6I{xxW}kDwZo50bSkN6|+q -zsW{{}`#LNmpmrUCCL@1t>_L2y;H-{& -zpAp_!h=P)0dO+C+rDt}>>Sy%k*@!SQ8v#6Kchse%>Ps@^_CE+gL8|IxG!WBSNzSt! -zQRncuDEANi~drYAG{RjQ3pe(RZzh@ach_AFgh -zQ-1GhL}~#<3GS(P-Jzlj|oZyjbK425Og<7tX>)8q9N@6N~Rx^ovnZQ0|B -z;@kE3?B_&y)#J2lu74b_j1eDX14%I-q>Yc`2K;eFl$232zKOtJ@i;Ch9>=ZC<9gv+ -zOIFM7$8~89vo>ex_<4gmJ)Ukb0#}5`Jwcbhb^`Bs1fD2*LZpAi$38)qa76^w6A(+n -z@kE+p8~p@=xgx5>7y{EovIb`$hwBN0;+g-1rH81qK7k-6Po(H#X2fq8fp891#A*Pz -zMuf}Km;+}(01yV4N(elFlCg+QApuFpJXq&H -zfxtaapkqh2FnWJ6usLpjif(3$o?2EY?Bg-yS&V97%U%Ifo#Uy}LSdPR@xQuVg?NcM -z^C?<57e*%Q=eE$P$ACC|qYIz9Rwx{co}#@35CK>`a!hiWI+}PGhW7gWPYwTrsP#XE -zEqWBj6ql4!13c@W5*g7APmTVA2$VmSBCH!Q@^-^hy83@Ysc7+^zNMIq(h{4Va{fVh -zDlm4pLe@37rL>O0$XV-wr^Y@n+y|s#xN4XJL+z2Lran*ig6atGmbz(B79V}8_<7+w -zim|~*VbMEV8h5~ATJdz{^TM^_Y22)1NGc${;%N*rnAtKzWL(E+TyvQmjq50TI`O>l -zlwsUv+0%dcLU3+NO|$J7sv53%di)E*8o&TgKrA4Km{z>JIop3h4uri*c}~BK(Z7kO -z&%A61-*_64juNodyH2)Y7}XiJbQ=DOa1852o5oO#0tMJDoe)NrpmZ3Nb;D~9etvcWfwqyx#Sk)3q9 -zbY1x?>CU1~B0XU5Br@y9VZzKMiUbmlb-NmCsbNwK!dbYm!-`+O&KdGLIv -zg|C0E%XXaWMAwl7w0YZFW%}WfxYB8zW{jRPrd8$^IgIbR%o)DkDM&f3*C?mwnjBMj -z@YT)P*4v%L=IoN&op8dP*a{Pg*S#ug2X__*JApnvSdK{>{hB;!byke#iJfh)3GYM< -z-%{qbqU#ilo2#ANdE#s9vVD^=_H42o+Estr${0Z|r?2y=*Fb#}ilDtDoIyU;PZm9M9Jt2&GHaFrZ%ww>y-9F=`@g8Jqn -z#+sEzJ70QzU3T<5^^GG6TfLKHy9}H4Qs*nLzf>LVES|Mq=!`3A3>kz}0*DaMsyx>! -zbI}`k9dy03yy3szdGQuZ! -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 -zZxs@@TdqAT%07AmDes<{T=+iktoqSL+w2mPJ -zN;h9yuHmoEpX_{gI}e$fk-h_*h2M0oxYc3xuKK!b{H@)f9AT~T!E@e)H@ZHtK1^Vz -z$b_;vDE;I?H5Q2EKEfPNGiP3MeC_mjwPHPgkGn!n>F1}L&`q_&(J(~jYkF27PW;y` -zy%t-WwfOueET5w6eYJ34@qzn|cQXP?1^)^?zm^jucadqB;~9#qPm^D_5k(44@dV~9 -z{AaOs!1mVMxc$UGP)+>ht9oZSo(jA<*~_NJ{+ex*=Q5WU`)dv<&QF}5*u6MH*h*RV -zFt{pw)xNhip1@|vW(ewL>juTK#ewLc=kZ{+G9EbFf$ZYVUh{Y`2w)sP;9c}i9DKA~ -z>A76_UU>ZHxx|ckc{T)(0Uztu$Nn9S0&SW0rp6bt0qk)0D1j}_UTzT%5nd62i|iI` -zSJ(tWxoo*0tE=k0TriHO9A{Wr0>b0@;zN2(u5w-ToaGmzS%`;m)OT<@`0+Ith`IC1 -zeGz^t{YK{h8UToK{MUlZ90qJdoVb&h-=x2jX-iC=J|^a&_~^xs_&ZwiMTE>q(EtC_ -zEa0G3<4w(@T~d6?QSM91POB@&Eiqr-S^u1xs$SFF<=Z8%5+`(iiSJtOTJ9AcD#eA; -zlW=k_f2yXc%^c@$udJ=CwO0VO_{N$G*9`Z86M4)j(OtimwwNzQNef4KN*St$s(WrL -zh)Li*(~eonh@lG{O7DSJnBmo+$HS{&L!Xcv*>|wYcF~_JPJjAf&0Vu%Dw9< -zw`!g3K3|Cb)f8l59*gMlGoNwIJ6{Mx+OC~qnv!a^3g%ASY_g|bCj-iX=BMu7`ZdfB -zbi@}h+rc`n6F1^C=^T-E={?^{GyH}xtnU6h*KPa5Dr>*>(FJaax3Z2YpuOg}NuCPO -zI7l=;hK-Mn%)ZHSne#Hc2%E`O&#QvH^!TcHpLia&qIjjNp}k4*XW|Ru?c)7=jpI{5 -z4WIzF0MG_oD#)D89OT-oaaF7Ha_>oy%LBr}#XbsIm -zKQpn^wr{LvvANb=;6BvqEeRx~$J?BFc4^E`?$_seDW3ZF!r#5>Q|AE=6{KA$y{n>t75BS_u)8m>R-*8*c-PaQak`H -z<7|HPN0~fMNjBa1>LUa3qn##T;HAs+c8+l0eDSV1B^HO#RmrwlrEz&>|QXVkr}#F5XsNZ3{vEWc32A}xxanU0T -zZ+%Q*IQXQ%!wy(fnTe~qU4SeueHSwdA%8^Ie0*HqOE`tpnTe3+V#?o -zx(92#uQEtqyhLvykPN0f^V)#jq@`CGTATR=r?>DfyY8|^EWaOZ&7mh*dm2*wFz_4A -z4FxpU^)#JApgYk;0N}-VKGV1U$Dr<|PD`K;>0w)`Ob<%WJNE8WAiS1pND4)%ssp_} -zOu4q^#upGH3~fm(?p^lVCXaI20bhrVOnVH()b7>2j+4O!CeUZg)vt2ABUH^)Jl)!u -z&kr`vEmS*@<7`4OA_JW^uR|md*}kVQEbC*cQ*ig|o6auO0NDbqv39m&_dh*MyoA+} -zsR7)thloRAIElmXvfj0r>l#Fi7{#`Y*=vwIGiv0`3Qsm3@~cm&4;G2*--G^oi{CJr -zO9@xiL=3h8rPWQYDFP3~mxg3YiD_Y -zwUJQxl@DtW~M2`ndMPOXI9h -zx_LOFDm?KP_XCZcdw0y0WU+%NH+2EevhO`oe=X}V!?Ae*!Of{n)-Y)gXii5;Dp}Be -z=fQ?x8+}My@ncdrFO0)q-z2sme5&Xhs-od%eZ`!|nIKbCHw^2};2}AT0k+rS&%&YU -zo0pOHFNw~CIen+!pXJ6pDXIg~Ei`azZqIw4I)mJRo|)kdcfmFOCt=moOg)le=sjo_ -zWmxxdS!3Pxv6S-kw7_7i#iy#Ii_V9Wg+|qLN^es3)*UO=)jC{LUVTvWjcN*@|c_0i6gNGNGFW=zj(-^<$u1(9Rcfvu)9LGqy`9Uq;Ro$Zp?yrMEVzA?UO4tt@pRC6 -z(kXl#%2x}Z5MAn5A7~Ji?E<>b$hQ}}*2g3r7#ARZO|w?{M_$5(9WdR2*zCAXmz_6_ -zGpFuPC3hfCg%|O@bgRNr>zV#9U;E;6a9RtTIfcz};-L+4Owq${x^C|)!<3s@dA<`4 -zSQO%ekwHCt2dWZPTqK}Y?pRxp?@+s-h@HW%0T2k&Yjgen+KM?%{;+$=@(@~^ZQ3mD -zB|ofqg~^XULE^)6BM%%0TX5>j!IO>$Uw%HHP;EiSAb%}oIQt@V2;+U{t-Y|{P-{hz -zn&lonqa~l6m$B;LE@$O6%fFcpWTDm~$SLY#)Srj*c9R>jMqfKgVx@u4Yr8T#gh)gH -z#tU=vVmx~Onymjfpeck!d%vE7!jufh*M!?Eg-?$B(CE#8kc8fZWrOCV6q!C=!Jd1{a9 -zn(M?rBX_1WETvVTF*|}pdOKWEylg#UJ{_qXdVzEjpNdjgJ1Bvx6ty>)Kyx;@#O71$ -zV^S%aZGRqYj&%&8v{hNg?*vH*&%O2=uKXg@k)gRwUc29w3pt9p^dhol^8`sbz2Ogc -zPtSbTuRR|MfF9tOW@xsiL$s*}+UE=V2HOHqDKJ(i7m&2S(~g9yu=FiR6BzUNkU|>d -zLcBX>lO+eJj*&UK0q;kOP#Zcsp`m{n_0&2O^3k;(Z>bT3l#WEo+0YV7k7X>}d-JRF -z5KW3y$TF4kYO3xko(t$$XzpyAoKP6kt&e&h2-U$0!>|o^G9BIQK2UoR4&Y=6_kTSm -zG~9y46VkN&C%B>{)d^}~;l+T&1Hnl?@3OD(yp9qITWB8X)u_Pg<_wCUfd8LzkI@uJ -zSMf(tyf7pzQcc>o=c8jo9pg+Vb~-1|sbwzVU`06=48OV24i2=TZfH#c-+^eswUkz< -zSm8%llonFRDQ7BJUn?Zt#HcYln`}U^e6+jQCbw)NCTis9l)EDQpU_^o1HY``}a->X$Zx+$72<(nPYeB)Bx#$U= -zR)ZY6FXw&3g(8_u`&wX1{)?-4@b>g37~!)O2cbF>Pk9nFEH7k()N; -zx*qFIYa_Rq0^IdUX8wU;I!%|r6ebx#(gXFsfQ_^=Ps8`~i#Wg*OWxXXSv3WoH;P-jz+Q-*G1(xWzY1h9| -zd;9SCk0G~5xN@zXTj>Tx$cr^L$mBpSx^@eLjdT-#_&FB-;Xd-81x>yHEXPP(2BzeQ -zn#oggg&Zy2+6w3&LsA9E%Zx0J&yO+tEk*;-LM>=kP$*`zq)uGoUVy;K$R9%xv5rg= -zDCMm58Y@>upI5nn#|$viw!-r};HnhWAsMT&?}YTe|B?A8X?V#1XIqcBUay~*r+DxM -zAjz8 -zYyM|NY`F;ly(8NW9+?uUU$dqOPj*LMc0}8sFLns}jVo`=7H&ZhKXgiIe+1IM6Y5P^ -zIzN%I{rO6044&qByIk0TdE$9ALaKc&N6mn;z@ih3KPbW`s)pjS!=d -z2PvYe|5N62;tQU~xS#&zU*Ty1PA|yK5=LbP+GU=)P}K7dfGLlJ$t^*X@8ySN3jAR -zsa_ffNd#YnLc$bbWXW>)fq^?P^0_!DDP-qYygu+g4>x73tcH9x^ -zZ4*V+!6Mbmy?T0MlRCB?7kpq{>WDs?5X;vW`BIEtMk%kgsg*zMLCyUuS*2dw&Q%g_ -zR-)!W*jk^*y_%7KPAB|q%8P4Lm-e;NMWf%tFq#BS1k@E!_GMFVLKw8Ir%I@TDym77Iq*NjbdD7+1vf{g6bS(X9!99EdhKi4Yr1*#5H1nB -zXwU}HYA3h*m;=sWV3PivB8w*$1+43@Jr0>UtLj00UH2IC7Gr_vejWA#N|?45CXh~T -z%LX&5iaU5%z`?DRsJe~YMxL=pmJa9%Q$H?{A5fyAh&GkN7A( -zp85soUyt0JZJOA|R^+e68dfThGv*fch><8sSouS!V=mbWK}!lxdSUvpJjo$*W2f`M -z=Jmgp{&ikP{gg&$Ye1!L)1+lCO&o5$uo%-RJ`9b19e`DLDyr60?S88=Wug+qv-SjL -z-9jJd+l#|lHZJ8~^+ftIq4nZdX_{*$YF$N&)4t$s(McDd -zz_8qMOYFTu^2_4bh6vkH4tl9}&-XU#BFmDgXxo4%CkY=P13RZ%i5hJIG7IQV&w9c3 -z90qyrFHtL~##_hN$!U@)913PB0@JHa&DtX(R2SJH!Bp-^mNObQDs+gX+U?kEj&A3IIzwe2yq%E3#~CzARy8q#(~T& -zx{2o_B0sL`RE$IWD+mt@E`M;{@VxN(c_WCfVVk=$xl47aeJ~kXGu+0M(dx)>y?q}* -zQWELhf|)+^Hzr4?4pcocXYl=E<-GM>-{!uQjbu*RVt#d$b(XL?0=@SO?sh_emCtH2 -zy{XWj_$hk$kkArWWYS&`?zDD+8YX~DnTdFHpn=?5lP8I-*6p>qLtA=QCvp$C3b1Dz -z|ByhtOfM`eU_l#X((NaMg2}}NK>l7X^5a`*OWcnjo;e`0+dfc%bY+(fMCV_+debT}f+$0ak( -zs}%hNhj@%5LuG-HWhmMk_R`c3r{9ySwWDM?pLzxGPM&2P!Kkzt_06qIeMU`^&m&i& -zGJQlhZRm#|v25vBUolFIW!bfLeKXI=dpuRq^WUI!;RjnVG?TOH@9J2iDIbeu6@E$#YZJBbjk? -z)&r76TMSp6{o!7h^&U_Z$9)0|8KjD?Z84ad`_u#ga)jmkcxf&Jr_HdC%_}LmZ_aL_ -zYaHu{Ocsy1l>FEwQ`>*LZu_%!i&RL02_wk_YAFj;WFy9hs*)cY$~v|?*rHdlL*g@$ -z!l5wAvDWch%W~)RGo0zDOkdT;=kZ3;Z -zD0GIkzaZ3Yll{=ovRyYk= -zPfMkfV)8+{<>?z93wAB!co})DsYKGs7RbQ*Y>utkc9gzPX7DGIj7qx -z*old!5~3@9JA+ZLX*-*5mmK?Jzt7#O%0|cV>rw*mfx0tG;mW(v>ULp+>rI%eo1Vi8 -zIOiSike^p=n=WuzcDue|N;!TH8>C7U|0A9i$eD+K!S0HMgsiuCiVxwUmK{`WC)rgs -zo4oLpG+?P&x}tpeOQo6chgj(lSB=fKIlpMx3D!r;MRLT9FmW#fa0u?reyrvdWlsxq -z=<6PopWd+FA%FD>Pia-*6-z>hQP9uaVA%4m_IPO8ZG+&_zE5!$x$4g{e8C#?Q^kAo -zgq+l&%7wX%ZcO_;x*J0_U0$eC2Hv#iZ?`am02{weBe~JHT~C!3ZXGdw=)c-(J!Ny&orhx4S$#cKX*G+EB?aoLA4_^>BZr0w -z3%o1yJU(j7P%k6L0oZT%O4ZD`MS%nC7_8q5+c!7Jrwx%42t>dz=dnQ;S+}bDsNU)pXu>W_dHJ*sCu{wEEXPW^)Hw9` -zvC!9Lx)t5lruvph644xH|DF8`b?P{vzIV%~Gb+P(OyDch>yX!?knkhp5N;L3^(7;? -zVZFSY0uR6FI6AFY9la6qIxyn3(duQF&vkK_$UW(h9Y|#gxJh*Q#7^`MNFy~i6N2De -zTcNK69lkT5>L;!Qg4TI)Lu`Tii{8797g*wU!A&N0*sMh=FXk?5;>p_PnP$N0Y`aa! -z72S0BGkA)#1wN-dR|}`olD`f~ek&jvk?d#%iMS#-L71?vP(^bQ2X;LU9dUKIVl2EDIWnv)EzRNQgZcF^~dqvG4=Tnt#hY-+2 -zPG8K5p+%1c)B-v>?be6Tjf?W4hKE+WFYWOMlDU71<8kSgI$B@oV!KKfZl~v53z12q -z22HX-7jhj7V``-33bTS*)9yYstZu(DO0c&eRw2;C;N+Ff_i5OmUs<_mSMJQmP2{Il -z)@;?GdSY-d;B;mv91QU7T3QrRNf`u9@{bsP6d~;S1YBF!aw_97qP?qhnJDT#**>Qe -z@GWfWr@>gRZ<ozHNDMLH$aF^K(Xrn -zX*J~*=)T>XR)--L*xu>WTcTCV8S13yB)<^g$2JXUc;Q#B*;aDsv?{iWtr4#ww+04O -z%uR(Z)4vI1l-WX-97n5LvSNqs;u9Qo9Ke4<~bV&o{h``GBx+~#vo)7G}UM+9UKea9?T?Yvzut* -zPiZ8;6D(wi;#epe_0d^$2}AVt4vhvx5BLf4(4$pTEotd#H5`#Y^{?(9)ABR!%`PcB -zJu9V?y1?~zgMiuI#Ys8by;$z{Bj)TUI&I@<^$OuS2L0acVHtTyBgFO*)$onmzYRG7 -zb<54qyT!fqUd}Q>>qiLg+?Z1jf3(Vf!oL5Kd^liK68jvojM364*ci~}58`D2On29x -zJL$z>7~$;9hQ$K-N-O>F%CukfsR=^XHqHg7iF<-G+u;cjp7DFfs<~ycqr{T_B4>-9 -z>rg9(nUpL~%C9} -z{l+EXTD^=YtV+-b`F8Thbijg|N=sSSe?C~J06)VeyA6QoPXAct1R^~TPaf)e{XFez -zZsAvMFEkO6%gi$TI}maN*ZI&sS0^`h$Rb3PqCyevD5#euXS-C1@t-%% -zZ5_I@(^+F|wcy)TJRx8mfb}V~2ypu@3}bZK9#X9)%5^Q9`gV2F0Orq{wCJ%&@QmMU -zKY>g?d~AQD7?tvA|4C~R%%~iC4kBN4t!L=q`W7#ZX$HtcVC(9oYh@C~Wj9^T7c}Pc -z$h~2)(V$H60O@7I`>(ULx()V%zl~(80y->S1ybQykAM -zW4P_Q_`p1`qeV>s9+X<}dmq@B8BJ8jpw?~>duvf!o}aXCWrMr!+P?s=b*mPpMgL2$ -zISX6zT5npBv#+M*g7fO%BK)EI1(JUiQ*kNcF0=p3W^0r{W{F9exvQD0^@6#Pd5>|y -z=wHhDFOdaBgC`%JAM-s285Q$eRns2Fy|iQSnfa=1YK2??ChA}e**!Ni>9BG6F{CU8 -ztr>&T_T%s=o>p(gczV+V&p3>fkNexL -zaA;bYru(Q)cP?erk38rRJu6WbH0tM8z)Sd4xV&27&Dd7*1tB{M{RAe^#S_pThD??H -zPv*!lHW66CmWIhz35@vxa?ldU9QyBexFdBdZVZwHih5o- -z19nu#imwIn9aiBLArAL6X7D`HXH`efiwIynHaQo0OAGX)J|oq -zt_jD~-*UAGK2O9$6d7k1!ZQ=o_~(wsvl0uyWK7GuoM)^YvtZJ$W|$uP3?*-$8}8K} -z8f9^gC|53Dm`%)5916$z>;#P~&;Ih}yrR(A?b`Ydl3^^DotcFkLJw)-bZ}%`5YDxQ -z+~GV(cnwMC@f}Zqow9CO}CsZ=N6Q$f2ZgNXb{_?EWJLCE0`en3bOZQidQrxNI -zrae!ezI}~7quZWnpU4cPX~Su8@&P==7+ogU6C6YBAZfj+PkK34gyuN*tylCSSg3@r -zDk;A*LLBwnjl1aqYohRqNu^U>gv-Mxk(J%~{0xDO4^xtc%Q3DDNgB}g&-4TBqvHC$ -zQ!00Aa^ai5Ir&z$(c7H*9n#BMRs29!JOXcrf`-nNK_H%~)ehV3&gkGQ%%UfHPqC;KBKvyWk -zrfKpHN6yq8XjCfZH`;W%uE;X4IXqSU`>v0k2EN*s{j%0|*es=XV?{o% -z_!TTnsIVriZ5(1Ie95IgtY}<_`BoD1Yn9;>*RZ0B<=Ks_xxdY4rlUAt^$8=~wtr9W -z&Wgw*dwD}4o?$>OYNGezQ*IH^7^iW`4tKT;M>8=ITp(eZAupfhnwbdd(~VHQ`+ -z>fc-mtJKUNqkP>|P349$LYQn5Zaep4-;QU54Yppi&o8&KWu9i&uu#j~_Mjt=ArOG40wLJQ}SB -ze~Wu;T_3r{20QN4U_^)fkia2tqQW^WnZx$m-gO)FjhPp!36YwAQ+tmIxix$uh_U!z -z{kH8ZxFBPc!4FA4(lD|UsbfHQalO_Ne#?zpJH9E=(%op9J-PlPW?%N;+Sd3s@V88W -zUgxm++x-&k7G3?XV6SzrS2JfC8@L)FVZm-*)WekzQnw* -zz~jmlr!xpqrm;sgCEZ*UcioY61`2hC*>{wikH;1tO15}6bki>b5juoWq8V^~mf8aC -zJ-5Tr;xH+F@Ug!9Gefe`&nSU-ScyPZyNi#{BkoP{{K}vd$c%|E2(!-p?SAn~vQjmo -zAgpIF^smv&U7mwAukLuEUv4&l@|v)->KYZ9u}8OSGd>XaqH;{!i$fwVZ{Ys%q^R2* -z3zGe-*=y;}{{<)_HSFgQk5aq*L9M++FT(__7MFx@w^_nbaBov0S=NE04eD1;WS++e -z!5_?6^_JJTOw9x%elYXvWjXH85$mVy{30uUBcUNKgAp@w)N2PAZ^QUMYri0ydR^t4 -zdHc@`yT>-Gsa{?2?b2yH0z>;SPlb%n;g2V -zFcs-%7J^sWbF`1FonGg(ODgR%`_c8aB<0F%jqsUXjx`FOx^M7ulz__3By`!tH4CRrz>8-HIYP__=OTz8@i$#?u7K?Y*HU1V3ZJ -zBRsT|G?gIgehSi!;(>!updc?ubXTWm)(mz|cW6Cmw3^nUyU)iwJhPcu0$DueZAdjPZFM -zz2hC%7vnPf(@!b`dg>+Aj*n?sVIR*m-ni)Ge)6EL-gHZHWzb#5VewvuCsR#)`BN`o -zKPwz7;LnETDZWbHi|97WX7C~a&aj)W%gt2156!Afo7%~kx=Q9(Ct13fQXw4#>sVNC -zm%#iq`1M2`PML!u^7a#56hTsW>llV -zQ?oLs7WUjPJIHVF_}r^qdgqVbY8zpktS^jUPrbB3+6)*6FK%RQNcd;%gCfnqpeOfe -zDl5KQ5$0eH@eVM9qdt+J@_j(Rk+eS?!O?WHO>yfi^=|oUzib%R8Ft|bcB4OII@})dvTYE6o%DvtelCe9sfY+!o3WUY>9UG#-wK7w!dp_2ja6`H~R0Lkc}V+##3 -z?|Y;sZ6FLN@t||}j+6ZRqeN$?*S2_4lOXcvfjRP8ieWS3hN#L;J7 -z2|f!*{Npx6J3*b;sJ4fNw-KPGvx2=oTbG(o!o~c#nzHxOW2ZF6wh0bI-U`EPsH6y= -zT*9BlJsh7qE;(bc|M@s$E2vcP`#~T@ZWI?b+GNGttq4z?IVS=OA5_b%9=hG)0xNimh -z>eMBDy5m8>UF#r9I@h{%?JvmDLfKmsCTql9J@Pv;3IE8tAAFVI!nj!R*lZ*I;8e*_@I=2B&0cE=CjMW+oLR{bHShR1EW -z2YQ2wSZbx{@D18xb11YcS0wPIh*am(-F9b)!RD;5>$B;a2Z|z`li7%2hJ?lJqjGB+KbU{PP7PEq-=6I!z5#4_=`TeNMf7}( -zb9!15bh@*Misf_OEDbTZ?kr2;p;Su<_aSgmeA+*m#SGWS^MRvEkZ7g7ZnXHfFFSb97sMaN=UK -z1cS@nFiOUO&y~|I5%|agIc+}|5YFqK`(&wNf99!!z^$(w9`l`Zs@DJ1wz63(bSvK?HC(xBZs -zXixlEeG4%z({ehSkB!W>+ef|?)D@kdQ>YeHn+2Zq4-LjOX(8bmX*X*~H -zR|MQ;)@p$E!pJ}J{+rVbV!w5w8>d`SP4Vw5=PF4$7|etj4*AR;@7YGsa@P*i?Kp$t -zGS{vPHfS;IBQ>^B$y4Ljf11eI*wH@dYnt7mB#m#}%3Y|#X7=RVdAi`-x@Sh6lNa?` -z4>1<^wgiD>O(%LBi=s>kjBmbRX47uRHW%zMfFc@~KNoOekMUTMb|=qGfIAV>ySSRM -zfslleWx%m1w>{sTg&yt#~y936!c%3e(OvpMpy%anakR(Ev|1 -zSq;q_cq3YCJc!+?x418Q>r6AB1$S|;Q`~aVL;mJ7!Kv-jQ$dkm -zGoM8Y7addKBytP(#r(taR>k|di+wqAoQufO-$!McHpw&|X*SP3o<4WA&{Q$`H(@>F -zH_ZzDb?H||MLyYcdDL2+BpA5jOn`ykGWba;pE;b1*QJ>^JO39XMXoYR#}mv_E=o3r -z<&A&D&MfWQwUpHjaS9>stlX;b62C8UlUMktQO@l5U4jj^lmXukQV4nuy3Jps+~BzGzNfH3%M4K -z6eP4KKo&RLxevfD)Ng$G*ka%&GJcQrCCxDIbgjIvo2)OR{|;(CYB< -zFGVr+srZlX9@Z1sCJw>3P1QZ1v=mo|&_jCv#tU;}l!s8^{m|9z_ZgiA$+49$ASD~x -zVMp3P{~j8ncKGFudz}wF`(mF;I2A}ez1y`okIm#AkK>{Z$lQv<=zpg4r%Z!dYoH -zFL@&z8yU5UD>ugJ?9yD$L0bl^_e`RXz>VBRq5#fd=%TvXku=8b00ejj?RzNWrUz%Z -zCs)WA99?Jsp3vxiXk%UVf@a@ZP>lag(Y%O2qD}dwsPNjk -zKQ2_*5LPz+ -z+^mr9ugc5^O@sTN9L`9UZ@pRvFDl=N7K##Z;4u<+pVd!sJ~qkXv`E49Z&KE6ueQB$ -zk3;w<7dkR%uXYb^e(oCYGfPpBtO-jS-!@adr?*#VOB9g6tdu{hwiuxOM#2FdO_d*T -zp3~ea$za_dX-oX_t@k1SBU0XlQB?O2i%&i}461xpXVZCY<$n^&ykFXWQSt*zS^t;~ -z(jJou*!ket=fc&0Pvu+L=~=EEuWZd9v+caIa;g%U-*~sv%CB9IN(~PHI4w&06F>?aV`J_+2@9~yG$kCa4 -z{L)VGYLi)vqGZMY=qY&yKFEb&q`GmGsQgR*42?65+ZNh72;9%(*P=G$dx;h`j-c=9 -zS?4c-j}P97O6a#>y!6T*v9Aq#KK|QmN@1Q>JRf9K$T)`Hi^Qlt$8uwdkrP?9>vJb;*L!=GU((b*Hg8OeG -z{%|rFu0IW6))7?lwQ`eLQFqZRrX-OFN|a+5kaa^b$SZ{pPM-FGAa_T21}mzbZ^I@=;cxOt#ZZ{ -z%v9}`z222vj&i)zc;`3a_Q3Mjm}4lO)cdhT?4YGYpc9WPZ<>@-OEdq{!Kl}o5 -zYrd90QUA%jyA%92?9I5$UNwS6CUeeq^mxYk^kzPjZrB;TRQhK3dZlf?YyBsz_O44c -zbx8k*RpVAfPWpIeR`t=alm*`C#FT&1KHx_eGUF|`GIIup+Kli3w1fBOhtxK)%WCJGZ6X%np~V2if-OZSglBgA1cLCLG4jsqw%C -zl-Q)X&3oSjtiof85B_Mp_^GiKmm=$9C&9iRb -z+V(xumO8#$93)`qEt%FXF= -zR{0H`L@A7Z2AUfENz}R;Q++pf7%|_I`BZ#Wh>sZIsJf{0f|m;+sf=h{C$@mnI02oz -zLGP^Q8pq`GUE%YM_R1_tLC!)CH{$gFhMchdG~W}rewmwYv&xT8sAO8}zI>r*YSD0s -z06O@+CB>=OcgULx -ze$&0>t`ot}w^Z0keGbhcO7?s3a|3howRQ}xEyX{-YblpEuh0)2&TnME?1TujZ`y1t -zIr8~!^scXnROX7UM=;p-UL=uaU~E;|(@1-zjiai@6lrtnSELO?eydds&RUApXu+uq|32J)7XRuq*uzX;%X<(-CfzKoC` -z*Vtg5)`iHzxAahHx5L5*XrjHi_{`9{Ke<0wy@-gHy3zwNx+kcuwoIPfhdgeLXgS#5 -zc3)NMUf@J_@&h7Ni^^>zafDLgC)P1#N?GG3Ee8P-@lptG1fh7+*YY*eFBJwCvSC4K -z#|dGZE25_yRmSuDw1<>FBx&$u#O#>Gs#KS|;Td?&wLy!cr#|oD9p|-M%b|DRngYRe -zEb(o+Jvv0K^My!21KQG%{Z`q}F(T`NhVH}kn6zEp17LSMtYF38`neyZBp9;#e$4n9 -ztPCYkpIrjW2GE_UeFjnPs#x#2dAEP_8g&Z{wqW{@z)fOJKYm|dwn(harQt@Cddm#2 -z(i92puKYC9xUdXjjj*DuB-xw_10u6fQ-QBW(0hsoWAy)pH}3jZ1@HyrREQtNFe;JA4HgjbvHNoExvhGkK3yn@mu`%${mj{ -zTXv%vxp6T7R{$lbVpZZNY(KpU$DaVRGwd%j+@H3JT0eYF5l74yLfRPzI@mv2MvwSD -zBnsPA9zu6pChR8*qY@JqhDMHKSNOtt0PD;$qoQ$a_|X3Dxn`I1_4?$DR08IfXm9g` -zFM;?QOCu>VE4f%y-L2+_Rrv3}%Rt%se*RvYaSvfPsS)^}Dh%y^gN*@He&!T{4iCZd -zd+9jBZ#S)edF|$3p0x`083YA{L0uE%jq<066pc@Kg85YKG!}|s3oH^+Z -zfoQq -z(s^4f-MOp;Y?g7eUs9&E#{lR;GOyRBeyMHwkb4(o5e@Xap(``glofooSqJC??x@7D -z2LBXksQP=|nM&1SiMcB&vCKP_Q<0$o=bFUMywqxn6>GFuuhxN)Tp4c}aXA(yojum~mQ -z&%)}HKd&24YgZz>Vv!5W@Y^Sc6v9Y%l>ZxXbWwjgju3uoM;&y^yUrAo`20?5;3=Ke -zx4n8Qu>Wz4fq5nnv(SCYZ(trDBipz6%Ltqt80Qn$y)Q}#J`U=j@1Y<`jQ(J|Y4~y>D^(i5AV8lf<|AjyXyT9Zweb^48y>St| -z!@_LCIwwd~hQsOw*ArULJe_LTa-~(A$I!|M-^KOt5FoE{7fgXHPsV_R+|leP|fwAir`(E25v_sa+!;n!LqH -z(t&pXDzNp`S8{zTWjkp*WjlF0Rdm%SFuxT_2*o*zA&l*a?bNL@AAzdY|9kzk(y(_* -zV5!h6*0RE(o;`c&I_sk++eYzPSXzRM_lBLQR%eT9?}y8nZ35&q<~3&jJ;!50?-KOkYBQ=+J0O}q^7+Y#xg9X|4MWarZ3x%bP)7Ba9wv>Q-yIMp^p&Lva+8&Hd -zg@fL54IHmQpIFrrxM8UU8w9879uJu=Ifg)bf_DQav&S@m=08M*y|h%aRH{lDsPI4P -z`YV>YPOqCqAilm+KpwYq8ihx!Fzk3yfYW_M5qdqBV$k&@$niO>bek!?bj^ce{z^l)B?BQx%TZUEp57t+ -ziEp3h&KkDg=bKrnyNSYqJZVkr@TgK8fm){37dH5_uY>#99Wx%YkuU$=INZp^l9P&U -zQRYJHPbjm%X(KBPV(pB#F}GjO6#%cBbpx%O_rzR%sbo4QtEx(DGUx!m@-(8NJ^3NXs -zUmhGdTQN4WQ}^$fTHib-#w@HcB2reN;rZlHfA$AIgncDp+T(5^;bokQ8dyhCYXIrI+I>~#3ztZk?AI{5qof8;71ZF;yrN|=$) -z*XmB3g-~?Iu_!1f%0ei)6D$=-odm9DV~?st*3X}zEcb8`d?Ez5{@;+6wadaAr>K5m -z*JFelVx(HVHl+r93s&vR15iW0 -z2CIa}fia=CdEX(HJBJSKuoZlIE=XKZ;sdf|1WlMN(!wAZBgp_E86R7{GW>yToAN~F -zPL&y=Zr9|H%iOJJ#F>bcp8hNH0^x7%NzE#PFvrt2CBOVLRPNAbU_^1084q0QlTlxz -zFyl4^=ur>`U-W@mD{d*?NkJm3T5i}^2ToK@+jx6WY&r{Qsz8jdn*Z_9>Q&TH8Y1u| -ztgP`F(v79{ZCpztIGX{yociu^XuTW6Y{= -zs`<5ieh&9#z=1kE?LgIsyCu~?=>X+cbO1P(_v4;g(De9)MXbDl6!*u%^_Y7QbpB_7 -zZxv20XnT-hbSn?~h(qlEhTbatW5RCQko*$E-wi}X*=cTi^M@recX~3%JEe)f379|G -z@M@=xD`yPn-G;AISHk@MnLEdsMZdhlR$xltW(z1PTK_B>18lW)F>EJAnd~|P?Y75+ -zjKpmTkd(pv?_Q%ifwvP}R%Z%V@2t)sp5>MPiKu%S5wkzOciLJLWfTtz=r?ba$OvDG -zuh$Ifn;+_+6y9d!OH*b%dSm({#$9LrBBL4PGo0t1oA2*FT}{D?d6jb)$tlT1hUcCN -zcf$95xQsA{?QakxF{t$*VKfQQUYs{@HCtPf?-1~*%&2a>6gKQh1M|@8Kn75^MqA@C -z67hzoZlc{k%D~~?alb+SST}$x({@Bo(JddR_{t``9#pCOD#mIpu$Pb@UaT%G?~w0n -z9(zOAU9Np%|I0DWbXg|tPIIF&bf#pDb;#Evh_e!KlJBd%d=Y8-ImHhOe8!~N~UtX^d7Z6Z3nf&HiPdZYb|pS`|=t9#hFsF=fHb| -z#2!hM!ktzeiYe~(eC4F~1{Nk>RCMF}-!~sC2+Lel`dM~amW&}5t{q{QIw8eoQIPe( -zF$?^W!1}ol{)52$!FE{711mgtsWUW|Jq4(4xvX(_u+&4EYw?}M_tB%R;1n4HMEc51 -z|BW`%%wSO|%K7v5O=5FCCQ&|bi?7GOtDFZQTIy_mamM~WX^`W)SL3*jDvY1)|G#+M -z+BOWOKmW$iDPROPP@Q>fQR(%AACM|foMT_StB0namA3j4R=!!Te3du0fqs1Kd4uJy -zegG*_v``0jGSF+l`%63smf3BK?BeBy_`fA!t`wh8)LVKOoZ -z*ynDC7F`)dA|Vr0VwP#y=ZIZ|-lN1Gkc}?VQs;9S%;MCNsTHoc4jALRZ3e!PzMEfX -zx{TXu-2J!Zn{%myAg+B77$v99&gKfaE7l%yPyX-Th8V>$-xnA?TPy8y)_q0juO!yL -zV6zBXr|!Otlm3^d5X$p@Q3r(|SXDg9s}fjBf$i|Evp%Yky#Zbfxd--+G9mjDnixX9 -z^23@Y1NToz;z=9u9X7z%KP>9N8ixX3pjSkTA!Dn7(`xy}==-1t_AWg8oz@@uN{6IJ -zJzgc2Z!4Cu%fJ5Hkm!406pT$_udozDFYFL5?611q65c?dj<3We#Lh}CL;wqkw%!7x -z8X5bp!g){7-<|}49-B?o9ybO#8&mM?1k1;J9nzLsB@7IPe;uvPy2cKGz{jGTLL5`yQgZ%z7@=XLV2je+!uDj$EF -z_OAL~Dq4G)JFG!{Ss2e#|At|G7)8H{-2wCwWv#kJ&IS;7e}K@E)0kW`?>k#gx;QcT -zcht!atF>z)N4IbI)vn)}!r=D0Juj{hB=_(%>_j$ZUF=*hl`zOx -zlXuJZTz4mU3~+DgoHEYwu16$SdOp9Qn58?%5B%6_CH$AJS=hS~C~q^z@0NxvOj%M+ -zU==di?2x_f1MwZc#`%Q-A}#SzIow^aa!V*!rR+9vw>WvA%u?%f_Sy8aO)S5xhaB43 -zZl2$-ez8lP=8gl)Oe=5vP_&=sW;p+&ybTknnU>v%E7Wa*!Fn~5C4-}m!<*-k-Cq)P -zWi)pmVX@OuZ5f~#Ym*1v;7O1j;yG)chvgQVARGr=V194r@H)zch9p5NKrVB-c4 -zI+N1*Vls$yt1#=KRt1lv`5+;1|RVy{>_ -z2qGVr3SVDy@PM!{9bh~ZCeU91LiAs^%M)dYmC+FtXh@P$ZHj7&z92Q)EUd|Sya`eU -z6=b)uwUL78mjlg5?a~mbP7b#wrczTJlcz012#v1tS3yLL(HBE{$omFJs943DUhKHr -z;>vX~TsIPfSDTGZpRw2XZ@hIAY^A5ey3K1GFSaaT2#+mRk=~#Sa2GiEMgfKlegRR2 -z0B`71Ia2eJ@>6&w4$+0{(!-AD>8VB70vDd9n5W!OPNP)keh&{pca8hyJlCso)WY=gaoUE!Oz_x%shoR)3`nva& -zraM=};d}CT>x`W}cRL75xQpQu&Hw{@;3y*xxw)x?6Pq%4(LXI64ElT`?G6Y1>*x}K -zpt?y+VJcHdKp%Ua-zh0*Z6ygmuQLVZd*;k~B+v-(7$x=cLvpW=+f#y8X2gfDN}=9y -zMtT=_X`3^mXsH^-c;a%~_M=<({dY&<9DMdT1y!=UikC@<1a5b&Q=GNeasZh9(O7ba -zn|%D&pw(|1v3NXIImH9%c#?mW+&eiY3?Yi)_;p -zjAT@H?TRKA4=zseU=gkTC!E5`nfyZOU}5p#C%d!stO#O)V`)!Ln1uR@-)Hg7D`}mr -zH%NIy6U&>_=cDh$VB+e)s^4d9HB9;m$+*x4nFp`5+FGYF69ew(&&sRthJHVy>xRK= -zf@2?Kuvyi>$TBA2SURBG6!R{~jlE}k>&G=pc0gWZ5t*JNNxKzmR|e+pB;xVZd1Xvy;OU&&W?DphIGdGq;+O@{{W3)D@lY-&^RDAy(5e=}{5$O$cV@wlmbpf2@kkr4xC%M`FnXtqlW^=7M8aoz6ic2rAy2=A3K!F2eRp -z1XW(^=*i|;XWpIyNnQEGg`GF$Ss*1eq)B;!+#zhlT9UB`K68)7sO%pO|ZZ8hD%;thue!gNfCjE0!m-ssK6z%M%6(+bs-Dj_Z -zx&Ue#)~{Atx>5JM2xGA-gTnNAEdjOyFLhy5D^f+lD39K{{Y;)T?v;AZVEQ*Nb}!-L -z8}IcirIv6eWzQc+xLYr-3XcdKUbg665ls}JLQ1WzZrC>(#fN>ZVBrJG`S*B3u?jh? -z^nl-@z^i_|URCPx(l0Nw%87hf{fYD<2q?^MX{OwAtBec;bKVcT+J67b=veqKWt>gU -z5BMT%+eW@G<4QI#j4En(WZO2lR8JZN3(Un|<*U5#J)wR$!ZNG~T(Q}<>pf$9`swlq -zJ6<2xD2F-@J|oBTzBos@*Y`kUOGh(0LCX?Gd*O9wg?ZLw8S9fod@$!BU(`xEcKzSC -zN4hb|`6{IE9i9gb`sZw<1|2<9Z-4#ynp5G9X>=RJeVz0EQ9iyw$%Xd1n|nhoa;ZuB -zHo-hM#vR;%uoBwzEHtBnf2xzDLo6>O01cH$h@;S&Me^2+nS8o+>kqc}RnG*S(_2C( -zuApTx!(fgPox9Rw?gvujad@`+08*uG3Mscny;4-x_>``J5X^LZKX3u<1Ih=2BF}>g -zr$j2$(`I^t5-z5B;d~KNK{-LPj6=QKOa(!CqEx>^K}^5!%nbb9f?W=OW4XElRi&%y -z^s%??EJVVFy@Cg}SBY;=b4C5G27G%vz9{(I0Uug-0kyttOuEGKIkXsnVSmlRETIGJ -zKiO21^FG%J_htJSlM8(w)wy`0-K;JMo7B!J?kv{@YXl!aW=lD?ND(4y`yKxc*T{nM -zF;@NG_+Q}lIQN&AqE(>u=b>OfzotRq%`3C}Y0%FQe=8JbnN%-{csaHeeoKw8+SY}t -zPhZy0tm`7(@LK_+j67J-PzlS_Ep*NIp()l4lvYpJh;jig-uu+*+bJyahcFgsha@a+ -zV^!U^MaMr@dHC4gXJ>lET^}Qu5 -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 -z_cs%L{D@msPh#XS?DyY@3%FzO=p|tjH6(NDS^ -zhJpR=|E+5?VjE~Yb=6sknikkSnVF8?V}5+>dXa>!}qH -zw5Mph>PoD^lDifp;uNWOPe@H};fBO_H!biM<+4i`7 -z6zfVYr2pi`e6V=-dZc$COX8I(5MG13n|JtcrnGXtRRKeSf-@GXFi@NZ -zes_0^(F#pyQFm#Tz=B_l@)IOi7JOP4Y<3sU!#Luf7Ba@AUPepSa+EHU+Xct*lB#nD -z@=v{P`Eh#o?8xmeN^=r>!+){UIrbmcCoALe56$-Kr8R#1&hGZd3tjz*e(YQ_y?itLc4H6#-6T -zm5NtPH?KtqKt&w9`+9VurL!EtA{AZWAaV8aLjjc*Pb2Zw4|3kT!0K*ug$Hb*{OgaH2e*(@Wq1Z?zE!LjY&`U&+=EV -z>;|9H%(>cP=Rdj&|JJechOz-bp#jYGRNZn5G9Jmf$?eS2C}!4Al~+)ev~k@Zo!o-I -zD#Ot%;oYg&8+2rYGq)K$+{1xnKph_n0N;0)i?bMF|J2W^iwcAsp{{nO+uBu -zJmyfmwvqxyE3fV=jP#Vsy~s1-x*uVtTu5drk)o#Ig}6>SHo~!5yk&tvtuQ$%|L|uL -zn3Y#ATNC`MCr?BuPQtx~9vei@c2Aa+{P6a6hR*f-8V2hjQJZ7_0|#IuY#n+LQuLA9 -zDmOsUY-d8r!i17w_r4cZnBMp1-ku=sYy@%zFoPF*Tx-23yauM-qK#7PM?~_xV>`_>SIAP9EpM -zC5LxaL;s(Kv37ws8wnP|ouPIZomw(LYk3S#( -zAXqn*h}J*B?HLp3u9IxPrK)Lt$#Fd-4CmnHWy_Z^nXHK6Y+%Z$O~>2MX&Q73RZ{>%d^co -z6h9y=(wG>AWjs);7$~8D&CTn|8dNL257PbBZdISC^$l4@$JMg2@8*2n&)7>a;N9bB -zpRe3(G_T3#U%&^^b%Caz;LV*cKe-ta01gP>&(b@8%x+X)&b=_{Hj1GSKVZ=mK{CXg -zUC~<2kY`nIG*@;xM-7v=>j?{+GPWw_CA-xu)Hk_mkVL`KgU#EmycdisaYX&1hn&Wu -z-W$brd<*ZYsSDkII5hjB#KTE>?=bbD7c%d=!u*3R$v}~_P?z1u@K)y!^kzNThrr52 -zRc#?&RHxA5j@HPFNq7muiN12uQLuNk!RReGHISBZpF34Zd_LycOQ9yS?sZ(;!wtTX -z1*Q=VKWX7;0{oqy-EK6*6lwymBHC(kt(Fg1LP`G`b`PvI*AI!z4eSwiscrzCS~^?*LFwRk&1VYm9WaSht5-$2STug?xLI6=k`veH8wX -z4AA=LKQ6V^l-w{q(G#bxMVKj|ux@apds!1oO(iOVY>uozU3z&C>r&B`@CU&Frz6H-Omcl@z6Gs$Dn2~uHp -zCwch6g#7R{H9S~Xj%m3g+D#PSKV8I4`4LypJynGn9O5CaZoG%a;9f0k85F|-5G~&WH-E^`W-G4FM2YzmxXsF*KsQE1l -zzh%*y#Hi*(IqcfNdd-Zv+UPWw3&br=4bjpW{h%|Ff2G_glo8`KQyk@;wjy6a)TC(e -z?0Ttdh|KOhe_v74h1KHv>Dl%t(_Yh4FY5ICp5Qrz#g6A{#Te~W88dKfd@d}R@ZE9W -zkctbZpq!TMQ)8RBbQZHAvslSTTaK604N|J#tG;=1-%bqv8@kdBPza0@BIfM8*kz?1 -zpx<@%Z?mN&Z$Z69a8f5oQ~TYN-KZp^E&HDKFP88gOFy=Hb-w}qianIZk6Z8$yVi)m -z2|n3=f7mV4g!W+|)5Le6=D^~i{kKSp8I}p%tf+e6i8z`yRhi(bV$CU`s(S1?T%o;q -zHuacVW3_CdT3&3?rc-JM>}*R+W6(JitfFYlrH@N_Q>StcyDI06%TAr7to!(Z6jIvJ -z8WAXE366m3QQg`6+G@V>SYMegMt?iG5)-3DD_#re4!iEV5@rIC;oWIi=L52L8Px&~ -zhSQ13+s65l2@dcfW1q^nyls4oX#Vy&Y3f5*ymF+=<59sA;B>kGO|(G>}0RS$RsJowf8 -zoszg?93rbA5$+EkYOD@^;Gj*amFHya{3bS+yMS1>?)9Vym;4aJ&bwi%&p|h2m+Ql| -z#CZD$;k-Q1Eo6@`Be`qUzju$!A##$niN}nVRCsmJH!8qWbe;|9#pFfU#?Hswfdc;} -zBSYG6HeBD;^o*`X$ltuu{x&zEaK?}TXq{*VFq&lCZ0<_Q7@8*|vkqb*k#B^5lHRVB -z6qK~ldPallY2do=K-yr(ypwywx<&QE?|4#^OtMdH!Fxnfnjbp~ -zXK6-VwFQ9FxZbBDn)evjDHhGy-vseII**piKRPp3&|$XB+5PNtkB0ZL&>O}_e*UGw -ztzxUDBB|W*-$9d!!5w^@LYwnc%F%rMwq$X*f{*7)$Dz_7pNkkPPHZp{yIYZg|v>S!UiokR~1dqLp_Rv -zd$kXa-o&z6n-*_;`bJb2zJDgs9qE|Vl&n2}96cFD6U_1~hfT0$CC?38n_X$uCMnn_ -z^n;nV)?Kw#)_oyIQSWY2sx$vLOCL2AaeozkCm4YxTJbbj;!hS7=M7YO -zvwg>(RF!euNYGC8QQemTI8K|Y|ckm9!-!wTUlc& -zG6ohLe$rdqMg*5ikCs@y?}O_RWKgHC{R&U%6KM7i^>N+rUTrUr{v#V^E>K_$Wz158 -z9&AQmsgI6`;P8%e;HG&*d~M=>6;K@m6>1IVcWRf64OMGT4@y2MJR;(|Ykx+mO=?(* -z2m7~|lsT^G-V<^?N-rwb+HoYYUl -z;8y==lQ+=$Smo@|Pe-i@&w{S108B!Gu#SvR4>eVs@ICw0~_ -zkxl1voJM@a$oo}~_oF@Xra4@nCf@092r1dPV|qf#{B;xK;~sxE{N7WEqEifU99zK; -z^?4jD+UhU=`N64f?BX-bL>S{L%D~pzQT@PE#TeA~l>b5f(1nu&^`7+uU{#mazVZ5< -zuvi16PeSo7@1gM!rD6UJ-b#un=6S7y>4JmeMG4mrp8bH%MwwwQwy&czuLs)z;&w)}>h6`*bCZP^vLn -zYXZp~Z7SD9&+{~3c#>fRaDfl?$Ko;SU{)0T{ARM(&x8he_S#~1COSz=VGIwTCnBBTR-E^mH1x9 -z0FFw%;y`hFx*jxER8}yJh;Bd%W_4tZx3QHx2sDo6(`&A0b*(Jk6{on**031p?va^N1M#rc1T|wd@)q3f%4GwE@l;W=$PX -z;n?8D@MR~@Y+M72gyZX*7Zya3ru&Fql{`Debl`X}hG3s91Q -zn8{wpw3y^2BQ%?bR{NOhL1U6p=|FM;G%2G1;@G>v;&OvkWDx4-1kZ -z?X{}0Uf3(xQa|Gli=3QhWVBagR=<>?X1& -z{Ye+|60rxbO{#BM_?UmH-475}XHp@?ksIRhfQw`+a<#$FdXc@KoGX%XN9j{tSteK% -ztY+^wl<;3dA(Sp(s1di`YV}T|)J6PC@!Ne|pCuiyOVkVqcqq5{mcnv*;a+cRpDh}c -zqsl`B6||W9C$?a%lM@%2QgBoc9Z!eW#7o9Y(Lr7)boM5BymEhcbEemK(Ji7c`*>1~ -z9G-xtnbfd$hSyBpal?`L4X-pzb*XlB^;y!YY0IC#U^F&6>8oY_-G5H2^&|kiq^dXW -z57cX60q%oI1nwOwNqzt|A!a_khHXyjS;OAN%QXcBR7*GJWsh5{_z%tr@D`4qZ$l@H -ztdBVQ@@e7hbmo7D7uMMBFXzdXt|#@p!FQ!(H7>GVGj&h96dbGPWw}m9^cm5((|$ui -zX2#l+vxz{|q1H4F$dN{@HG6Ze4P(PR2ozPUYr*una_%JGgaa&6*_G5e?pkK=_1U;Q -z#SOy~;{s>e!M&)mW?i_IK5dda>D8Hph?&X0qQr4El*NCxfep^7^+i006`m7yYYkl2 -zn4^h4_05^5XO(ypg2-)cS`=Uk3Gg0lTDD!|KTC*R%=^5*f+up#?%t;_a?u%0zAta$ -zF;-KJClYF30pX!8WM7$B)X=lz+q)uw(3NDiaG3g^F+NX(( -z+vi^LC;cURd2)o}fHw#oLootvH;tal4m0otS+a13uP}N!s<)({R>_m6eNTIRS0lZY -zwpg$mR%w)OmzFqGYqiD)32W-s;41n<@IR|h{seywG(yz(*JnN}8J1G`YLcNp_DNUG -z%aXpUrbquoZmJUQ_~%aY>Y0?Ujbg*Z2V_OpvZtXKsm?13W|LPD1ZdU0Fd&oNdIwm5Fuurg{v}rOC+AK0O$D&r9&t}Kx2c=(B?A+15I^a`Gp*fj9A@?`1=frT>gw-Ejo1+3non6ErcxMZ; -z-){tv#?~k_pZWH7Qp+dvHofig?zQhEsJ%LjF^HpuojWapi39pW+Gwmo)I0i#Qg46O -zX&3)9s{(v5dK6T)IXg$ze0t -z2ppA)2jkEj9#|hMN@GeZ?hs0Xd{PwA6A!13@{zJP_$uRMI1c?@3X@w$&~?B1Aw8{q -zI%u;YQOc)o#FM!jI?1qdV+#f2YrKC7Cy^YuJHtL+O5LtSs&~LDtm&m%#xE34a$~hP -zv$5XqPp%;q`<37xovKs2kM&Ir*T=h@!1;#P&}9A8ws`$sMup1h&Ig2i_N(R&Y~Yo5 -zlm7L<_fpjP?BzU?d}p_%4nBJWVswJ`t%tmj5=x4!D`@fFUDyF>XbCeODvo~~4+Vk^ -zPnWip{)`x6a?+=R#B>qZgqp`DqJ}74Qg)avU3DjMXj*oQxR{P6JoqxjBR)?;P(et? -zgCb$JxN(U(rfDTiME07Ob(t#7rAJmJl5Qrt&rB;eXEy#IkxpefIogoaFvy4Z22^`W -zjEwatpZqcto3@$<)2YN~1tEW3PNycu5s!kK^s-Q;@1lB%$2NxcF$eDRkE;Geyj&IzQ#;~7oMdM^D$DQ3<_<|t{E1tn(`>5?^StLY -zJca~C6HjO0mSy)*@Dbz!$>S6?9hw_Bv`2i}ko4nwDgD$E0HlJ;S;~L$m?dm~0p(zR -zsN3L*34qX|tD0=0R^Vq0l1?W7=seBUCqNO`;PvvXV!cHi)0QJJg|8C5Tc%fZrkNQQ -z@wsmKB#kA8cB^DIB-@7IhjIyl+i;O*l-L5-yD?huEGIUQE%x?_G31j80`dWlmo&L{ -zh+AvBaHD8eq+0tH2W@{#LpUPvTwM;e0A4;VNM^sM=%5cR@KFf0`4JV8UYQEf@``$@ -zIY~j9XPuLm4Mbh7`Rt*}+{tMmIz;e=+k$bRnaauy-@243XURkpN?B@MkOL1Gr+GD> -zo+Ec>_G51rO{}EzG`B`ccfX!;+>*eanJu}UDiFUHc;@V)*?xcew|s(9iA05^wN2LJuag--@NRokIe3^ -zMyKm5njQvFPw}UXD<{?blYwCSb|`m;4O{qnd%UO+ff#|S`qCAF3ZN@wsCeGbKPxBY -zL^sd~jJKS4bk2Wze`fTfOO;_F#Fb01YeOZYR5(v`c&3o_nH`jq`6UT?`gh4M4I8_w -zS}T^dzK8t8_(?8Re1cTA3G~s8DVHx4?e8gOcVS*z-;a<^eE)m=GQDVq@y$k0LECOT -zEzVY9yj{Pc_&C894dClXNoKeYF_@H%KJs$Lu7`shK(&8omE$2S*eS=@pD0Z^nTRUg -z^<9IZMa#W-VZB`Q41*srw1%AmU*KE!7ztB}2YmlBZKV7-Y0Dl%Wmbwyh1Er69>!%3 -zZX6Im1o^J=dwmqKhOqL05ex4Vm@EC6+c?})=rHKe5J72b&8AHTCb`F^F-(17`?%_R -z+z8;{Kt6xnMm-s+yUM6?(*||dFSP;SL;56&N{`9=?Y`wLZ+cKwXC7wd_s?{ro`A_c -zf{c_+9-M6Au!xO#6F_|B77GMPw}n#404(@G^h -zi>fBS%;uFf;xz2z2R@Go^qCse6C*bQTD_?Z#7ckDk|%lRkv(H}!b9f4Ma(Lq)#SC5 -z*!`U?J}I6w!Sp;Qnc;<+UZh;pZp9J{G%tvhH3mU90h;aD0yTI)AfKs0txlUaF%d09 -zA&M+1<#UtTbe0eXAeQG>UI -zF=l^n*!AHOVwH&)Vub5nWkDNqTz -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 -zc8{;GaFFR!F@EEkz2nc{W%(CYZ@3A(? -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 -z4UJKlJ6^yY-nG1oT_`mH#lB1jt5 -z3jpj%%WC*97#kw@{f_kUX?{bY&rKd1?otVBfR&h#80=u3!4Ii_M*aZPlDq-PDaI$9 -zZN`L=KP%oq0s!T)6CH$*6)8jzn;FQBb*MDxf##f`HTAd}31{r}&(xOBtx$TP?kJdF -zO88+gu#bN|$f5F~J}$QL%GwQ>u|}o6;h2!`3;*1h-+`>CKLe~CPX$RQ|9sdQO1yK- -zjhYoYp*S={Sk9KHtG<=-b2CqIKg@|S{JI}NETIJ=2fMSQuXgT&(vOYmP+0LnbAA8$ -zIm(;n9Z`8ryQfB+*R3YkiRzgYjum;ILRK7wAh~~FUWht*!qPXI{@gV0c;>4iU)fsj -z6WgTJ)d`R*Hz>XXX|Rz#ocgho&5|2m-$w0oW6qn7(Kn8258xwsrm30WHj#p%q3mIF -zyix7g!1Cwx0s3#{{#-Zg1m=;EJow54aLI8WP0Hi!Yl&?_^P0e?nOqCt&^0dnbm=$9 -z4MTrtQGN#Ck>oHUUFHQX1{GPRQ*bVs3;Bi+k+kZHomxMPSIte?R6hd|TP+^9;Dr?s -z&749U>B+&UHPX9bgD8x;)O;Po^bIJRo4IiK+X!AW_{u%%2`u^eS=VskRn;q^H%B)} -zff2(Ysbo2SoATyn1|T)mKz~sJpJv8ukv@Oo^TX~*-q_IIdWza-8Z^DA(`AZpIMAfG -zoXba-+KF3*GK)Tt_2?ffLAL^ZJf0SXzC@YFLlAuF>5pzVH?S9be8fYHL0)EON|gGd -zIB9#IMc_dd3rt%Msmmoj6$1P%Kh4d|P|1g%ac4YNn+~0t$`Pp+eWse<+#Ayt-K&2c -zkH4I1ExK=8(cZL`i~Wn_{Wq=f%;2be%@aYYTG{Nso74h)CRg<`w@F*!zcstPg%=zI -z4j{d$M!>Oqoc3P){_}vf*a^(@A5U8uZk6SKhe>_kcYD*wTgGSu`JfE -zW~=1>8wzwcC;8N_Ib2_}XCXx{$3C2Z`3zwORYq#Bm=yLvDa{sn3;W)6cYBgAK;RWn -zzhKaU@?1xUi3Du$5upH|`;X!MkVRR$xGeo?+wO#$`~Hi*wBS*=627>9U{Zgy1>O}J -zv@c+~dt)(~y0ru6YtMdz{qDw+_sa0{rl5W`)x$~9j5@-gXwNbitV+R@S0LJDjEwxk -zecRpcMsJX$r&3oF1Y?m6F%m5qLJc0QHU-sDtu#}pYvMMgh@Udu?zqwI=r8Ofk}SRy -zJTyspud78hmp4_O@s!DiX(oTMY3TjX{OtP1lAEP?$h#LxZxk~EaNJZ}%J#YmPMk&6 -zC*y^Ue=5^+`{8iuZ|1rKk@IwQ@=6A(9Ax>jin%^w0l$DhbU^)ycRbMJ1Pjj}s;mAc -zTi~QNUNuvfHx)-x26tSn5DH@!@qKEW=DS@i47#g -zpWtS=o0Skh&$&GY9Or|!*ZM;gUdw3r~Z98;|1~yR^7&Tn@izT%ne@Xzp$?;jF+K8U -z-%cD}>QgQR01ljjMOB{%|HhBk_eoASrkotWPjEcaJZhkIm|OI5>R|oG4*JpUsP*av -zKmap*liUAPyl+uU| -zPH|KRRVMHuq`UI1I#QH;2M*Is+U}oLQy{Bk&k}zgvjt8JC4h)-0ao0?G$>SdoD=Me -zMS!2N?$hlUlweV(O3X$hosEzDJpYUaba6q*eI6r^H&1(J-uo+a*&jZt>1LSDu!4`Y -z!Jwp0#UP(I%>xSUGPZ+Ja9Ao~Fc9pLo@Bm -zlKVD6^Nmqcg|5xA*!pl(5nuTcuEndUE&u`M4){>hc^0myi_lnppX7X-7?M3??mIm5 -z715cbhaT*cTiMg3(d^cO$;ugzN<@a*`5}LJm~RN2b4gC;De>|7Btc-C>;fPwiyYC3nAIp-Mt<*mx$WWz_o6ECD{kvfi@KDXX|k$`7$PylTLR6T -zT;1|3(4NL`8Cq`2zrCJ`>4Nqu?s~_2lL%t-G&q7~Z4!y4MXNi*Upjsl=kNPo@|%aH -z=>*?kzrrD0l_JD$>e{9NL$Kb26RLl=HPO>dRLSRlI9!(7ERHTuUAZcRo%&ive0su5 -zj;j#LRd6@QorXme5lg45^z{u0mV2)Q4gU3-&1eh^Z~8cwgzjO4GkuQA$?-8}hps7p -zfPC`%EZ3V6BSek)T3Tz6r2@nHD-1J -z@rd7AguIaS8j*&nPX$D;rPDw~@^?4==_Ffke8gKiye#8u#=SfpL7{Y6JLmw?vZQK6 -zCLncpF)NHF{Aaw=cJq|Dqxr~>byIaLZ+lkDxQbrK)UZFvJtLb>n#X@ZPrlFPXSn-z -zBav{mA#(f-hHhwjci|yOy&fR@=Hyt&tla`2&M00aLW|$>v)#5=8%Z~2eGHQ|z$kH_ -z8rb+`O(`PIhT2pO19QmEY69MW|MI5e7FTs^L5R`V={PrZn}HL}TUo7~`r<%LUr8N! -z>FU97zOy6SO@C}TOhJE2%-m%8_^BzJj0vabg(PHkyZCT;#*qlKnoUCamhtU|ZSVQE -zq*s6gJwiLVieq!QLUae%t41*UnP#IMVWhLJMDuOcw)h6MoC{t_&%~i^{5UmsDDvU+ -z>LW`Vrj25#aKJpEwckAaZGX1pt^?C_k|CDja~IYm!pdAMEyjOI6T)unD^r$T$75l7 -zo7B&WH=}t}xl_Q07&E$Xj8AZO`l!o{0ny<@c6Plj9Gr3S+8nc>DtL>H#3KK6G>@YnWWsLZd -z@bgY<`kide8m!?Is1FWpwo0)4Rea&&4m_bQdoD~XKLon?L6rM#;_8Ihs?`ERKkNxBF<}j*+WP3kr-u5gU$}6)1 -z>iU$pc(4mUg@Roj$nrw8(|*_S-=WeYU|IT4@V$TEysQO8-(_|0f)BmS)V09?jV80l -z+i_^e0V4BV>%2X|gY*7=bU5y2G0C=fvY}Xqys=*&!;9a?Qd*@Qc<6C`_-CBI3i7SP -zZ)$O6Tz{yKg{*B<_%>dk8C;h*t+?X -z)4_idQ;d`OZJ~*1PU97(Ncsxuy7C&>?c3>`#@%1iP03^`T%R}(wx&xxF0r0XM*>jX -zd>c|&vEY@$)J|^SqJG{CFF^r+Aa#k~2bDhF2xEpdHfy%MZ(x|H@5hEaPX_Vecl<3x -z*UjyOetYgnu@h`!ef+1lJF83NJ^9R<`D}lhJ&p|7gg&dze4pfXLxVj(_>U%7iy~{o -zhYGOTE%icDyV!o3b<|e17}?4mt~34(2(BCVO+%7VU_w4w+iSL*vIzg=H-2;do(!N# -z?W4VHNjjXN`F%InjahR#bfAzbu<4+ZiPxcV(h>CTMBDyKUmjW|3!{X~#rLSvRLrvxXQAjBYH!^cr(w@TraS{8lZ^2y+P@QXXAV002U?m$69)9JdRP7mx#gR4ZIg&y!dl -zwe0caJj(~JFWkAj%qHo`Z<<<}ai;iL{_5n;Uz}Y@=Q_{HMf%-7_xHh?RrhKa_%vsK -zxN|@y-gSqK%A&x9lL~+Sz2Yy!y0L1?1ThOM_w#P-uXZSI+>v>+YD2~B@VtiU;tzQJ -z_idQx`aAVz0#}8#aKtfx*N6kTcI*r5{@u4R<~nKAKWC8&>$KDQp0X8kv-y}S+1362 -zmv`>(5MnsB@3!V!p2XbdQi-#FmMoU9wK%c4XllHqoPbeD{MnJEAHzy7qf&42ta>q`G}!SG+WGJk*f -zfBtu{Nx>$ncqL>L+_(|`Sm8bn4)WpU(nW&Wi@zF7L04Df|NARwE{&F4ANwesEJ63gxE*srENGjGdGp{6mj62_f4i=q!}*Ql*S}u= -zl5RsfmTlV2VRKG{;CaOeJzdhGUbBWh!};iiysI__SY}t(#>yqpX1%7<@##x1Dt^t*J;lU -z>b>}hC>`7vA$xGze|*5Kh-C!)`eVG)-o;J0_sd*%Srg9b`0Eef{U;&+@xT7}541dd -zS1NAK#;8=R+UOcGy$fFJI$?qEUWbYtl64hh!jUU~NK4%JV^VhE+>d|8{_EE_=K}ff -zBjPVQ_(K=}@6!8!q5A_>Zl>C3){Tsx(Omp9^W%~N{ub2ON@g{w|{1&#dvPpma+nawq$H^GJ(!Ut; -z-`@P|QDnd!AHPh?F!ba6%kPn6DgS5D&t)_H8z^{J -zbnza)9qYfYerd`zO~N_+-myyTQe=fof8aPGG`?Ks3sV~ZH1_|jAO7bw -z@OKNCeO;>s -ziN-g!IGpA-?85wa>_2?_Cgv^re=$A7m}cpic5(XaUoZdI3a`y<9;xGMk7qVqWTVq7 -zIq+>|e|uPml-!qf87=}04jvEv^QiwFXy0k~*WdsC*Q4zux>_Wta4?U;q5^ -ze=kE9_w8R$g3(eo37C&z(xhNG48OGL9R6NF4`cuK_qj}`ZvqCn2;#EjI&yl=0NC?d -z?jVma0LDhp0AfI$zkSt#u{zyzKPT-U6+ZozJ>ql%>wa#^?)P!b?^CaI`V;$?OMZ*f -z;WziYzG;2un{O%CMY-3x94e(BRL?&AW=}V_M*{QvO*ge(!0! -zu=$e`mK|44LpaApItpPt|5iwj`!_XxIv{ut*c4MY;RS2SA+`aR^WmlDjnThdZfu>? -z8jK^izo8~>!fARVOw#QeblVJ*+Wvizh;$#z`S@$Ze}`mYt#XX;^GC6?L^yfaPErN3~1 -zf1OqT&E=o|{Exr>W?FA){$M^7Sp%_{$^7_?^uQJ|hpS)JegTt88o`*KU0q&UM}NWb -zH_o_kns;1!Bbxs9`tM_Putj*)G#IT+m483PxlJg7x7?av8iqf-`To>wu_CDK>i>lG -zFShYFmwzAUBa9x(SPoROl+ix)9al7H;K0``<6gIC5e#6CU_iRuly97WF~a}4`1|;_ -z%lzu8DLw8Oiw|O>wwV_cM79+!-P!QsLbGoW*RmJTZ+w6L`1?p+RyJf4gg&Oi2Y(xH -z*v#yf>mm4}db!_c6y5>aZ;D(oeqidIRo_tl^W*R1nuAyL7zXK@r2(n()VTqbDo`04sD>qQp>>JB}<0^;E2PneDD-%*&Om10QE;mbL -z{XV3D(nIf}BPL!^T>5_)*Wcc}rJEl=g(;HaYJ%NK)Oq=ZJn32uuI3{7NUz#l?3Or@ -z3v0x$e_OJ=i$3s|Uw%GDv}gy01vK@nDBz@@yMq^-0a%9bd&8x-HR@-eF7X8afHep;xC&{enb3`M!-UGduTbZ -zm8sM~A`rTk8M3%K8(){`aUZS8S^+|4{rnT6|1-pdK1#V;JKewEqx-Qcs~>{5CknH+ -zpEzuDBdw*}l5+c&WAiiDL4Raj&~i!pK8Owx-$&BShuTxLEMVbfobYBCX3Sy~%>RVg -z|4bte9L0b%sY{>wH37f99H3C*aY=a2(q6K(QbPEq@p$E|ToOdd)2b -zPv}_J@0Qq9J|IH)&k#Kgdd`R?C<5Jho+6>fe7SkK4L?Y*94jKmU!V_PjIH~WBSig) -z`WfaeV_~Of0sbytj}_36)oO;9dC7rj0CkhX81|`g9mGq^%KtZ8u-8= -z>f4Jg1ZCnW;`RwK`dQyQ@mPH>tzI%*Cn3I>hQMIFS%KSNLg3y!+I2B-myXykzUQB5 -zbR?;c`MBAVv=Iul&!zf~F9#z=SSq#w<#PRPRIns!;}3{1{C_jVN4po0dIttOw=c~^ -z)?7m8w+y3T9j=mlAA)%BEpV0!o|I9U3R2B#{%~&UyS;|Zgb+mxYmsRo@=svQd -zE%`An!{Yo!qxCb5G9MMgOK(K4&d`!#*1N0jk5y$V@wi@< -znYAVR-3@JvYvHRJS|KkK(5EL}*fSgV9HCe-i=7j>RK>#v$`~WK8+QpFz%tQG8OD3V -zsr>?eMxaahGejNI9-~>@?oN&~$28D9B5y$a4j0dCb$|635O85**Yx@PqVmMXxlHoL -zv4SR|HxD23B40t*rGT$Ma#NY33ue*Q=^LxjpEM%K8Q&awxiE=OkV#~FRB(j@d9piB -z8n!#=nXk7OR&Lps=&k?M4ubzo<#wY3o|xshxrSa5xFfpZRFW?xDN3nGI({eA4x?7P -z^Xc0N_kS~uFyCQ3>^*l2k?|3c{j42;t3CP8@TL(Atjp{52Al7M^yxQ<`ZJ9}3WYa$ -zpYP31R~=;qXiQD3{lAiw_1weJc7H=+3Q2!D2-)co{v(Lr2_Mht{>S0gWRqhGY) -zBFtY9S4AO9s_X^QaAB08g;kf;$ -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 -zYA~c;!2o5*yPZJz@qcwbHtu)>CltlX}N#(@I -zyQBrycYUV-cYoyVLE4&UFrheno}$SO1E?GdSjRo+VE#06F2DAo9jGZm -z-8;FX!>4mAjyso(lRmS1YapHH>sQUG`xscecDw?iu$#{V4fS;3P{y)WUMJO8=txZtYi(WKc&y;u -z;zHmF^X}`_#4=IQo;3tX4Fi)?P#Q -zX_u;bGGa<`?-gt?!h$V*iNW -zcOm559t-x^NTiTp{6zw{663*D3*{nXj4!_Tlh|wL+OkY@I0EYG5Mv!JtaR6Qu4#vN -z1AlE}Paw36$50uc4Xt*%GSS9@8VV0|Et~m43zQ0rC~~u6lZea<{k#Y|U?fJanZ;)r -zt;r`3D?mjZ6E8h`><035Yw#fwzGXesZ5~FG-jg@|t=jHR)@iS%1sU__nvAF-aY8v1qlD=L60MxveKChO;Ml -zqz;Ko=Ca1Mx(KzURy_X&@pKy0 -zn$)qjw0ybU!T{1ESEfuIoA_9$21ks_JBgU^PVcMmX++w|3}fbrxrbof8D1;q#(x3+ -zYW04Iuluu3L=_d^ksgMZkOaI>*U?U@R1W~15MU|qzKD^!0@x+EP9YoYHdQl}&>BP+ -zyHAPln9rc0y-ubPJe8>ba=FO2V&=wYh5@=;Dh*p^rt|^4Qp4%F1Xj= -zAySY7=PYH*kdtYnT|Qgq@&)l^hVkw_X%dW)O9i0!1-ug8>*!HPPiaJ5Yoh^UMk<)D -z-R_?WTrbb;XO^i0v!r%yV&%^GRC~p0^~SW9gO7|ft@4}}qV;s9-(l^~7Q=)Uop$m0*XV&Sq#w&vPvdHVJ2 -zkbbr`kx>sq+UEv6aW~F#@y?ur?7ER9u`*gNIHED{l*+Cye7{;I4N9V(3>)hNAT{bF8jPQH -zs_C7Lm>LhhCX~^W$yMYbmEi<0IVMg)r4g33inSHY8YZ~?ba36BecFAd$E2wS+jb$#gIUdpJYq{vM)fL<)xM2mlWS08|Y2EK+aM7+a~fS#FJ57 -zAkLl{@KK>ocSIL!X_}-=Bip!9tVzylGK81C6SJ3yMVj2`AQAc)8YkYF?T -z70s;iTL4lK*JDw4wa$JPxPCbGWkmdXV>AkNkL7aoaM;0AJpPrp0my>2a)wAyhk>uP%br -zDuB0`yl6-`#apFAf}vMtr?pNsde6_yV4pmQwXfGYrl^jdw|ChiWnJj9rMGOEK748XWW@ah -zm4CUv-Gr+=Vl;sxIuqLmGdWD@avbSz{22LOru3Ha>D`WYvM_5Tj>{?!I4yUt)A>B6 -z3@uwicH3jiKpYGv}k%6T1- -zbPH)4QGNbax=i -z;i{A;5p|ty8?1t{Ci2DJ-s*nH)X3#d!6)0x*}snY-Cs^$j{s>=DRt0X!TmUB0{*nD -z;%Q+I%tKmqQB?{hxEhQ$DE@+ZT26+$y3dR?zG6^^x80}AntAe@xJ9wWh|h%%=6`}$ -z(bn-kYgG3nF&393GBI?E^L~yyZ&SVfIwZkpM$J6FZbWduq>n{=P>T< -zi?Z51io(_3dxq~=Rw2ku;wxd1dfO%LYJAtBFNh~x?>8xitE_2r$#~}$SQPw~lSF`A -zkRXnF;4yQM&^4<6br$H#XOe7Ww113o1rGLC9AKrEt`8SxaoTB#D1!rsC=~U`Bg#;} -z)blve4Hud)Mr_yK2Qh8uk=WnD2No1}*SAU2=^hX9g74)``G$CMW^k=07OjC=iNq0= -z8yxO#;OOXCn!PKn%ggZZ5dm!i>Ia{7kbAQDm|rwI6&seBFayiBY}BY~8-D}t7V?$2 -zkrC8hv}BIKsQ%2hZgo;wjVLlfP~h5SswmkZ$&v~>Na~f-miC)R8@6E!Zpw$B9`2qr -zwG9mnl|3Pbi)vg2Tm=~q+*k_@;N6v=cYfP10SHkh>3wniJjr8u8uTg)!yMs`RgaX< -z{$}F2aV#KQMQu)@>as$_7JoaR2W^j&NXdvg^3)ZYV@9-nI^{6o2*{M4Ka~Z1-_~%= -zAH;khm*g{IJWh_qmYp5vbY~Vlou%N0-)6>Jn>-s -z*+O3yQOT)FRu9K9R&IUQLh-vgUsVfpESS!o)XM_2~}>%i>+!+;E5^I)i*J;64j -z4bs=w8jp8Uqi)TR%%ZPfIkh8QJ{9_BR6yX^RC(~S$CE?dB4rPxp2nSfP=6+$t-LS%ckjUYr*96j -z$O?jN=y@nFThn6@FpeM@yx?Y_JkneSi4`n^EL|4-3~c_%fzEy;D&kS2snWfflNUMS -z=^D*w#*?-bl<0RA6XvaxJ-?nd^iSTQ^FXg@7%5P3yu6rR*Xfbbfg&aG%e_O{%v}jg -zS~LJ2`Y#%dlYce><{6#jVB8EliAY?2x-NC@dnLs~jx-Y%5LOL1sO{Hyz(2`iliV|0 -z_q=)aj0eN(u@Suiszupb2&iwy6vHM`@N%nDpN8(AY^3J6S*Gdz;`#4(Sh(M!D&M2E -zJCHSk*Xh0rOmvl*M+1Dlal$W78XfZ3NZA|k^b$sy0)L1Hgj7x!?dq0axGBD1Me5ZR -zEPXwfPgZ&K*UmGeNq{qCn>^Xuw?|Q -zZW|B3zRgz>bqb@%A5qQwT5C=Z>LLIs^Wr|W9h|(wBD -z;L{U>@Z|hqzZCva`Hd2#w#lORF@!-MCH;rFI0h)(;F;Cci -z?m5&e7==Vz(Q6}+^jygeMMi9k#+#qE&(Fm8>woE1UB8M|x>jv#-{d=f0bC7#`sUs3 -z;oIy|AxmV8j(cl0Uq7wO-1G1r$N -z@BwwtTWQY*XzRY%KADUtg1v~jFpIWwa4JKGrrX_hw0Ru~8VY6v*Wrs7=p6iVn_o}n -zlj&T|H?X%sp1$HX9j|?dAhv+Q_k{sd>VMrsq-`t{SG)KO@EyLnlr|tp15-nt7JAe-FaIKgN`B*{R3&sXTVaXtrsG(`Tjq4lc&q=W-d?}oITM{*xD_S7yp;t-L -zt{q!-9hXa__&!!{uKTI)=%f@__`XZ&3?+%#PBkCagU(d>apCWmkjYF^k$=H=D!;@7 -z_{I0h!w;5G^~Etcog=tr6?ml+DWHO*DNzh9DR@8%j*1R$DH) -zyj9bUPyALkTr#0{ihcQ0zDS*`%#g)>@qMz{aiy8M)%5P^BWU%UqphE2c@V@$&~h?$ -zL8*hz4rZ{Q(I>?C#3oss*?(OO;lW*h7gYQmVh0vdsu1q!Jrw2}bo9nOAl>L5e?$CH -zk~1C1io2eM)GY7o@DIfzKt>bz@TbH!y0@7GdHFRG9lh6DRpX`cA -zqU<6O0vWZ)$x`>6v>d__Ieqs@FD1HhQ`dP&A`H;iigesJ{rJmzLBKGIe~squ*WbTM -zlV78LOwzGQr|H)@-GAm^fBUh5u?$bLD5HlZ6Vj;Wrx=HAb?9AdB^z6a6%6Qc&`Rex -zs$&G^;QYfB`~zs!tV&`aKnqeCG3dGQS=(k_`u53q84AUMe|ycI9#fvI{2|)k?|v=H -zylCEk{vOuHBVp^&t@CP*+FE3f5JcZm=^BXHdVfqY1A8byJAcIeD;@veSm)nFG;g-Y0ln1 -zI^RKY+O+6=Yhv3eJY-(OQGDQCYWJB3?>Gs8Ki@%s;@)F+SpGo2M)cgpPT8>eOw -zDm`jsU%v2b -z5{@TS9IqlzYq!19Jo6HIAQ;tKhRCi(pg5BV$k;YGqms -zKqAa4yUa$p@8tgr0e>I@3h2=G8sjvDXYRGQM1LZcvF5g=SdjKn{BAln$6R@l?&yDv -zf`5Q(xsZM6^>6}U-U0(NvgxYs*W%eS+HVW-#D(0MQ7Ep1@BfoH|A5hww>ITn_)0cQ -z3GH-Y@sds83v$Oa58-vjbm6vQ)SIa~r%0#tw;x9Sbs3vq&%<&eA=E@4BucQ^;799z -zk$;Y+y!{PsFtbZWY)>4t@dc -zm-zf!;`v9|wAbe(WWE|)E}2C=onyNyUVog$`mF=;2J79jS)Hz4e5(H^@cjXUmo}k9 -zl-(QweGm>2j7z(^K@&Q!2XV3atV}gcGd&)^ej-dx=ko)6BafE~X53XTa8U%89pf#R`mJ`R(cwOGX>!tB1k7l5w%I*3kH2_=HpBUYRngu6#k3vhr#;-NHGdBZ -z;OjsV<5z8zxF^2G%}slc=Zlh{Z -z3@0ZYSW{)7?YX7qUJjZVg?GHeP|Xs$G*7!DzK+<|lYx|eR@ljU+NL$pP6ki@SYIQM -zjU;{bS)of32+tW>?#T`pi3ZGR##*$Y|` -zD2(%E9R<37bv`GoDSAfbE?#V_$t7}s1Q;uD=qs9|JQ!~^SO68dkExKqb9yt`pK(4t -zeIMWzLHr56*$z%!bx0K0TQ+FIak+A}5>QE3$TJwVltz09eE?!T3Y`1zkMUE{=459o1OU1e6!+~vBxdFP{(sv9WLsa -z8y0E{c=TSbK8)$oTilX;tuJOLT+>fT8&)cGbKFUU`xUOK?j4PDcQo~4>52H-$CKx= -z$Jd)OveO0cjQ8rOW`D8=)Ki=&m-jYiI8N#45;0$yMI2ghrJ-$(-lvskC#R!Yz!}VS -zke*0)HN4{Tjy*$haQoZJ14)lOxfToiS=^`lXY|ePC%?VW@05#mxLz19Q1PwRoVcji -zmDr!+lHwk7*k)4jq{1}+hWPUn+gBIU3F;OUV~JBs{>WSO(SO7#hDYMfd=WlxD=6Di -z68jm0vXf4(>aqJt-kUE=2V8=7cOb(>B~gT+;#jZOtkdkxNum!I-cU -z?y(cyqVF@W%zt-`V_oVC=IMi?fP)sYnJX+FS|&#$CM^j*=e-Ns2&5<`i_)w#g0LEo -zFMXe8vH^KMZ&%Pwvw+Kw8&QMIjTj6Fg*>?=0w&=Gq-JI=CqFyR{NxzLkh-$ETxSQn -zi-eC;c|tpSbn#_3PKDzx16OQ$9(P|#KI2+0o>3WhFnY~d6AbQw04Mn_gF`OtY;qhyoIKQ9n8nT-h*_f`SO2#`+ -zQmF2}*MF&kOF&repu|9B;`NEn%^JbkY5l_!tX+`d=->U+Wr5nUB|M6IuiXLs>VbEOOnZ8vSCNgIrH^%U(L>b -z>}E}sN=U8l(^B_2;Oo*5Lp604-&#(w=dfb^*nb#++}E&;j($w&ma?0Y`8m;Y&sIKM -zBK3;WW#zF9axHItOcuF)wwyrMP{x0|jr`^*_aUQMLhpVeMHLT_M)-L4_Ss$BU|QDb -zj1!@L{K1`v@cZ!OH>6xAQ>O9aNNZ$|Bv24o^_HkKrM+n<2qdRXtQ0p5Rm&f@k>6a) -z!hau(ivh8oS{)RR{K`=rIA&sik6FrX|3x+fm?Hd#nH`Me! -zl9l;}CIhiXs4RFK7q$hnuwoVlLERbsDaw`gBU@MA1V>Fk!3rBtgh@JD$Mr#5tK&_o6Dv=V;fyGuuz$(Z -zhy~``g398i$9hcq=%GAl8uXtXB*+Gvs-81SC`dd!`mu=H(*~))rM@kwyoG=rsS){B -zkOXDcuA^~Cf{bozQJ}P6i{Z`O>EzmCd(sctOxfNfCW0ucPZdQuhSA`KrEM1E0`MWO -zsDmXCYg5r1-5BD8z5!cxTkGwuO@Cn2%rc}7MCp=c6yAkSZ%Js8z}r9hq=6lrRIjZ2 -z{`2ZqUauWahyBa)NPwBEDB7dq-8&7#tAvDR5yGAqM;?3gU4QE -zKJAl-0>937aN9XtsFZFlVes)WOKcN*{a)wjOEq-z$J$MFdfd8*EZ?TGnA9ko#+t}G1VQPaU0M@@UuU6 -zuaGT2b@FdCyy4?1hvs?OyT(Y|HLKt!w -zX7q?6a0UM6`AqE%0P(R3V@%{ibgYfH`!`MGdVH^Bee;gZ;p|z}eSde50thX^3#|9% -zS)OoO4joE}6jsXcOUMl7Cn2k8=#HRZjic$KebR|c<^~shxZb1AlmhDPTBq$`Pne|j -z74zRWP4%r&t`z$`NM#?O`2#F5)$G}5nVQ6>mQ?7a{|YgUk-V^6xGwVvc^KYM7J1 -zf*Q;=@4^(A?a;Bbq3_UG-|50VCZi8d45I_z=Q@XhMUUSv?$6-K98(khrIchCuhEYV -zX?@eYGhj2%8h8{`YJ{UmFw9BxhYrjSnOFN5qArHxe%+$ZPk-}QedErp=49K6{lnyQ -zH3*Ek!NZ_i$I7Kyu3SQ1N`$p5e3_}=Afvu++AtG~KUOcVUchSyJ40bO4MFByC{5sa -zGyoDoU=k1dP<(^62EHj5<7ocuUibr*n~x1??*{LE2zVkuAn#B)>fXZ%YUcI)QS57O -z%BJ?GAH#t37=QR$weY>5f(fdrt;zZz`Bt`to#lXjB_!wp5f%;b2(OZ)efmXaG`2o#XMl7uZ9-TbWPxE_o1ACQ9 -z^Z~)X2nK6LK8TJA9bt@Vpjzub<|e3n6pBPjE&8{&Xl^t^EjJn7&wNoEIee-tgk&KX -z*K}q2Dd$!ARQyvc=p1{~e~;MSw3RoyJkx(J_YX1mK$*|cZkMY6nZ-GKchU#8=Po?r -zkP&~F>3`dMcu@=@g^rpK(=-Jw(j}n=?7c?qhoiH-Y2@8)eqzff -zR$!aq12H_J-0^-5Zxa|xQfB9F9_>DS8TjY>Y;ejFgwD~*U`niuWRQZ9IMKja4g -z%<*<5PmKfIKCNtbeNp}c88h~j1*U9psdyZQ@?L2A>ad4}erNL?e^Vi&5rqxR+u9!R -z%bH&e{DDNbYe1Ht@wcLB_%*qEIw|}2S?q2+`QRk10Bi@NUeCrar!wM%sw(gq5++wm -zPJi7|PhKDq2Km1K>u%1?nw?bHQM*nF_?tRQYuM8i@d8b+#h?rPu3ZHVv1%3l*_-2r -zicF<*vgs^lhxrd!Wzvhl5*lIv=|m&#hy>C^AF7`s=C>#BZajH3J%D-|aps+^g_L@R -z;%D}^t -z@(YiR> -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 -z0C&x;A=(=suNZJy*bPJogmJ)2T -zLEAc4Zaj$a(jU8meyaQ)^~9DirY-=M9iaz~tGM`nWI(hXDn<@g=)H8dFkwfmr^ngO -ztxgm+*`uqc>wBxg9u>^qj{QOX?9fM>n>ok?v)Y(s-oxlmO+) -zAB!k_zwCnp2)YqQG^Z(85(d00uCt{#3VV#L}gol!k06>WiewAZYs{sWU`M -zqc}1%6U#%-pajcpBcxV5a5qKN$^_a-o1u&n=iKMh#hosp@2v~=t;3raAx{Q>ysfbzl`kX6E^!3n!T-4i$dHQr@I_q_y@TEr&lEw~ZTQ{Ru-Fl^4AI2?N>` -zFXUo!^Fs?}jQ~&s5c3&ejOii*F_^kyP>#7%90oCyBtS9{aW4Tbm<%b{gQ+47H!*W$ -zU>Y-aA?O4lrprPYW{ez^VsV1F%{L}EvC2zs01V4 -z(S$(EYAra58K48*n2ox?vjI~dn3(Yfkc_#{5GpVojNv8bW>b(0LCiD*Z_F)B$i+Op -z5?U~+mOu?fJZ1&Pn1mg~U?$o_Ii|^K7{ttW2FZf4mO)L!6{-zh`grOKMUkJnOTnnX`U;LmKvoQdKHzD3%54M=->dnAh5CXNBt)cK1 -zb6*&!gd@J*1c8{go8c&?Srl|*I>!J{1Y&M1Ffk9rK{BRBB2*yqh$N9~^C#EF8Hv`m -zHx=X}QH%}?yfF?RZ#F#8F#!T7`F_;%U#KMZ1)AApP~LKcjp -z2x}TW7dL!qu7@y1q3D3P3&+)auJh3Op(hqSVa1T6Ss%gOF0|~Um{L#_L+H~!9wQrCymTR$i6K-uHWY|cfXPc= -z0gVYLH8~dD8P$d2FmX)W90KA|*K^cG<0}ULICOexn{#kLbb&Yr8Ez4WTto?WYw7K! -z;^0yut_u@!==>&5&b3VNAgc7>Q*$jD5MpxhfLa_uKx;gj>g4Gk{esYS1`RwnsbT^e -zc<2l;6NuF`wK6!EK={zY%Q2OqlgYvPQ>;cJiamc8iW7;&5S~cr(w?8g4G-SM7sw3^ -z_9XA@`CCxrrHi1s1w9n3F0*AcDYs+ET?s{49=J-%4IZSNdoZ?EgJ2SpjWwhU(E;WT -zbkVL)LeH8gR3OeCv -zSdMLISiW{xv<=Dj4pN4%Bs1f-p-k@ka9|r+P|M$J$v)?Xv0V2sKLsV4_mVC`mrQg| -zL5}elqOnwa!j|jKrf8Z&Wl|yXFJ~{MLku)6!=Tszjy&`3#0s22Z&|*)gqQy3i -zK_iw?6Qta1L(VChhBB2WK|2je_jhc$m6VxS?tTv?So%znGHNpfZYMNpNuPniLjC)` -zu>09b!7P+?_A8`g89GbK7#$eIN6OzULXs{^m4LS_bla)ZK{*{A5Eth`U^=>?8@b>p -z=0Dufjmh8zo(#l=e89xq#Sh7tK@6zCRGbelG3`V_Zad;$G4RG@5Ri+hAPFs)5>i0j -zfp|a~j4{m@Kn$kuLMX@lAPa+-8S)^RiMUA-To8G-E|Hi!^AhJCUNS~?+?=ZX6w0t7 -zg@S(f^wXD+GTg+8G5Ro#d2A`@>_qf5gfPrMjG+|s$};H1>@)%4EL0wm732h4$wO5p -z?tfqNPoXe=8lOV>U Date: Sun, 3 Mar 2019 14:07:33 +0800 Subject: [PATCH 1/2] build_soong: Disable generated_kernel_headers @@ -11,7 +11,7 @@ Change-Id: I630857cec208f1830e776bf5031d7bb9bc4435d0 1 file changed, 12 deletions(-) diff --git a/build/soong/Android.bp b/build/soong/Android.bp -index 2a21c5c0..417fac02 100644 +index 5899c987..3846fa01 100644 --- a/build/soong/Android.bp +++ b/build/soong/Android.bp @@ -20,9 +20,6 @@ bootstrap_go_package { @@ -19,7 +19,7 @@ index 2a21c5c0..417fac02 100644 name: "generated_kernel_includes", - // The headers make command -- cmd: "$(PATH_OVERRIDE_SOONG) $(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install", +- cmd: "$(PATH_OVERRIDE_SOONG) $(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install && vendor/lineage/tools/clean_headers.sh $(KERNEL_BUILD_OUT_PREFIX)$(genDir)", - // Directories that can be imported by a cc_* module generated_headers property export_include_dirs: [ diff --git a/patches_treble/vendor_lineage/0002-vendor_lineage-Disable-ADB-authentication.patch b/patches_treble/vendor_lineage/0002-vendor_lineage-Disable-ADB-authentication.patch index 561b775..2fc0369 100644 --- a/patches_treble/vendor_lineage/0002-vendor_lineage-Disable-ADB-authentication.patch +++ b/patches_treble/vendor_lineage/0002-vendor_lineage-Disable-ADB-authentication.patch @@ -1,4 +1,4 @@ -From c942de76b74fa53e3b3983d17444c051a8a38dcc Mon Sep 17 00:00:00 2001 +From 12793ea2bcf49d7ffa7231aa8560d5a629e48c88 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Tue, 19 Oct 2021 15:48:43 +0000 Subject: [PATCH 2/2] vendor_lineage: Disable ADB authentication @@ -9,11 +9,11 @@ Change-Id: I4370583ecab1c88ef6f42e29d3eaa52c24d13f09 1 file changed, 5 deletions(-) diff --git a/config/common.mk b/config/common.mk -index 00d0a416..c9930600 100644 +index cc81102d..460a0085 100644 --- a/config/common.mk +++ b/config/common.mk -@@ -13,16 +13,11 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ - ro.com.google.clientidbase=$(PRODUCT_GMS_CLIENTID_BASE) +@@ -23,16 +23,11 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ + endif endif -ifeq ($(TARGET_BUILD_VARIANT),eng) diff --git a/patches_treble_personal/device_phh_treble/0001-Add-Meizu-18-vibrator-support.patch b/patches_treble_personal/device_phh_treble/0001-Add-Meizu-18-vibrator-support.patch index d12a6b6..ca71a64 100644 --- a/patches_treble_personal/device_phh_treble/0001-Add-Meizu-18-vibrator-support.patch +++ b/patches_treble_personal/device_phh_treble/0001-Add-Meizu-18-vibrator-support.patch @@ -1,4 +1,4 @@ -From d062f81edadf8595aa6638779ecdb868fa89503f Mon Sep 17 00:00:00 2001 +From c237d550fffad14a20990d9ee072dbe44cb31768 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Tue, 22 Jun 2021 13:38:31 +0000 Subject: [PATCH 1/3] Add Meizu 18 vibrator support @@ -28,18 +28,18 @@ Change-Id: Iecf12cd814e8773abfd78a19f98e31125a73761a create mode 100644 meizu-vibrator/service.cpp diff --git a/base.mk b/base.mk -index e2ab27a..588511a 100644 +index 7dce0a0..bb48831 100644 --- a/base.mk +++ b/base.mk -@@ -268,4 +268,8 @@ PRODUCT_PACKAGES += \ - PRODUCT_PACKAGES += \ - androidx.window.extensions +@@ -269,4 +269,8 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk) + PRODUCT_PRODUCT_PROPERTIES += \ + persist.settings.large_screen_opt.enabled=true +# Meizu vibrator +PRODUCT_PACKAGES += \ + android.hardware.vibrator@1.3-service.meizu + - PRODUCT_EXTRA_VNDK_VERSIONS += 28 + PRODUCT_EXTRA_VNDK_VERSIONS += 28 29 diff --git a/meizu-vibrator/Android.bp b/meizu-vibrator/Android.bp new file mode 100644 index 0000000..76ad034 diff --git a/patches_treble_personal/device_phh_treble/0002-Revert-Include-sim-toolkit-app.patch b/patches_treble_personal/device_phh_treble/0002-Revert-Include-sim-toolkit-app.patch index 0c6fad3..36c67e3 100644 --- a/patches_treble_personal/device_phh_treble/0002-Revert-Include-sim-toolkit-app.patch +++ b/patches_treble_personal/device_phh_treble/0002-Revert-Include-sim-toolkit-app.patch @@ -1,4 +1,4 @@ -From 2189f25680a7cfd966b4edf35031b50f9d4e5f88 Mon Sep 17 00:00:00 2001 +From 5e0cf531dacb7a8c6d112917fd69d67c3d978909 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Thu, 28 Oct 2021 01:51:27 +0000 Subject: [PATCH 2/3] Revert "Include sim toolkit app" @@ -11,7 +11,7 @@ Change-Id: I1eb7f4bb070eea649b4cea6280299e629d1edb3d 1 file changed, 3 deletions(-) diff --git a/base.mk b/base.mk -index 588511a..6f50cb0 100644 +index bb48831..27f74f3 100644 --- a/base.mk +++ b/base.mk @@ -172,9 +172,6 @@ PRODUCT_PACKAGES += \ diff --git a/patches_treble_personal/device_phh_treble/0003-Revert-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explic.patch b/patches_treble_personal/device_phh_treble/0003-Revert-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explic.patch index 519464d..84c9268 100644 --- a/patches_treble_personal/device_phh_treble/0003-Revert-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explic.patch +++ b/patches_treble_personal/device_phh_treble/0003-Revert-treble-Set-BOARD_EXT4_SHARE_DUP_BLOCKS-explic.patch @@ -1,4 +1,4 @@ -From 87c3be43f218104271b2d2fc6376c9bcad322392 Mon Sep 17 00:00:00 2001 +From 1332d9d8058ce117d1a3cf8880c13aa24556985b Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 8 Aug 2021 09:31:01 +0000 Subject: [PATCH 3/3] Revert "treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS diff --git a/patches_treble_prerequisite/frameworks_base/0001-Squashed-revert-of-LOS-UDFPS-changes.patch b/patches_treble_prerequisite/frameworks_base/0001-Squashed-revert-of-LOS-UDFPS-changes.patch index aacd74d..e95da75 100644 --- a/patches_treble_prerequisite/frameworks_base/0001-Squashed-revert-of-LOS-UDFPS-changes.patch +++ b/patches_treble_prerequisite/frameworks_base/0001-Squashed-revert-of-LOS-UDFPS-changes.patch @@ -1,10 +1,14 @@ -From d68dec915906c30f41828fda7d501d1e476d646c Mon Sep 17 00:00:00 2001 +From 927ad33505d92b92867c6c0b0c0d412780be2e93 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan -Date: Wed, 31 Jan 2024 08:39:53 +0800 +Date: Sun, 21 Apr 2024 18:02:54 +0800 Subject: [PATCH 1/2] Squashed revert of LOS UDFPS changes Way less than FOD, but reverting them nonetheless to keep in line with PHH AOSP +- Revert "fixup! udfps: Restore illumination dot for global hbm" +- Revert "fixup! SystemUI: Add UDFPS framework dimming support" +- Revert "fixup! SystemUI: Add UDFPS framework dimming support" +- Revert "fixup! udfps: Make pressed udfp view configurable" - Revert "SystemUI: Only set dim behind UDFPS if it is actually enabled" - Revert "SystemUI: Add UDFPS framework dimming support" - Revert "udfps: Make pressed udfp view configurable" @@ -16,8 +20,8 @@ Way less than FOD, but reverting them nonetheless to keep in line with PHH AOSP .../systemui/biometrics/UdfpsController.java | 82 --------- .../biometrics/UdfpsControllerOverlay.kt | 13 -- .../systemui/biometrics/UdfpsSurfaceView.java | 159 ------------------ - .../android/systemui/biometrics/UdfpsView.kt | 31 +--- - 7 files changed, 1 insertion(+), 329 deletions(-) + .../android/systemui/biometrics/UdfpsView.kt | 32 +--- + 7 files changed, 1 insertion(+), 330 deletions(-) delete mode 100644 packages/SystemUI/res/drawable-nodpi/udfps_icon_pressed.png delete mode 100644 packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java @@ -49,7 +53,7 @@ index 0fcbfa161ddf..257d238f5c54 100644 - diff --git a/packages/SystemUI/res/values/lineage_config.xml b/packages/SystemUI/res/values/lineage_config.xml -index 0454ba1205d9..31a7012accc4 100644 +index 79c2865567a7..a708f909d4a9 100644 --- a/packages/SystemUI/res/values/lineage_config.xml +++ b/packages/SystemUI/res/values/lineage_config.xml @@ -15,45 +15,6 @@ @@ -99,10 +103,10 @@ index 0454ba1205d9..31a7012accc4 100644 false diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java -index 7ccd2881a0ea..3472a859ac82 100644 +index 0dc13ff29771..65668b56a9f3 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java -@@ -50,7 +50,6 @@ import android.os.Process; +@@ -48,7 +48,6 @@ import android.os.PowerManager; import android.os.Trace; import android.os.VibrationAttributes; import android.os.VibrationEffect; @@ -110,7 +114,7 @@ index 7ccd2881a0ea..3472a859ac82 100644 import android.util.Log; import android.view.HapticFeedbackConstants; import android.view.LayoutInflater; -@@ -221,9 +220,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { +@@ -217,9 +216,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { private boolean mAttemptedToDismissKeyguard; private final Set mCallbacks = new HashSet<>(); @@ -120,7 +124,7 @@ index 7ccd2881a0ea..3472a859ac82 100644 @VisibleForTesting public static final VibrationAttributes UDFPS_VIBRATION_ATTRIBUTES = new VibrationAttributes.Builder() -@@ -928,8 +924,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { +@@ -746,8 +742,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { final UdfpsOverlayController mUdfpsOverlayController = new UdfpsOverlayController(); mFingerprintManager.setUdfpsOverlayController(mUdfpsOverlayController); @@ -129,17 +133,17 @@ index 7ccd2881a0ea..3472a859ac82 100644 final IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); context.registerReceiver(mBroadcastReceiver, filter, -@@ -1146,64 +1140,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { +@@ -970,64 +964,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { return mSensorProps.sensorType == FingerprintSensorProperties.TYPE_UDFPS_OPTICAL; } - private void initUdfpsFrameworkDimming() { - mUseFrameworkDimming = mContext.getResources().getBoolean( -- com.android.systemui.R.bool.config_udfpsFrameworkDimming); +- com.android.systemui.res.R.bool.config_udfpsFrameworkDimming); - - if (mUseFrameworkDimming) { - String[] array = mContext.getResources().getStringArray( -- com.android.systemui.R.array.config_udfpsDimmingBrightnessAlphaArray); +- com.android.systemui.res.R.array.config_udfpsDimmingBrightnessAlphaArray); - mBrightnessAlphaArray = new int[array.length][2]; - for (int i = 0; i < array.length; i++) { - String[] s = array[i].split(","); @@ -158,9 +162,9 @@ index 7ccd2881a0ea..3472a859ac82 100644 - Settings.System.SCREEN_BRIGHTNESS, 100); - // Since the brightness is taken from the system settings, we need to interpolate it - final int brightnessMin = mContext.getResources().getInteger( -- com.android.systemui.R.integer.config_udfpsDimmingBrightnessMin); +- com.android.systemui.res.R.integer.config_udfpsDimmingBrightnessMin); - final int brightnessMax = mContext.getResources().getInteger( -- com.android.systemui.R.integer.config_udfpsDimmingBrightnessMax); +- com.android.systemui.res.R.integer.config_udfpsDimmingBrightnessMax); - if (brightnessMax > 0) { - brightness = interpolate(brightness, 0, 255, brightnessMin, brightnessMax); - } @@ -194,24 +198,24 @@ index 7ccd2881a0ea..3472a859ac82 100644 public boolean isFingerDown() { return mOnFingerDown; } -@@ -1219,7 +1155,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { - mSensorProps.sensorId); - mLatencyTracker.onActionEnd(LatencyTracker.ACTION_UDFPS_ILLUMINATE); - } +@@ -1036,7 +972,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { + mFingerprintManager.onUdfpsUiEvent(FingerprintManager.UDFPS_UI_READY, requestId, + mSensorProps.sensorId); + mLatencyTracker.onActionEnd(LatencyTracker.ACTION_UDFPS_ILLUMINATE); - updateViewDimAmount(); } private void onFingerDown( -@@ -1369,23 +1304,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { - unconfigureDisplay(view); - } +@@ -1158,23 +1093,6 @@ public class UdfpsController implements DozeReceiver, Dumpable { + mOnFingerDown = false; + unconfigureDisplay(view); cancelAodSendFingerUpAction(); - - // Add a delay to ensure that the dim amount is updated after the display has had chance - // to switch out of HBM mode. The delay, in ms is stored in config_udfpsDimmingDisableDelay. - // If the delay is 0, the dim amount will be updated immediately. - final int delay = mContext.getResources().getInteger( -- com.android.systemui.R.integer.config_udfpsDimmingDisableDelay); +- com.android.systemui.res.R.integer.config_udfpsDimmingDisableDelay); - if (delay > 0) { - mFgExecutor.executeDelayed(() -> { - // A race condition exists where the overlay is destroyed before the dim amount @@ -227,10 +231,10 @@ index 7ccd2881a0ea..3472a859ac82 100644 /** diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt -index 1edcf86650d6..d6ef94d18e71 100644 +index 4983610df57a..dae6d08f7331 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt -@@ -123,8 +123,6 @@ class UdfpsControllerOverlay @JvmOverloads constructor( +@@ -131,8 +131,6 @@ class UdfpsControllerOverlay @JvmOverloads constructor( private var overlayTouchListener: TouchExplorationStateChangeListener? = null @@ -239,7 +243,7 @@ index 1edcf86650d6..d6ef94d18e71 100644 private val coreLayoutParams = WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, 0 /* flags set in computeLayoutParams() */, -@@ -136,11 +134,7 @@ class UdfpsControllerOverlay @JvmOverloads constructor( +@@ -144,23 +142,12 @@ class UdfpsControllerOverlay @JvmOverloads constructor( layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS flags = (Utils.FINGERPRINT_OVERLAY_LAYOUT_PARAM_FLAGS or WindowManager.LayoutParams.FLAG_SPLIT_TOUCH) @@ -250,24 +254,22 @@ index 1edcf86650d6..d6ef94d18e71 100644 - dimAmount = 0.0f // Avoid announcing window title. accessibilityTitle = " " - -@@ -149,13 +143,6 @@ class UdfpsControllerOverlay @JvmOverloads constructor( - } + inputFeatures = WindowManager.LayoutParams.INPUT_FEATURE_SPY } - var dimAmount - get() = coreLayoutParams.dimAmount - set(value) { - coreLayoutParams.dimAmount = value -- windowManager.updateViewLayout(overlayView, coreLayoutParams) +- windowManager.updateViewLayout(getTouchOverlay(), coreLayoutParams) - } - /** If the overlay is currently showing. */ val isShowing: Boolean - get() = overlayView != null + get() = getTouchOverlay() != null diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java deleted file mode 100644 -index 2488132b508b..000000000000 +index 2e0e9491dd5b..000000000000 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java +++ /dev/null @@ -1,159 +0,0 @@ @@ -303,7 +305,7 @@ index 2488132b508b..000000000000 -import android.view.SurfaceHolder; -import android.view.SurfaceView; - --import com.android.systemui.R; +-import com.android.systemui.res.R; - -/** - * Surface View for providing the Global High-Brightness Mode (GHBM) illumination for UDFPS. @@ -431,27 +433,31 @@ index 2488132b508b..000000000000 - } -} diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -index ef7fcc954590..06dee7a2b9f6 100644 +index a8e4e95114ca..76bcd6e2863b 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -@@ -25,7 +25,6 @@ import android.graphics.RectF +@@ -24,11 +24,9 @@ import android.graphics.RectF import android.util.AttributeSet import android.util.Log import android.view.MotionEvent -import android.view.Surface import android.widget.FrameLayout - import com.android.settingslib.udfps.UdfpsOverlayParams - import com.android.systemui.R -@@ -62,8 +61,6 @@ class UdfpsView( - a.getFloat(R.styleable.UdfpsView_sensorTouchAreaCoefficient, 0f) - } + import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams + import com.android.systemui.doze.DozeReceiver +-import com.android.systemui.res.R + + private const val TAG = "UdfpsView" + +@@ -49,8 +47,6 @@ class UdfpsView( + textSize = 32f + } - private var ghbmView: UdfpsSurfaceView? = null - /** View controller (can be different for enrollment, BiometricPrompt, Keyguard, etc.). */ var animationViewController: UdfpsAnimationViewController<*>? = null -@@ -90,10 +87,6 @@ class UdfpsView( +@@ -77,10 +73,6 @@ class UdfpsView( return (animationViewController == null || !animationViewController!!.shouldPauseAuth()) } @@ -462,7 +468,7 @@ index ef7fcc954590..06dee7a2b9f6 100644 override fun dozeTimeTick() { animationViewController?.dozeTimeTick() } -@@ -157,34 +150,12 @@ class UdfpsView( +@@ -114,34 +106,12 @@ class UdfpsView( fun configureDisplay(onDisplayConfigured: Runnable) { isDisplayConfigured = true animationViewController?.onDisplayConfiguring() diff --git a/patches_treble_prerequisite/frameworks_base/0002-Revert-Biometrics-Allow-disabling-of-fingerprint-cle.patch b/patches_treble_prerequisite/frameworks_base/0002-Revert-Biometrics-Allow-disabling-of-fingerprint-cle.patch index 3ceca44..895b494 100644 --- a/patches_treble_prerequisite/frameworks_base/0002-Revert-Biometrics-Allow-disabling-of-fingerprint-cle.patch +++ b/patches_treble_prerequisite/frameworks_base/0002-Revert-Biometrics-Allow-disabling-of-fingerprint-cle.patch @@ -1,4 +1,4 @@ -From c99885957f2f301d69d6e4f142856f1ea44f2703 Mon Sep 17 00:00:00 2001 +From 58171eec5da2091f45c6c110ae4de2bd6717820b Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sun, 21 Jan 2024 23:21:02 +0800 Subject: [PATCH 2/2] Revert "Biometrics: Allow disabling of fingerprint @@ -10,21 +10,21 @@ This reverts commit add9f4dc93bba9d414ad67a0770b82c06747d09f. 1 file changed, 8 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java -index 8ba20b66122c..d0b71fcf2dbb 100644 +index 4ff18edc82b9..d3cecd0e34c7 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java -@@ -133,8 +133,6 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider - private final int mSensorId; +@@ -143,8 +143,6 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider private final boolean mIsPowerbuttonFps; + private AidlSession mSession; - private boolean mCleanup; - private final class BiometricTaskStackListener extends TaskStackListener { @Override public void onTaskStackChanged() { -@@ -359,9 +357,6 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider - mAuthenticationStatsCollector = new AuthenticationStatsCollector(mContext, - BiometricsProtoEnums.MODALITY_FINGERPRINT, new BiometricNotificationImpl()); +@@ -377,9 +375,6 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider + mAuthenticationStatsCollector = collector; + }); - mCleanup = context.getResources().getBoolean( - org.lineageos.platform.internal.R.bool.config_cleanupUnusedFingerprints); @@ -32,7 +32,7 @@ index 8ba20b66122c..d0b71fcf2dbb 100644 try { ActivityManager.getService().registerUserSwitchObserver(mUserSwitchObserver, TAG); } catch (RemoteException e) { -@@ -751,9 +746,6 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider +@@ -1009,9 +1004,6 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider private void scheduleInternalCleanup(int userId, @Nullable ClientMonitorCallback callback) { diff --git a/patches_treble_prerequisite/frameworks_native/0001-Revert-CompositionEngine-Request-device-composition-.patch b/patches_treble_prerequisite/frameworks_native/0001-Revert-CompositionEngine-Request-device-composition-.patch index 78efb21..ee6b085 100644 --- a/patches_treble_prerequisite/frameworks_native/0001-Revert-CompositionEngine-Request-device-composition-.patch +++ b/patches_treble_prerequisite/frameworks_native/0001-Revert-CompositionEngine-Request-device-composition-.patch @@ -1,4 +1,4 @@ -From 09fac47349b2e39d2e53b2b638b98d17d3bd18a4 Mon Sep 17 00:00:00 2001 +From d39466c50305a64ff3a683b1e13373379273ee57 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Mon, 20 Nov 2023 22:00:14 +0800 Subject: [PATCH 1/2] Revert "CompositionEngine: Request device composition for @@ -10,7 +10,7 @@ This reverts commit 69fad8aa4098b007fe17472902159705fdcd957f. 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/services/surfaceflinger/CompositionEngine/src/Output.cpp b/services/surfaceflinger/CompositionEngine/src/Output.cpp -index 2eb1a5c399..793959cea6 100644 +index f680fc5eac..09c7c9933a 100644 --- a/services/surfaceflinger/CompositionEngine/src/Output.cpp +++ b/services/surfaceflinger/CompositionEngine/src/Output.cpp @@ -22,7 +22,6 @@ @@ -21,7 +21,7 @@ index 2eb1a5c399..793959cea6 100644 #include #include #include -@@ -901,10 +900,7 @@ void Output::writeCompositionState(const compositionengine::CompositionRefreshAr +@@ -915,10 +914,7 @@ void Output::writeCompositionState(const compositionengine::CompositionRefreshAr compositionengine::OutputLayer* Output::findLayerRequestingBackgroundComposition() const { compositionengine::OutputLayer* layerRequestingBgComposition = nullptr; @@ -30,10 +30,10 @@ index 2eb1a5c399..793959cea6 100644 - compositionengine::OutputLayer* nextLayer = getOutputLayerOrderedByZByIndex(i + 1); - + for (auto* layer : getOutputLayersOrderedByZ()) { - auto* compState = layer->getLayerFE().getCompositionState(); + const auto* compState = layer->getLayerFE().getCompositionState(); // If any layer has a sideband stream, we will disable blurs. In that case, we don't -@@ -918,16 +914,6 @@ compositionengine::OutputLayer* Output::findLayerRequestingBackgroundComposition +@@ -938,16 +934,6 @@ compositionengine::OutputLayer* Output::findLayerRequestingBackgroundComposition if (compState->backgroundBlurRadius > 0 || compState->blurRegions.size() > 0) { layerRequestingBgComposition = layer; } diff --git a/patches_treble_prerequisite/frameworks_native/0002-Revert-surfaceflinger-Add-support-for-Udfps-extensio.patch b/patches_treble_prerequisite/frameworks_native/0002-Revert-surfaceflinger-Add-support-for-Udfps-extensio.patch index d754fda..ddbcc85 100644 --- a/patches_treble_prerequisite/frameworks_native/0002-Revert-surfaceflinger-Add-support-for-Udfps-extensio.patch +++ b/patches_treble_prerequisite/frameworks_native/0002-Revert-surfaceflinger-Add-support-for-Udfps-extensio.patch @@ -1,4 +1,4 @@ -From 9428b1b39a473592423f2d2f7812cf3815a68b86 Mon Sep 17 00:00:00 2001 +From 16d9d6827247991744b80aff6793582c42da9ba0 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Mon, 20 Nov 2023 22:00:23 +0800 Subject: [PATCH 2/2] Revert "surfaceflinger: Add support for Udfps extension @@ -15,10 +15,16 @@ This reverts commit 8655d06e960235c0f9ad079be3541fee2a0359f7. delete mode 100644 services/surfaceflinger/CompositionEngine/src/UdfpsExtension.cpp diff --git a/services/surfaceflinger/CompositionEngine/Android.bp b/services/surfaceflinger/CompositionEngine/Android.bp -index cdec4abdba..f3a0186e3e 100644 +index 52bc260720..ae2f2dbbf5 100644 --- a/services/surfaceflinger/CompositionEngine/Android.bp +++ b/services/surfaceflinger/CompositionEngine/Android.bp -@@ -61,10 +61,7 @@ cc_defaults { +@@ -84,16 +84,12 @@ filegroup { + "src/OutputLayer.cpp", + "src/OutputLayerCompositionState.cpp", + "src/RenderSurface.cpp", +- "src/UdfpsExtension.cpp", + ], + } cc_library { name: "libcompositionengine", @@ -27,18 +33,10 @@ index cdec4abdba..f3a0186e3e 100644 - "surfaceflinger_udfps_lib_defaults", - ], + defaults: ["libcompositionengine_defaults"], - srcs: [ - "src/planner/CachedSet.cpp", - "src/planner/Flattener.cpp", -@@ -86,7 +83,6 @@ cc_library { - "src/OutputLayer.cpp", - "src/OutputLayerCompositionState.cpp", - "src/RenderSurface.cpp", -- "src/UdfpsExtension.cpp", - ], - local_include_dirs: ["include"], - export_include_dirs: ["include"], -@@ -115,14 +111,6 @@ cc_library { + static_libs: [ + "libsurfaceflinger_common", + "libsurfaceflingerflags", +@@ -136,14 +132,6 @@ cc_library { export_include_dirs: ["include"], } @@ -89,10 +87,10 @@ index 4306cb4a02..0000000000 - -#endif /* __UDFPS_EXTENSION__H__ */ diff --git a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp -index a314553dd2..0ac0ecb727 100644 +index 11b9024e99..7fe3369f88 100644 --- a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp +++ b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp -@@ -19,7 +19,6 @@ +@@ -18,7 +18,6 @@ #include #include #include @@ -100,7 +98,7 @@ index a314553dd2..0ac0ecb727 100644 #include #include #include -@@ -449,17 +448,7 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer, +@@ -459,17 +458,7 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer, sourceCrop.bottom, to_string(error).c_str(), static_cast(error)); } diff --git a/patches_treble_td/platform_bionic/0001-Disable-vndklite-handling.patch b/patches_treble_td/platform_bionic/0001-Disable-vndklite-handling.patch index 3828e83..7a1939f 100644 --- a/patches_treble_td/platform_bionic/0001-Disable-vndklite-handling.patch +++ b/patches_treble_td/platform_bionic/0001-Disable-vndklite-handling.patch @@ -1,4 +1,4 @@ -From cb9d1aaacaa105c20551952ead0ad7a49408efce Mon Sep 17 00:00:00 2001 +From b354689bc72bb0ab0da52cc11ec5930444606d2c Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 27 Oct 2021 14:39:29 -0400 Subject: [PATCH 1/2] Disable vndklite handling @@ -9,10 +9,10 @@ Change-Id: Ic4474cf80fc4b45a9a2760dd51e2ca29c4d961e2 1 file changed, 5 deletions(-) diff --git a/linker/linker.cpp b/linker/linker.cpp -index 17b574fc1..c863f8ea6 100644 +index 135eaa380..93523dcc0 100644 --- a/linker/linker.cpp +++ b/linker/linker.cpp -@@ -95,7 +95,6 @@ static uint64_t g_module_unload_counter = 0; +@@ -97,7 +97,6 @@ static uint64_t g_module_unload_counter = 0; static const char* const kLdConfigArchFilePath = "/system/etc/ld.config." ABI_STRING ".txt"; static const char* const kLdConfigFilePath = "/system/etc/ld.config.txt"; @@ -20,7 +20,7 @@ index 17b574fc1..c863f8ea6 100644 static const char* const kLdGeneratedConfigFilePath = "/linkerconfig/ld.config.txt"; -@@ -3423,10 +3422,6 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) { +@@ -3444,10 +3443,6 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) { } static std::string get_ld_config_file_vndk_path() { diff --git a/patches_treble_td/platform_bionic/0002-Add-new-mechanism-to-fake-vendor-props-on-a-per-proc.patch b/patches_treble_td/platform_bionic/0002-Add-new-mechanism-to-fake-vendor-props-on-a-per-proc.patch index a212392..07f603b 100644 --- a/patches_treble_td/platform_bionic/0002-Add-new-mechanism-to-fake-vendor-props-on-a-per-proc.patch +++ b/patches_treble_td/platform_bionic/0002-Add-new-mechanism-to-fake-vendor-props-on-a-per-proc.patch @@ -1,4 +1,4 @@ -From ab1289090a65808ee3fbbeb40b0a77e91c1a6aab Mon Sep 17 00:00:00 2001 +From 0cbe25143ccc28bd13d85cd2c01cbb9ac6cf9be4 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 19 Feb 2022 08:20:25 -0500 Subject: [PATCH 2/2] Add new mechanism to fake vendor props on a per-process @@ -11,10 +11,10 @@ then ro.product.device/ro.product.manufacturer is read from vendor 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/libc/system_properties/system_properties.cpp b/libc/system_properties/system_properties.cpp -index 1cb15c3df..057199318 100644 +index 9dd5e35ce..886bef127 100644 --- a/libc/system_properties/system_properties.cpp +++ b/libc/system_properties/system_properties.cpp -@@ -35,6 +35,8 @@ +@@ -36,6 +36,8 @@ #include #include #include @@ -23,9 +23,9 @@ index 1cb15c3df..057199318 100644 #include -@@ -50,6 +52,85 @@ - #define SERIAL_DIRTY(serial) ((serial)&1) +@@ -53,6 +55,85 @@ #define SERIAL_VALUE_LEN(serial) ((serial) >> 24) + #define APPCOMPAT_PREFIX "ro.appcompat_override." +static char comm[128]; +static bool self_ok = false; @@ -109,7 +109,7 @@ index 1cb15c3df..057199318 100644 static bool is_dir(const char* pathname) { struct stat info; if (stat(pathname, &info) == -1) { -@@ -123,17 +204,19 @@ uint32_t SystemProperties::AreaSerial() { +@@ -156,17 +237,19 @@ uint32_t SystemProperties::AreaSerial() { } const prop_info* SystemProperties::Find(const char* name) { @@ -130,7 +130,7 @@ index 1cb15c3df..057199318 100644 + return pa->find(newName); } - static bool is_read_only(const char* name) { + static bool is_appcompat_override(const char* name) { -- 2.25.1 diff --git a/patches_treble_td/platform_bootable_recovery/0001-Don-t-reboot-if-we-couldn-t-get-bootctrl.patch b/patches_treble_td/platform_bootable_recovery/0001-Don-t-reboot-if-we-couldn-t-get-bootctrl.patch index c8c91fa..3dd8c94 100644 --- a/patches_treble_td/platform_bootable_recovery/0001-Don-t-reboot-if-we-couldn-t-get-bootctrl.patch +++ b/patches_treble_td/platform_bootable_recovery/0001-Don-t-reboot-if-we-couldn-t-get-bootctrl.patch @@ -1,4 +1,4 @@ -From 6b118b279359ded66d661bd5504cfa8a9759b4e2 Mon Sep 17 00:00:00 2001 +From fe82aa41e542f4da2709976cda0713dfa089cc1d Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 12 Sep 2019 20:31:07 +0200 Subject: [PATCH] Don't reboot if we couldn't get bootctrl diff --git a/patches_treble_td/platform_build/0003-Include-vndk-v28-sepolicy-support.patch b/patches_treble_td/platform_build/0001-Include-vndk-v28-sepolicy-support.patch similarity index 59% rename from patches_treble_td/platform_build/0003-Include-vndk-v28-sepolicy-support.patch rename to patches_treble_td/platform_build/0001-Include-vndk-v28-sepolicy-support.patch index 36a53c8..a41ae96 100644 --- a/patches_treble_td/platform_build/0003-Include-vndk-v28-sepolicy-support.patch +++ b/patches_treble_td/platform_build/0001-Include-vndk-v28-sepolicy-support.patch @@ -1,20 +1,20 @@ -From 7a3067d35183c2b6ceac06dcaecd81c55bd58494 Mon Sep 17 00:00:00 2001 +From 948c7a611e69510c38d593bb581cc1c21d080682 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Oct 2023 19:11:22 -0400 -Subject: [PATCH 3/4] Include vndk v28 sepolicy support +Subject: [PATCH 1/2] Include vndk v28 sepolicy support --- core/config.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/core/config.mk b/core/config.mk -index 8f7af0512a..f693461f61 100644 +index 19308d7f22..369940845e 100644 --- a/core/config.mk +++ b/core/config.mk -@@ -916,6 +916,7 @@ endif +@@ -932,6 +932,7 @@ endif # A list of SEPolicy versions, besides PLATFORM_SEPOLICY_VERSION, that the framework supports. - PLATFORM_SEPOLICY_COMPAT_VERSIONS := \ + PLATFORM_SEPOLICY_COMPAT_VERSIONS := $(filter-out $(PLATFORM_SEPOLICY_VERSION), \ + 28.0 \ 29.0 \ 30.0 \ diff --git a/patches_treble_td/platform_build/0001-build-remove-emulator-crap-from-GSI.patch b/patches_treble_td/platform_build/0001-build-remove-emulator-crap-from-GSI.patch deleted file mode 100644 index fa3f38e..0000000 --- a/patches_treble_td/platform_build/0001-build-remove-emulator-crap-from-GSI.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4ec43947116f793a592988b91389132b22bf1fb2 Mon Sep 17 00:00:00 2001 -From: sooti -Date: Tue, 12 Oct 2021 14:32:52 +0300 -Subject: [PATCH 1/4] build: remove emulator crap from GSI - -Change-Id: Id45f3ff1d31e3d4492f956e68a1eb4b2fb82ce63 ---- - target/product/emulator_vendor.mk | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/target/product/emulator_vendor.mk b/target/product/emulator_vendor.mk -index f71b275b0e..62984253f3 100644 ---- a/target/product/emulator_vendor.mk -+++ b/target/product/emulator_vendor.mk -@@ -28,7 +28,7 @@ PRODUCT_PACKAGES += \ - - DEVICE_PACKAGE_OVERLAYS := device/generic/goldfish/overlay - --PRODUCT_CHARACTERISTICS := emulator -+# PRODUCT_CHARACTERISTICS := emulator - - PRODUCT_FULL_TREBLE_OVERRIDE := true - -@@ -48,5 +48,5 @@ PRODUCT_SYSTEM_EXT_PROPERTIES += \ - ro.com.google.locationfeatures=1 - - # disable setupwizard --PRODUCT_SYSTEM_EXT_PROPERTIES += \ -- ro.setupwizard.mode?=DISABLED -+# PRODUCT_SYSTEM_EXT_PROPERTIES += \ -+# ro.setupwizard.mode?=DISABLED --- -2.34.1 - diff --git a/patches_treble_td/platform_build/0002-build-Bypass-vendor-calls.patch b/patches_treble_td/platform_build/0002-build-Bypass-vendor-calls.patch deleted file mode 100644 index b18daea..0000000 --- a/patches_treble_td/platform_build/0002-build-Bypass-vendor-calls.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6b27f2fd5851e7b9ac30922640b480282252a8c7 Mon Sep 17 00:00:00 2001 -From: Alberto Ponces -Date: Mon, 18 Oct 2021 17:20:18 +0100 -Subject: [PATCH 2/4] build: Bypass vendor calls - -Change-Id: I69830d6264356dadd7b037553a899a4eb3d211f1 ---- - target/product/aosp_arm64.mk | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/target/product/aosp_arm64.mk b/target/product/aosp_arm64.mk -index 6c907db0ed..0adced1672 100644 ---- a/target/product/aosp_arm64.mk -+++ b/target/product/aosp_arm64.mk -@@ -54,9 +54,9 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk) - # - # All components inherited here go to vendor or vendor_boot image - # --$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator_vendor.mk) --$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk) --$(call inherit-product, $(SRC_TARGET_DIR)/product/non_ab_device.mk) -+#$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator_vendor.mk) -+#$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk) -+#$(call inherit-product, $(SRC_TARGET_DIR)/product/non_ab_device.mk) - - # - # Special settings for GSI releasing --- -2.34.1 - diff --git a/patches_treble_td/platform_build/0004-core-sysprop-Write-build-display-id-to-product-prop.patch b/patches_treble_td/platform_build/0002-core-sysprop-Write-build-display-id-to-product-prop.patch similarity index 76% rename from patches_treble_td/platform_build/0004-core-sysprop-Write-build-display-id-to-product-prop.patch rename to patches_treble_td/platform_build/0002-core-sysprop-Write-build-display-id-to-product-prop.patch index 5662e02..1b9bbc2 100644 --- a/patches_treble_td/platform_build/0004-core-sysprop-Write-build-display-id-to-product-prop.patch +++ b/patches_treble_td/platform_build/0002-core-sysprop-Write-build-display-id-to-product-prop.patch @@ -1,7 +1,7 @@ -From 8c802e0a41a2a54d6ed53f3b7e60de307469f628 Mon Sep 17 00:00:00 2001 +From 7675f6e75fbc4f5c9eb2d77602f8f3d72cd59706 Mon Sep 17 00:00:00 2001 From: Adithya R Date: Thu, 18 Aug 2022 21:29:34 +0530 -Subject: [PATCH 4/4] core: sysprop: Write build display id to product prop +Subject: [PATCH 2/2] core: sysprop: Write build display id to product prop Some vendors override build id in odm or vendor, such as oplus. @@ -11,7 +11,7 @@ Change-Id: I1c2de43ba7c3544710897ad9127d320dd02293fe 1 file changed, 3 insertions(+) diff --git a/core/sysprop.mk b/core/sysprop.mk -index d2551aa44d..f913d11743 100644 +index da8cdaff5e..678328d46d 100644 --- a/core/sysprop.mk +++ b/core/sysprop.mk @@ -77,6 +77,9 @@ define generate-common-build-props @@ -23,7 +23,7 @@ index d2551aa44d..f913d11743 100644 + )\ echo "ro.$(1).build.date=`$(DATE_FROM_FILE)`" >> $(2);\ echo "ro.$(1).build.date.utc=`$(DATE_FROM_FILE) +%s`" >> $(2);\ - echo "ro.$(1).build.fingerprint=$(BUILD_FINGERPRINT_FROM_FILE)" >> $(2);\ + echo "ro.$(1).build.fingerprint?=$(BUILD_FINGERPRINT_FROM_FILE)" >> $(2);\ -- 2.34.1 diff --git a/patches_treble_td/platform_external_selinux/0001-Increase-default-log_level-to-get-actual-selinux-err.patch b/patches_treble_td/platform_external_selinux/0001-Increase-default-log_level-to-get-actual-selinux-err.patch index 153a78a..e6a506b 100644 --- a/patches_treble_td/platform_external_selinux/0001-Increase-default-log_level-to-get-actual-selinux-err.patch +++ b/patches_treble_td/platform_external_selinux/0001-Increase-default-log_level-to-get-actual-selinux-err.patch @@ -1,4 +1,4 @@ -From aa0cbcaebbaf0886abfd6bd97232798c7cb5be9b Mon Sep 17 00:00:00 2001 +From 3d471c1fbb11c1d0b15eadf53b1f201fee44f35f Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 9 Apr 2018 00:19:49 +0200 Subject: [PATCH 01/10] Increase default log_level to get actual selinux error diff --git a/patches_treble_td/platform_external_selinux/0002-Revert-libsepol-Make-an-unknown-permission-an-error-.patch b/patches_treble_td/platform_external_selinux/0002-Revert-libsepol-Make-an-unknown-permission-an-error-.patch index f89e5ba..9312b07 100644 --- a/patches_treble_td/platform_external_selinux/0002-Revert-libsepol-Make-an-unknown-permission-an-error-.patch +++ b/patches_treble_td/platform_external_selinux/0002-Revert-libsepol-Make-an-unknown-permission-an-error-.patch @@ -1,4 +1,4 @@ -From a88a863bdd7cee7e8d8a681d7f32d9ff6d0bc746 Mon Sep 17 00:00:00 2001 +From c401d3fca4a1783c9a84348e61a036c016b6e358 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 9 Sep 2020 22:36:42 +0200 Subject: [PATCH 02/10] Revert "libsepol: Make an unknown permission an error diff --git a/patches_treble_td/platform_external_selinux/0003-Workaround-device-phh-treble-conflict-with-SELinux-p.patch b/patches_treble_td/platform_external_selinux/0003-Workaround-device-phh-treble-conflict-with-SELinux-p.patch index 2587ba3..3690774 100644 --- a/patches_treble_td/platform_external_selinux/0003-Workaround-device-phh-treble-conflict-with-SELinux-p.patch +++ b/patches_treble_td/platform_external_selinux/0003-Workaround-device-phh-treble-conflict-with-SELinux-p.patch @@ -1,4 +1,4 @@ -From 01034f4009d29c401d5f007f76044482c0ed8bd0 Mon Sep 17 00:00:00 2001 +From 561b2e69be86a1c40d402ba06e845546bade9b32 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 31 Mar 2021 23:32:37 +0200 Subject: [PATCH 03/10] Workaround device/phh/treble conflict with SELinux diff --git a/patches_treble_td/platform_external_selinux/0004-Allow-devices-virtual-block-genfscon-conflict-seen-o.patch b/patches_treble_td/platform_external_selinux/0004-Allow-devices-virtual-block-genfscon-conflict-seen-o.patch index 4ee6ec7..eea50ee 100644 --- a/patches_treble_td/platform_external_selinux/0004-Allow-devices-virtual-block-genfscon-conflict-seen-o.patch +++ b/patches_treble_td/platform_external_selinux/0004-Allow-devices-virtual-block-genfscon-conflict-seen-o.patch @@ -1,4 +1,4 @@ -From 81fa34b00d80113ed4015b99dab093826c1acb89 Mon Sep 17 00:00:00 2001 +From 674bf16f42a5c64c8c4acd0a9c458f78fdef785e Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Sep 2019 15:07:25 +0200 Subject: [PATCH 04/10] Allow /devices/virtual/block/ genfscon conflict (seen diff --git a/patches_treble_td/platform_external_selinux/0005-if-service-is-rcs-accept-conflict.-Seen-on-Moto-E5.patch b/patches_treble_td/platform_external_selinux/0005-if-service-is-rcs-accept-conflict.-Seen-on-Moto-E5.patch index bbbc4da..f87a01a 100644 --- a/patches_treble_td/platform_external_selinux/0005-if-service-is-rcs-accept-conflict.-Seen-on-Moto-E5.patch +++ b/patches_treble_td/platform_external_selinux/0005-if-service-is-rcs-accept-conflict.-Seen-on-Moto-E5.patch @@ -1,4 +1,4 @@ -From 0bc7791b9f1423f70c17b68dd7fb9d672b2bb924 Mon Sep 17 00:00:00 2001 +From e4a26d31aab7bb541e1f510c2b231da2345d8dd8 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 12 Sep 2019 20:37:04 +0200 Subject: [PATCH 05/10] if service is "rcs", accept conflict. Seen on Moto E5 diff --git a/patches_treble_td/platform_external_selinux/0006-Allow-mismatches-of-exfat-genfscon.patch b/patches_treble_td/platform_external_selinux/0006-Allow-mismatches-of-exfat-genfscon.patch index 90d8b43..fe27936 100644 --- a/patches_treble_td/platform_external_selinux/0006-Allow-mismatches-of-exfat-genfscon.patch +++ b/patches_treble_td/platform_external_selinux/0006-Allow-mismatches-of-exfat-genfscon.patch @@ -1,4 +1,4 @@ -From c4100e160008273781973b2098267e7d343b8956 Mon Sep 17 00:00:00 2001 +From b62703b28a22e12c2f7044abc74689109a88eca1 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 24 May 2020 17:22:22 +0200 Subject: [PATCH 06/10] Allow mismatches of exfat genfscon diff --git a/patches_treble_td/platform_external_selinux/0007-Fix-boot-on-Moto-devices-using-unknown-class.patch b/patches_treble_td/platform_external_selinux/0007-Fix-boot-on-Moto-devices-using-unknown-class.patch index 0f21ff9..41aed8e 100644 --- a/patches_treble_td/platform_external_selinux/0007-Fix-boot-on-Moto-devices-using-unknown-class.patch +++ b/patches_treble_td/platform_external_selinux/0007-Fix-boot-on-Moto-devices-using-unknown-class.patch @@ -1,4 +1,4 @@ -From 4c0afb19a2170e2cd9c4e2a1fdb48cdb16d4100e Mon Sep 17 00:00:00 2001 +From 51de18a6b0c861925c7b4eb5c64f631c90d3c0e7 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 25 Oct 2019 13:29:20 +0200 Subject: [PATCH 07/10] Fix boot on Moto devices using unknown class diff --git a/patches_treble_td/platform_external_selinux/0008-Improve-SELinux-policy-workaround-on-device-phh-treb.patch b/patches_treble_td/platform_external_selinux/0008-Improve-SELinux-policy-workaround-on-device-phh-treb.patch index 88ab3b3..8d227aa 100644 --- a/patches_treble_td/platform_external_selinux/0008-Improve-SELinux-policy-workaround-on-device-phh-treb.patch +++ b/patches_treble_td/platform_external_selinux/0008-Improve-SELinux-policy-workaround-on-device-phh-treb.patch @@ -1,4 +1,4 @@ -From 18cdd4e9ff37377b80f837c92026f1ce3514d074 Mon Sep 17 00:00:00 2001 +From 5ccb1dd0e78eeae1767febd733b9a0e9cd99e1a4 Mon Sep 17 00:00:00 2001 From: ponces Date: Mon, 7 Nov 2022 16:14:20 +0000 Subject: [PATCH 08/10] Improve SELinux policy workaround on device/phh/treble diff --git a/patches_treble_td/platform_external_selinux/0009-Allow-sys-vm-watermark_scale_factor-conflict-seen-on.patch b/patches_treble_td/platform_external_selinux/0009-Allow-sys-vm-watermark_scale_factor-conflict-seen-on.patch index eeefa34..41768e7 100644 --- a/patches_treble_td/platform_external_selinux/0009-Allow-sys-vm-watermark_scale_factor-conflict-seen-on.patch +++ b/patches_treble_td/platform_external_selinux/0009-Allow-sys-vm-watermark_scale_factor-conflict-seen-on.patch @@ -1,4 +1,4 @@ -From e62c978dbf5f214f392355a0d111adc772f10b60 Mon Sep 17 00:00:00 2001 +From a464342a983c1bbdfdc8fe50803a7e35659ecb22 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 20 Jul 2023 14:21:21 -0400 Subject: [PATCH 09/10] Allow /sys/vm/watermark_scale_factor conflict -- seen diff --git a/patches_treble_td/platform_external_selinux/0010-Allow-conflict-on-fuseblk.patch b/patches_treble_td/platform_external_selinux/0010-Allow-conflict-on-fuseblk.patch index 452fd3f..12fe264 100644 --- a/patches_treble_td/platform_external_selinux/0010-Allow-conflict-on-fuseblk.patch +++ b/patches_treble_td/platform_external_selinux/0010-Allow-conflict-on-fuseblk.patch @@ -1,4 +1,4 @@ -From d69b637d22bd02e44ece4e68e53b9151dfda8247 Mon Sep 17 00:00:00 2001 +From fa8cc9f8c1fbdd902dbb6c9708e7e91f78defae9 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Oct 2023 08:49:59 -0400 Subject: [PATCH 10/10] Allow conflict on fuseblk diff --git a/patches_treble_td/platform_frameworks_av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch b/patches_treble_td/platform_frameworks_av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch index 0e9f935..cf23e13 100644 --- a/patches_treble_td/platform_frameworks_av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch +++ b/patches_treble_td/platform_frameworks_av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch @@ -1,4 +1,4 @@ -From a23cc54356f2fe9123e370bed82cad45d67eca9e Mon Sep 17 00:00:00 2001 +From 4edc031741505b06ea466479f419ec86cb04718f Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Thu, 18 Aug 2022 15:44:46 -0400 Subject: [PATCH 01/24] APM: Restore S, R and Q behavior respectively for @@ -36,12 +36,12 @@ Change-Id: I56d36d2aef4319935cb88a3e4771b23c6d5b2145 2 files changed, 147 insertions(+), 62 deletions(-) diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp -index b3c68b58d3..470317cb3d 100644 +index 135548fb9c..fc99bdbd78 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp -@@ -689,6 +689,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal( - disconnectTelephonyAudioSource(mCallRxSourceClient); - disconnectTelephonyAudioSource(mCallTxSourceClient); +@@ -692,6 +692,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal( + ALOGV("%s device rxDevice %s txDevice %s", __func__, + rxDevices.itemAt(0)->toString().c_str(), txSourceDevice->toString().c_str()); + // release existing RX patch if any + if (mCallRxPatch != 0) { @@ -57,7 +57,7 @@ index b3c68b58d3..470317cb3d 100644 auto telephonyRxModule = mHwModules.getModuleForDeviceType(AUDIO_DEVICE_IN_TELEPHONY_RX, AUDIO_FORMAT_DEFAULT); auto telephonyTxModule = -@@ -711,9 +722,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal( +@@ -714,9 +725,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal( ALOGE("%s() no telephony Tx and/or RX device", __func__); return INVALID_OPERATION; } @@ -81,9 +81,9 @@ index b3c68b58d3..470317cb3d 100644 } else { // If the RX device is on the primary HW module, then use legacy routing method for // voice calls via setOutputDevice() on primary output. -@@ -730,7 +752,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal( - if (!createRxPatch) { - muteWaitMs = setOutputDevices(mPrimaryOutput, rxDevices, true, delayMs); +@@ -737,7 +759,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal( + } + muteWaitMs = setOutputDevices(__func__, mPrimaryOutput, rxDevices, true, delayMs); } else { // create RX path audio patch - connectTelephonyRxAudioSource(); + if (property_get_int32("ro.vndk.version", 31) >= 31) { @@ -97,7 +97,7 @@ index b3c68b58d3..470317cb3d 100644 // If the TX device is on the primary HW module but RX device is // on other HW module, SinkMetaData of telephony input should handle it // assuming the device uses audio HAL V5.0 and above -@@ -745,7 +774,12 @@ status_t AudioPolicyManager::updateCallRoutingInternal( +@@ -752,7 +781,12 @@ status_t AudioPolicyManager::updateCallRoutingInternal( closeActiveClients(activeDesc); } } @@ -111,7 +111,7 @@ index b3c68b58d3..470317cb3d 100644 } if (waitMs != nullptr) { *waitMs = muteWaitMs; -@@ -753,6 +787,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal( +@@ -760,6 +794,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal( return NO_ERROR; } @@ -148,7 +148,7 @@ index b3c68b58d3..470317cb3d 100644 bool AudioPolicyManager::isDeviceOfModule( const sp& devDesc, const char *moduleId) const { sp module = mHwModules.getModuleFromName(moduleId); -@@ -5034,83 +5098,101 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch * +@@ -5087,83 +5151,101 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch * // in config XML to reach the sink so that is can be declared as available. audio_io_handle_t output = AUDIO_IO_HANDLE_NONE; sp outputDesc; @@ -308,10 +308,10 @@ index b3c68b58d3..470317cb3d 100644 AUDIO_STREAM_PATCH; patchBuilder.addSource(srcMixPortConfig); diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h -index 863c785b08..41930138c4 100644 +index a1c8f6202c..ee1b595e30 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.h +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h -@@ -957,6 +957,9 @@ protected: +@@ -964,6 +964,9 @@ protected: SoundTriggerSessionCollection mSoundTriggerSessions; diff --git a/patches_treble_td/platform_frameworks_av/0002-Fix-BT-in-call-on-CAF-devices.patch b/patches_treble_td/platform_frameworks_av/0002-Fix-BT-in-call-on-CAF-devices.patch index 260044f..4055256 100644 --- a/patches_treble_td/platform_frameworks_av/0002-Fix-BT-in-call-on-CAF-devices.patch +++ b/patches_treble_td/platform_frameworks_av/0002-Fix-BT-in-call-on-CAF-devices.patch @@ -1,4 +1,4 @@ -From f1a2ee42e286ea44030eea193d8abd2daf865cb5 Mon Sep 17 00:00:00 2001 +From 1a713e8b42c975a61e3751b4acf66732559c4152 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 5 Aug 2019 18:09:50 +0200 Subject: [PATCH 02/24] Fix BT in-call on CAF devices @@ -16,10 +16,10 @@ Change-Id: Ifea0f88276ec9a0811f3cb1973c4b06f2c82077b 1 file changed, 93 insertions(+) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 3d5c1d2e42..5ca409cfe7 100644 +index 6f19a7a145..1ab472f396 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -@@ -663,6 +663,98 @@ std::variant PolicySerializer::deserialize PolicySerializer::deserialize std::variant PolicySerializer::deserialize( const xmlNode *cur, ModuleTraits::PtrSerializingCtx ctx) -@@ -710,6 +802,7 @@ std::variant PolicySerializer::deserialize PolicySerializer::deserialize Date: Tue, 1 Oct 2019 13:35:49 +0200 Subject: [PATCH 03/24] Add (partial, cam id is hardcoded) support for Asus ZF6 @@ -11,18 +11,18 @@ Change-Id: Iea6e1370780a1d16f728748d1d948d092532d8fe 2 files changed, 29 insertions(+) diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp -index ebe424ec25..ac1ba38db9 100644 +index 6acf0b6cae..8d0f3bdab7 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp -@@ -26,6 +26,7 @@ - #include +@@ -28,6 +28,7 @@ + #include #include #include +#include #include #include #include -@@ -154,6 +155,7 @@ static std::set sServiceErrorEventSet; +@@ -153,6 +154,7 @@ static std::set sServiceErrorEventSet; CameraService::CameraService( std::shared_ptr cameraServiceProxyWrapper) : @@ -30,7 +30,7 @@ index ebe424ec25..ac1ba38db9 100644 mCameraServiceProxyWrapper(cameraServiceProxyWrapper == nullptr ? std::make_shared() : cameraServiceProxyWrapper), mEventLog(DEFAULT_EVENT_LOG_LENGTH), -@@ -2344,6 +2346,7 @@ Status CameraService::connectHelper(const sp& cameraCb, const String8& +@@ -2628,6 +2630,7 @@ Status CameraService::connectHelper(const sp& cameraCb, const std::str mServiceLock.lock(); } else { // Otherwise, add client to active clients list @@ -38,7 +38,7 @@ index ebe424ec25..ac1ba38db9 100644 finishConnectLocked(client, partial, oomScoreOffset, systemNativeClient); } -@@ -2468,6 +2471,27 @@ status_t CameraService::addOfflineClient(String8 cameraId, sp offli +@@ -2754,6 +2757,27 @@ status_t CameraService::addOfflineClient(const std::string &cameraId, return OK; } @@ -63,25 +63,25 @@ index ebe424ec25..ac1ba38db9 100644 + } +} + - Status CameraService::turnOnTorchWithStrengthLevel(const String16& unresolvedCameraId, - int32_t torchStrength, - const sp& clientBinder) { -@@ -3733,6 +3757,8 @@ binder::Status CameraService::BasicClient::disconnect() { + Status CameraService::turnOnTorchWithStrengthLevel(const std::string& unresolvedCameraId, + int32_t torchStrength, const sp& clientBinder) { + Mutex::Autolock lock(mServiceLock); +@@ -4023,6 +4047,8 @@ binder::Status CameraService::BasicClient::disconnect() { } mDisconnected = true; + sCameraService->physicalFrontCam(false); + sCameraService->removeByClient(this); - sCameraService->logDisconnected(mCameraIdStr, mClientPid, String8(mClientPackageName)); + sCameraService->logDisconnected(mCameraIdStr, mClientPid, mClientPackageName); sCameraService->mCameraProviderManager->removeRef(CameraProviderManager::DeviceMode::CAMERA, diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h -index 208138f4ab..4ac9362621 100644 +index 7dc0b91cc9..15ea8b9064 100644 --- a/services/camera/libcameraservice/CameraService.h +++ b/services/camera/libcameraservice/CameraService.h -@@ -252,6 +252,9 @@ public: +@@ -271,6 +271,9 @@ public: // Register an offline client for a given active camera id - status_t addOfflineClient(String8 cameraId, sp offlineClient); + status_t addOfflineClient(const std::string &cameraId, sp offlineClient); + bool mPhysicalFrontCamStatus; + void physicalFrontCam(bool on); diff --git a/patches_treble_td/platform_frameworks_av/0004-APM-Optionally-force-load-audio-policy-for-system-si.patch b/patches_treble_td/platform_frameworks_av/0004-APM-Optionally-force-load-audio-policy-for-system-si.patch index d2e809b..5acf256 100644 --- a/patches_treble_td/platform_frameworks_av/0004-APM-Optionally-force-load-audio-policy-for-system-si.patch +++ b/patches_treble_td/platform_frameworks_av/0004-APM-Optionally-force-load-audio-policy-for-system-si.patch @@ -1,4 +1,4 @@ -From 205893589b67163df4b625e417a30b5e20a0197c Mon Sep 17 00:00:00 2001 +From 521e59e5aea2093c82a3ec3171725f49885a1c92 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 24 Aug 2022 15:42:39 -0400 Subject: [PATCH 04/24] APM: Optionally force-load audio policy for system-side @@ -14,7 +14,7 @@ Change-Id: I279fff541a531f922f3fa55b8f14d00237db59ff 1 file changed, 25 insertions(+) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 5ca409cfe7..14b19e76ad 100644 +index 1ab472f396..29d36ca00b 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp @@ -25,6 +25,7 @@ @@ -25,7 +25,7 @@ index 5ca409cfe7..14b19e76ad 100644 #include #include #include -@@ -978,6 +979,30 @@ status_t PolicySerializer::deserialize(const char *configFile, AudioPolicyConfig +@@ -988,6 +989,30 @@ status_t PolicySerializer::deserialize(const char *configFile, AudioPolicyConfig if (status != NO_ERROR) { return status; } diff --git a/patches_treble_td/platform_frameworks_av/0005-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch b/patches_treble_td/platform_frameworks_av/0005-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch index 0630d20..d4cccc3 100644 --- a/patches_treble_td/platform_frameworks_av/0005-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch +++ b/patches_treble_td/platform_frameworks_av/0005-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch @@ -1,4 +1,4 @@ -From 973d0264e4b10d1c30db4361b947378452c1d259 Mon Sep 17 00:00:00 2001 +From 7d9889aa8c86186b6d5d20b9f79a9cb755f7424a Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Thu, 25 Aug 2022 13:30:29 -0400 Subject: [PATCH 05/24] APM: Remove A2DP audio ports from the primary HAL @@ -16,7 +16,7 @@ Change-Id: I3305594a17285da113167b419543543f0ef71122 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 14b19e76ad..b30ad7e8af 100644 +index 29d36ca00b..839974b9d3 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp @@ -26,6 +26,7 @@ @@ -40,7 +40,7 @@ index 14b19e76ad..b30ad7e8af 100644 } } if (!xmlStrcmp(cur->name, reinterpret_cast(Trait::tag))) { -@@ -771,6 +769,7 @@ std::variant PolicySerializer::deserialize PolicySerializer::deserialize PolicySerializer::deserialize PolicySerializer::deserialize Date: Thu, 23 Jan 2020 11:13:43 +0800 Subject: [PATCH 06/24] audiopolicy: try again with trimmed audio port name if @@ -19,7 +19,7 @@ Change-Id: I993708b28e8404bc8c483d71a850ac69382231bd 1 file changed, 14 insertions(+) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index b30ad7e8af..53fabcc71e 100644 +index 839974b9d3..21d3282134 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp @@ -593,6 +593,17 @@ std::variant PolicySerializer::deserialize< @@ -40,16 +40,16 @@ index b30ad7e8af..53fabcc71e 100644 template<> std::variant PolicySerializer::deserialize( const xmlNode *cur, RouteTraits::PtrSerializingCtx ctx) -@@ -640,6 +651,9 @@ std::variant PolicySerializer::deserialize PolicySerializer::deserialize source = ctx->findPortByTagName(devTag); + if (source == NULL) { + source = ctx->findPortByTagName(trim(devTag)); -+ } - if (source == NULL && !mIgnoreVendorExtensions) { - ALOGE("%s: no source found with name=%s", __func__, devTag); - return BAD_VALUE; ++ } + if (source == NULL) { + if (!mIgnoreVendorExtensions) { + ALOGE("%s: no source found with name \"%s\"", __func__, devTag); -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_av/0007-camera-Implement-property-to-override-default-camera.patch b/patches_treble_td/platform_frameworks_av/0007-camera-Implement-property-to-override-default-camera.patch index a066819..8790972 100644 --- a/patches_treble_td/platform_frameworks_av/0007-camera-Implement-property-to-override-default-camera.patch +++ b/patches_treble_td/platform_frameworks_av/0007-camera-Implement-property-to-override-default-camera.patch @@ -1,4 +1,4 @@ -From bcedbc8066a041ae996960642cee0c41390a0603 Mon Sep 17 00:00:00 2001 +From 37cd5e07843175c9d4aa5df2f11e2e00f01e378c Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 1 Jun 2022 16:56:46 -0400 Subject: [PATCH 07/24] camera: Implement property to override default camera @@ -11,10 +11,10 @@ Change-Id: I002bfa974bafc2cc01365eeea31c7a5dcb5a2028 1 file changed, 22 insertions(+) diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp -index fac6e4e189..0ec647a941 100644 +index 1ba3de49a2..3fffb03da8 100644 --- a/services/camera/libcameraservice/common/CameraProviderManager.cpp +++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp -@@ -38,6 +38,7 @@ +@@ -40,6 +40,7 @@ #include #include #include @@ -22,7 +22,7 @@ index fac6e4e189..0ec647a941 100644 #include #include #include -@@ -215,6 +216,15 @@ std::vector CameraProviderManager::getCameraDeviceIds(std::unordere +@@ -261,6 +262,15 @@ std::vector CameraProviderManager::getCameraDeviceIds(std::unordere } } } @@ -38,7 +38,7 @@ index fac6e4e189..0ec647a941 100644 return deviceIds; } -@@ -281,6 +291,18 @@ std::vector CameraProviderManager::getAPI1CompatibleCameraDeviceIds +@@ -327,6 +337,18 @@ std::vector CameraProviderManager::getAPI1CompatibleCameraDeviceIds std::sort(systemDeviceIds.begin(), systemDeviceIds.end(), sortFunc); deviceIds.insert(deviceIds.end(), publicDeviceIds.begin(), publicDeviceIds.end()); deviceIds.insert(deviceIds.end(), systemDeviceIds.begin(), systemDeviceIds.end()); diff --git a/patches_treble_td/platform_frameworks_av/0008-There-are-three-SCO-devices.-Fallback-from-one-to-th.patch b/patches_treble_td/platform_frameworks_av/0008-There-are-three-SCO-devices.-Fallback-from-one-to-th.patch index ca70218..decc3f6 100644 --- a/patches_treble_td/platform_frameworks_av/0008-There-are-three-SCO-devices.-Fallback-from-one-to-th.patch +++ b/patches_treble_td/platform_frameworks_av/0008-There-are-three-SCO-devices.-Fallback-from-one-to-th.patch @@ -1,4 +1,4 @@ -From 39d57b92989f1c50c144fe2084a82b8b2b84d5e4 Mon Sep 17 00:00:00 2001 +From 9b1b33604d6e17d5b2f2bfccf2a1eac5f8b1334e Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 13 Apr 2020 21:01:16 +0200 Subject: [PATCH 08/24] There are three SCO devices. Fallback from one to the @@ -10,7 +10,7 @@ Change-Id: I414dcb6b154855c00cb8520b23dc1069827864b2 1 file changed, 21 insertions(+) diff --git a/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp -index 5f14ee4623..166ab7acbb 100644 +index cb45f5438b..ffefd5fa32 100644 --- a/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp @@ -318,6 +318,27 @@ sp HwModuleCollection::getModuleForDeviceType(audio_devices_t type, diff --git a/patches_treble_td/platform_frameworks_av/0009-Add-persist.sys.phh.samsung.camera_ids-property-to-a.patch b/patches_treble_td/platform_frameworks_av/0009-Add-persist.sys.phh.samsung.camera_ids-property-to-a.patch index c0caf48..e1452ee 100644 --- a/patches_treble_td/platform_frameworks_av/0009-Add-persist.sys.phh.samsung.camera_ids-property-to-a.patch +++ b/patches_treble_td/platform_frameworks_av/0009-Add-persist.sys.phh.samsung.camera_ids-property-to-a.patch @@ -1,4 +1,4 @@ -From 6ce29da63cd824516e7472706e78e0f9704e9453 Mon Sep 17 00:00:00 2001 +From 39b141bbcbcef2edb0837ca8b6e89330a48b5e94 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 14 May 2020 19:54:55 +0200 Subject: [PATCH 09/24] Add persist.sys.phh.samsung.camera_ids property to @@ -11,22 +11,22 @@ Change-Id: I2c7bf535272acc28ed2277e96c78ddd28a0b4593 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp -index a45365ad53..25fd8451a9 100644 +index 4883a09f37..080ccf646d 100644 --- a/services/camera/libcameraservice/Android.bp +++ b/services/camera/libcameraservice/Android.bp -@@ -175,6 +175,7 @@ cc_library_shared { - "android.hardware.camera.device@3.6", - "android.hardware.camera.device@3.7", - "android.hardware.camera.device-V2-ndk", +@@ -107,6 +107,7 @@ cc_defaults { + "android.hardware.camera.provider@2.6", + "android.hardware.camera.provider@2.7", + "android.hardware.camera.provider-V3-ndk", + "vendor.samsung.hardware.camera.provider@3.0", - "media_permission-aidl-cpp", - ], - + "libaidlcommonsupport", + "libbinderthreadstateutils", + "libcameraservice_device_independent", diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp -index 8ff5c3fb01..d498ecbee5 100644 +index d2643c1e13..71aabc14b3 100644 --- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp +++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp -@@ -27,6 +27,7 @@ +@@ -28,6 +28,7 @@ #include #include @@ -34,7 +34,7 @@ index 8ff5c3fb01..d498ecbee5 100644 namespace { const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false)); -@@ -134,6 +135,7 @@ status_t HidlProviderInfo::initializeHidlProvider( +@@ -136,6 +137,7 @@ status_t HidlProviderInfo::initializeHidlProvider( mMinorVersion = 6; } } @@ -42,7 +42,7 @@ index 8ff5c3fb01..d498ecbee5 100644 // We need to check again since cast2_6.isOk() succeeds even if the provider // version isn't actually 2.6. if (interface2_6 == nullptr){ -@@ -170,6 +172,9 @@ status_t HidlProviderInfo::initializeHidlProvider( +@@ -172,6 +174,9 @@ status_t HidlProviderInfo::initializeHidlProvider( return mapToStatusT(status); } @@ -52,7 +52,7 @@ index 8ff5c3fb01..d498ecbee5 100644 hardware::Return linked = interface->linkToDeath(this, /*cookie*/ mId); if (!linked.isOk()) { ALOGE("%s: Transaction error in linking to camera provider '%s' death: %s", -@@ -200,7 +205,7 @@ status_t HidlProviderInfo::initializeHidlProvider( +@@ -202,7 +207,7 @@ status_t HidlProviderInfo::initializeHidlProvider( // Get initial list of camera devices, if any std::vector devices; @@ -61,7 +61,7 @@ index 8ff5c3fb01..d498ecbee5 100644 Status idStatus, const hardware::hidl_vec& cameraDeviceNames) { status = idStatus; -@@ -217,7 +222,12 @@ status_t HidlProviderInfo::initializeHidlProvider( +@@ -219,7 +224,12 @@ status_t HidlProviderInfo::initializeHidlProvider( mProviderPublicCameraIds.push_back(id); } } diff --git a/patches_treble_td/platform_frameworks_av/0010-Add-a-property-to-force-camera-timestamp-source.patch b/patches_treble_td/platform_frameworks_av/0010-Add-a-property-to-force-camera-timestamp-source.patch index 56bad2e..0bd5451 100644 --- a/patches_treble_td/platform_frameworks_av/0010-Add-a-property-to-force-camera-timestamp-source.patch +++ b/patches_treble_td/platform_frameworks_av/0010-Add-a-property-to-force-camera-timestamp-source.patch @@ -1,4 +1,4 @@ -From 603a86094ca5d2daf1c28ce6ee72110f13526c7f Mon Sep 17 00:00:00 2001 +From 924c9942ae267e00676623718996f34478a9e541 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 19 May 2020 14:01:14 +0200 Subject: [PATCH 10/24] Add a property to force camera timestamp source @@ -18,10 +18,10 @@ timestamp source. 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp -index 54176f9a96..81a1faca83 100644 +index bdf77993ea..44394ac6ff 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp -@@ -211,8 +211,16 @@ status_t Camera3Device::initializeCommonLocked() { +@@ -218,8 +218,16 @@ status_t Camera3Device::initializeCommonLocked() { mTimestampOffset = getMonoToBoottimeOffset(); camera_metadata_entry timestampSource = mDeviceInfo.find(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE); diff --git a/patches_treble_td/platform_frameworks_av/0011-FIH-devices-Fix-Earpiece-audio-output.patch b/patches_treble_td/platform_frameworks_av/0011-FIH-devices-Fix-Earpiece-audio-output.patch index e26a312..e16c107 100644 --- a/patches_treble_td/platform_frameworks_av/0011-FIH-devices-Fix-Earpiece-audio-output.patch +++ b/patches_treble_td/platform_frameworks_av/0011-FIH-devices-Fix-Earpiece-audio-output.patch @@ -1,4 +1,4 @@ -From ffca95eba859a2b763b6d2b7221bc96aeeef764b Mon Sep 17 00:00:00 2001 +From 2770f16ee043c697256171eef02146114ce70890 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 24 Apr 2018 00:14:28 +0200 Subject: [PATCH 11/24] FIH devices: Fix "Earpiece" audio output @@ -16,7 +16,7 @@ Change-Id: I4a88ba6d34d0fcd346eeea2ca903772f0271040a 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 53fabcc71e..83eafc2f79 100644 +index 21d3282134..6ee076660b 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp @@ -416,23 +416,32 @@ std::variant PolicySerializer::deserialize PolicySerializer::deserialize PolicySerializer::deserialize Date: Sat, 12 Sep 2020 12:32:50 +0200 Subject: [PATCH 12/24] No longer make re-assigning legacy audio groups fatal. @@ -11,10 +11,10 @@ Change-Id: I794fe22d63a8af705be4f5f09b9879ecaab3eae5 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/audiopolicy/engine/common/src/EngineBase.cpp b/services/audiopolicy/engine/common/src/EngineBase.cpp -index 218aff80e6..c7ea035191 100644 +index e259e6e048..abd8786b4a 100644 --- a/services/audiopolicy/engine/common/src/EngineBase.cpp +++ b/services/audiopolicy/engine/common/src/EngineBase.cpp -@@ -245,9 +245,9 @@ engineConfig::ParsingResult EngineBase::processParsingResult( +@@ -264,9 +264,9 @@ engineConfig::ParsingResult EngineBase::processParsingResult( } if (group.stream != AUDIO_STREAM_DEFAULT) { // A legacy stream can be assigned once to a volume group diff --git a/patches_treble_td/platform_frameworks_av/0013-Make-camera-IDs-filter-out-optional.patch b/patches_treble_td/platform_frameworks_av/0013-Make-camera-IDs-filter-out-optional.patch index 1083233..62b1b5c 100644 --- a/patches_treble_td/platform_frameworks_av/0013-Make-camera-IDs-filter-out-optional.patch +++ b/patches_treble_td/platform_frameworks_av/0013-Make-camera-IDs-filter-out-optional.patch @@ -1,4 +1,4 @@ -From e06b7885df0180f6e270ed31e095bda0622e217e Mon Sep 17 00:00:00 2001 +From f455aa5e0d283d4a0f06869f3f7acdeb2b7ffc4e Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 21 Dec 2020 20:19:11 +0100 Subject: [PATCH 13/24] Make camera IDs filter-out optional @@ -11,10 +11,10 @@ Add a property for that. 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp -index 0ec647a941..bba0fedaea 100644 +index 3fffb03da8..ab6cb6bd57 100644 --- a/services/camera/libcameraservice/common/CameraProviderManager.cpp +++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp -@@ -265,7 +265,9 @@ std::vector CameraProviderManager::getAPI1CompatibleCameraDeviceIds +@@ -311,7 +311,9 @@ std::vector CameraProviderManager::getAPI1CompatibleCameraDeviceIds // API1 app doesn't handle logical and physical camera devices well. So // for each camera facing, only take the first id advertised by HAL in // all [logical, physical1, physical2, ...] id combos, and filter out the rest. @@ -25,7 +25,7 @@ index 0ec647a941..bba0fedaea 100644 collectDeviceIdsLocked(providerDeviceIds, publicDeviceIds, systemDeviceIds); } auto sortFunc = -@@ -997,10 +999,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame +@@ -1108,10 +1110,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame // Go through the capabilities and check if it has // ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA diff --git a/patches_treble_td/platform_frameworks_av/0014-Support-Samsung-R-multi-cams.patch b/patches_treble_td/platform_frameworks_av/0014-Support-Samsung-R-multi-cams.patch index f4141af..9f386a6 100644 --- a/patches_treble_td/platform_frameworks_av/0014-Support-Samsung-R-multi-cams.patch +++ b/patches_treble_td/platform_frameworks_av/0014-Support-Samsung-R-multi-cams.patch @@ -1,4 +1,4 @@ -From 6ef49b5b9ad8c15081a18b4b7ad06112ff784993 Mon Sep 17 00:00:00 2001 +From 665d173a566745531c3568e958079fabdd4aa857 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 13 Mar 2021 14:20:03 -0500 Subject: [PATCH 14/24] Support Samsung R multi-cams @@ -10,22 +10,22 @@ Change-Id: If46f385e8dd16185cbf37ab083e6a1242e1d1555 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp -index 25fd8451a9..3136bbd30f 100644 +index 080ccf646d..1ece884867 100644 --- a/services/camera/libcameraservice/Android.bp +++ b/services/camera/libcameraservice/Android.bp -@@ -176,6 +176,7 @@ cc_library_shared { - "android.hardware.camera.device@3.7", - "android.hardware.camera.device-V2-ndk", +@@ -108,6 +108,7 @@ cc_defaults { + "android.hardware.camera.provider@2.7", + "android.hardware.camera.provider-V3-ndk", "vendor.samsung.hardware.camera.provider@3.0", + "vendor.samsung.hardware.camera.provider@4.0", - "media_permission-aidl-cpp", - ], - + "libaidlcommonsupport", + "libbinderthreadstateutils", + "libcameraservice_device_independent", diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp -index d498ecbee5..587d3eeda7 100644 +index 71aabc14b3..aefd6c3d4f 100644 --- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp +++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp -@@ -28,6 +28,7 @@ +@@ -29,6 +29,7 @@ #include #include @@ -33,7 +33,7 @@ index d498ecbee5..587d3eeda7 100644 namespace { const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false)); -@@ -173,7 +174,9 @@ status_t HidlProviderInfo::initializeHidlProvider( +@@ -175,7 +176,9 @@ status_t HidlProviderInfo::initializeHidlProvider( } auto samsungCast = vendor::samsung::hardware::camera::provider::V3_0::ISehCameraProvider::castFrom(interface); @@ -43,7 +43,7 @@ index d498ecbee5..587d3eeda7 100644 hardware::Return linked = interface->linkToDeath(this, /*cookie*/ mId); if (!linked.isOk()) { -@@ -211,6 +214,7 @@ status_t HidlProviderInfo::initializeHidlProvider( +@@ -213,6 +216,7 @@ status_t HidlProviderInfo::initializeHidlProvider( status = idStatus; if (status == Status::OK) { for (auto& name : cameraDeviceNames) { @@ -51,7 +51,7 @@ index d498ecbee5..587d3eeda7 100644 uint16_t major, minor; std::string type, id; status_t res = parseDeviceName(name, &major, &minor, &type, &id); -@@ -224,7 +228,9 @@ status_t HidlProviderInfo::initializeHidlProvider( +@@ -226,7 +230,9 @@ status_t HidlProviderInfo::initializeHidlProvider( } } }; hardware::Return ret; diff --git a/patches_treble_td/platform_frameworks_av/0015-Don-t-crash-on-unknown-audio-devices.patch b/patches_treble_td/platform_frameworks_av/0015-Don-t-crash-on-unknown-audio-devices.patch deleted file mode 100644 index 76c4bfe..0000000 --- a/patches_treble_td/platform_frameworks_av/0015-Don-t-crash-on-unknown-audio-devices.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 82c8c088952068c4d157839aac4011e943e0aa6a Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Tue, 23 Mar 2021 00:16:42 +0100 -Subject: [PATCH 15/24] Don't crash on unknown audio devices - -Change-Id: I2df8d88f742da6a84aa8888cdf19de25444de919 ---- - .../audiopolicy/common/managerdefinitions/src/Serializer.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 83eafc2f79..91fc5f57da 100644 ---- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -@@ -867,7 +867,7 @@ std::variant PolicySerializer::deserialize device = module->getDeclaredDevices(). - getDeviceFromTagName(std::string(reinterpret_cast( - attachedDevice.get()))); -- if (device == nullptr && mIgnoreVendorExtensions) { -+ if (device == nullptr) { - ALOGW("Skipped attached device \"%s\" because it likely uses a vendor" - "extension type", - reinterpret_cast(attachedDevice.get())); --- -2.34.1 - diff --git a/patches_treble_td/platform_frameworks_av/0016-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch b/patches_treble_td/platform_frameworks_av/0015-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch similarity index 60% rename from patches_treble_td/platform_frameworks_av/0016-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch rename to patches_treble_td/platform_frameworks_av/0015-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch index 6cb644b..2da4b62 100644 --- a/patches_treble_td/platform_frameworks_av/0016-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch +++ b/patches_treble_td/platform_frameworks_av/0015-Not-all-sources-in-a-route-are-valid.-Dont-ignore-th.patch @@ -1,7 +1,7 @@ -From 127db05e06dd0963bc883c86ffd44425a3011900 Mon Sep 17 00:00:00 2001 +From 4e599885f71f64964ede94de8a4d9bc01a6f882f Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 28 Mar 2021 18:54:47 +0200 -Subject: [PATCH 16/24] Not all sources in a route are valid. Dont ignore the +Subject: [PATCH 15/24] Not all sources in a route are valid. Dont ignore the whole route because of one broken source Change-Id: If8a51740e71bef3a4738262ad7b43a337b0ec36d @@ -10,18 +10,18 @@ Change-Id: If8a51740e71bef3a4738262ad7b43a337b0ec36d 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 91fc5f57da..d2fcc13b00 100644 +index 6ee076660b..146c78b8f6 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -@@ -667,7 +667,7 @@ std::variant PolicySerializer::deserialize PolicySerializer::deserializefindPortByTagName(trim(devTag)); - } -- if (source == NULL && !mIgnoreVendorExtensions) { -+ if (source == NULL && false) { - ALOGE("%s: no source found with name=%s", __func__, devTag); - return BAD_VALUE; - } else if (source == NULL) { + } + if (source == NULL) { +- if (!mIgnoreVendorExtensions) { ++ if (false && !mIgnoreVendorExtensions) { + ALOGE("%s: no source found with name \"%s\"", __func__, devTag); + return BAD_VALUE; + } else { -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_av/0017-Use-a-fake-volume-policy-when-none-has-been-found.patch b/patches_treble_td/platform_frameworks_av/0016-Use-a-fake-volume-policy-when-none-has-been-found.patch similarity index 92% rename from patches_treble_td/platform_frameworks_av/0017-Use-a-fake-volume-policy-when-none-has-been-found.patch rename to patches_treble_td/platform_frameworks_av/0016-Use-a-fake-volume-policy-when-none-has-been-found.patch index 8d8bef8..76d383c 100644 --- a/patches_treble_td/platform_frameworks_av/0017-Use-a-fake-volume-policy-when-none-has-been-found.patch +++ b/patches_treble_td/platform_frameworks_av/0016-Use-a-fake-volume-policy-when-none-has-been-found.patch @@ -1,7 +1,7 @@ -From 5126e56dfe7f129e73991697008b826e5e55fe24 Mon Sep 17 00:00:00 2001 +From b91e6acca8daa1ea9372cc74f9da70f0a9c196ec Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 28 Mar 2021 14:48:49 +0200 -Subject: [PATCH 17/24] Use a fake volume policy when none has been found +Subject: [PATCH 16/24] Use a fake volume policy when none has been found This is useful, because on Samsung devices, the "real" (=non-gsi-cheating) audio policy doesn't have any volume policy. diff --git a/patches_treble_td/platform_frameworks_av/0018-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch b/patches_treble_td/platform_frameworks_av/0017-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch similarity index 93% rename from patches_treble_td/platform_frameworks_av/0018-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch rename to patches_treble_td/platform_frameworks_av/0017-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch index 47123e6..f71a4ec 100644 --- a/patches_treble_td/platform_frameworks_av/0018-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch +++ b/patches_treble_td/platform_frameworks_av/0017-Revert-Remove-support-for-audio-HAL-V2-from-the-fram.patch @@ -1,7 +1,7 @@ -From a0f9fc2e8b386ee9e3c1064bfb076306e901f187 Mon Sep 17 00:00:00 2001 +From eb45c9ea30fbf316b31002f0ad5f14f5db4609f2 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Mon, 11 Oct 2021 16:10:42 -0400 -Subject: [PATCH 18/24] Revert "Remove support for audio HAL V2 from the +Subject: [PATCH 17/24] Revert "Remove support for audio HAL V2 from the framework" This reverts commit cbf517f837f7bf8a59f3ff8aa1e0e3e19612e251. @@ -51,7 +51,7 @@ index f88915d7f4..24e5adbae3 100644 static const std::map sDevicesHALInterfaces = { diff --git a/media/libaudiohal/impl/Android.bp b/media/libaudiohal/impl/Android.bp -index 16893655f0..1271756bd1 100644 +index fb1cc34932..61611965df 100644 --- a/media/libaudiohal/impl/Android.bp +++ b/media/libaudiohal/impl/Android.bp @@ -82,6 +82,32 @@ cc_defaults { @@ -88,10 +88,10 @@ index 16893655f0..1271756bd1 100644 name: "libaudiohal@4.0", defaults: [ diff --git a/media/libaudiohal/impl/DeviceHalHidl.cpp b/media/libaudiohal/impl/DeviceHalHidl.cpp -index 0d71fd338c..c228bf7a6f 100644 +index af5d4bdea0..2f3c6bf390 100644 --- a/media/libaudiohal/impl/DeviceHalHidl.cpp +++ b/media/libaudiohal/impl/DeviceHalHidl.cpp -@@ -577,6 +577,7 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool +@@ -587,6 +587,7 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool // call is successful. Also remove the cache here to avoid a large cache after a long run. return NO_ERROR; } @@ -99,7 +99,7 @@ index 0d71fd338c..c228bf7a6f 100644 #if MAJOR_VERSION == 7 && MINOR_VERSION == 1 if (supportsSetConnectedState7_1) { AudioPort hidlPort; -@@ -599,11 +600,17 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool +@@ -609,11 +610,17 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool return result; } return processReturn("setConnectedState", mDevice->setConnectedState(hidlAddress, connected)); @@ -117,7 +117,7 @@ index 0d71fd338c..c228bf7a6f 100644 audio_hw_sync_t value; Result result; Return ret = mDevice->getHwAvSync([&value, &result](Result r, audio_hw_sync_t v) { -@@ -612,6 +619,9 @@ error::Result DeviceHalHidl::getHwAvSync() { +@@ -622,6 +629,9 @@ error::Result DeviceHalHidl::getHwAvSync() { }); RETURN_IF_ERROR(processReturn("getHwAvSync", ret, result)); return value; diff --git a/patches_treble_td/platform_frameworks_av/0019-Add-a-prop-to-change-Samsung-flash-strength.patch b/patches_treble_td/platform_frameworks_av/0018-Add-a-prop-to-change-Samsung-flash-strength.patch similarity index 81% rename from patches_treble_td/platform_frameworks_av/0019-Add-a-prop-to-change-Samsung-flash-strength.patch rename to patches_treble_td/platform_frameworks_av/0018-Add-a-prop-to-change-Samsung-flash-strength.patch index 222c4ed..e6765f2 100644 --- a/patches_treble_td/platform_frameworks_av/0019-Add-a-prop-to-change-Samsung-flash-strength.patch +++ b/patches_treble_td/platform_frameworks_av/0018-Add-a-prop-to-change-Samsung-flash-strength.patch @@ -1,7 +1,7 @@ -From 217bd49b1255e5a98e3c9dc0db3f0be15e395b8c Mon Sep 17 00:00:00 2001 +From 35dc2d2da3770e5d5ceb13efa54a71b185284838 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 16 Apr 2022 14:30:14 -0400 -Subject: [PATCH 19/24] Add a prop to change Samsung flash strength +Subject: [PATCH 18/24] Add a prop to change Samsung flash strength --- services/camera/libcameraservice/Android.bp | 2 ++ @@ -9,23 +9,23 @@ Subject: [PATCH 19/24] Add a prop to change Samsung flash strength 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp -index 3136bbd30f..7ef870c1eb 100644 +index 1ece884867..6599763814 100644 --- a/services/camera/libcameraservice/Android.bp +++ b/services/camera/libcameraservice/Android.bp -@@ -177,6 +177,8 @@ cc_library_shared { - "android.hardware.camera.device-V2-ndk", - "vendor.samsung.hardware.camera.provider@3.0", - "vendor.samsung.hardware.camera.provider@4.0", +@@ -83,6 +83,8 @@ cc_defaults { + "android.hardware.camera.device@3.5", + "android.hardware.camera.device@3.6", + "android.hardware.camera.device@3.7", + "vendor.samsung.hardware.camera.device@5.0", + "vendor.samsung.hardware.camera.device@4.0", - "media_permission-aidl-cpp", - ], - + "android.hardware.common-V2-ndk", + "android.hardware.common.fmq-V1-ndk", + "camera_platform_flags_c_lib", diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp -index 587d3eeda7..a345d6a2bf 100644 +index aefd6c3d4f..2412f82c37 100644 --- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp +++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp -@@ -29,6 +29,8 @@ +@@ -30,6 +30,8 @@ #include #include #include @@ -34,7 +34,7 @@ index 587d3eeda7..a345d6a2bf 100644 namespace { const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false)); -@@ -783,7 +785,23 @@ HidlProviderInfo::HidlDeviceInfo3::HidlDeviceInfo3( +@@ -804,7 +806,23 @@ HidlProviderInfo::HidlDeviceInfo3::HidlDeviceInfo3( status_t HidlProviderInfo::HidlDeviceInfo3::setTorchMode(bool enabled) { using hardware::camera::common::V1_0::TorchMode; const sp interface = startDeviceInterface(); diff --git a/patches_treble_td/platform_frameworks_av/0020-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch b/patches_treble_td/platform_frameworks_av/0019-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch similarity index 92% rename from patches_treble_td/platform_frameworks_av/0020-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch rename to patches_treble_td/platform_frameworks_av/0019-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch index 475d964..2dd4596 100644 --- a/patches_treble_td/platform_frameworks_av/0020-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch +++ b/patches_treble_td/platform_frameworks_av/0019-voip-Fix-high-pitched-voice-on-Qualcomm-devices.patch @@ -1,14 +1,14 @@ -From 35e06c722ccee32176fe646dd8e59940df9a83ba Mon Sep 17 00:00:00 2001 +From 549f75e70fdc11d688bbb1df9f326a46f9000953 Mon Sep 17 00:00:00 2001 From: ponces Date: Mon, 24 Oct 2022 09:38:34 +0100 -Subject: [PATCH 20/24] voip: Fix high pitched voice on Qualcomm devices +Subject: [PATCH 19/24] voip: Fix high pitched voice on Qualcomm devices --- .../common/managerdefinitions/src/Serializer.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index d2fcc13b00..fc6cc72c1c 100644 +index 146c78b8f6..b9f71cc42b 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp @@ -252,6 +252,7 @@ private: diff --git a/patches_treble_td/platform_frameworks_av/0020-audiopolicy-Fix-broken-mic-while-video-recording-on-.patch b/patches_treble_td/platform_frameworks_av/0020-audiopolicy-Fix-broken-mic-while-video-recording-on-.patch new file mode 100644 index 0000000..f0da497 --- /dev/null +++ b/patches_treble_td/platform_frameworks_av/0020-audiopolicy-Fix-broken-mic-while-video-recording-on-.patch @@ -0,0 +1,40 @@ +From 3eb988f5a5eba090129128fd88d518ca2f445a77 Mon Sep 17 00:00:00 2001 +From: Alberto Ponces +Date: Sun, 30 Apr 2023 23:29:04 +0100 +Subject: [PATCH 20/24] audiopolicy: Fix broken mic while video recording on + some Exynos devices + +This should fix https://github.com/phhusson/treble_experimentations/issues/2021 and https://github.com/phhusson/treble_experimentations/issues/2384. +Credits to @haridhayal11. +--- + .../common/managerdefinitions/src/Serializer.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +index b9f71cc42b..77a96b47a4 100644 +--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp ++++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +@@ -662,6 +662,9 @@ std::variant PolicySerializer::deserializesetSink(sink); + ++ // This fixes broken mic while video record on some Exynos devices ++ bool disableBackMic = property_get_bool("persist.sys.phh.disable_back_mic", false); ++ + std::string sourcesAttr = getXmlAttribute(cur, Attributes::sources); + if (sourcesAttr.empty()) { + ALOGE("%s: No %s found", __func__, Attributes::sources); +@@ -678,6 +681,10 @@ std::variant PolicySerializer::deserializefindPortByTagName(trim(devTag)); + } ++ if (disableBackMic && strcmp(devTag, "Built-In Back Mic") == 0) { ++ ALOGW("Skipping route source \"%s\" as it breaks video recording mic", devTag); ++ source = NULL; ++ } + if (source == NULL) { + if (false && !mIgnoreVendorExtensions) { + ALOGE("%s: no source found with name \"%s\"", __func__, devTag); +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_av/0022-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch b/patches_treble_td/platform_frameworks_av/0021-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch similarity index 88% rename from patches_treble_td/platform_frameworks_av/0022-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch rename to patches_treble_td/platform_frameworks_av/0021-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch index ccaa346..5157350 100644 --- a/patches_treble_td/platform_frameworks_av/0022-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch +++ b/patches_treble_td/platform_frameworks_av/0021-Add-a-prop-to-disable-AUDIO_OUTPUT_FLAG_FAST-from-au.patch @@ -1,7 +1,7 @@ -From 7e954a9afe0ab43a7f3b2eb0ad9b58b338e5e0ce Mon Sep 17 00:00:00 2001 +From a2e4a50178fd41f0cb039373af1a4a3169d77386 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 30 Oct 2023 10:30:58 -0400 -Subject: [PATCH 22/24] Add a prop to disable AUDIO_OUTPUT_FLAG_FAST from audio +Subject: [PATCH 21/24] Add a prop to disable AUDIO_OUTPUT_FLAG_FAST from audio policies, when CPU can't really handle that kind of load --- @@ -9,7 +9,7 @@ Subject: [PATCH 22/24] Add a prop to disable AUDIO_OUTPUT_FLAG_FAST from audio 1 file changed, 4 insertions(+) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 8b3a1f0e4f..913cbc0e90 100644 +index 77a96b47a4..26edcaa1c4 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp @@ -504,6 +504,10 @@ std::variant PolicySerializer::deserialize -Date: Sun, 30 Apr 2023 23:29:04 +0100 -Subject: [PATCH 21/24] audiopolicy: Fix broken mic while video recording on - some Exynos devices This should fix - https://github.com/phhusson/treble_experimentations/issues/2021 and - https://github.com/phhusson/treble_experimentations/issues/2384. Credits to - @haridhayal11. - ---- - .../managerdefinitions/src/Serializer.cpp | 29 ++++++++++++------- - 1 file changed, 18 insertions(+), 11 deletions(-) - -diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index fc6cc72c1c..8b3a1f0e4f 100644 ---- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -@@ -660,6 +660,9 @@ std::variant PolicySerializer::deserializesetSink(sink); - -+ // This fixes broken mic while video record on some Exynos devices -+ bool disableBackMic = property_get_bool("persist.sys.phh.disable_back_mic", false); -+ - std::string sourcesAttr = getXmlAttribute(cur, Attributes::sources); - if (sourcesAttr.empty()) { - ALOGE("%s: No %s found", __func__, Attributes::sources); -@@ -672,18 +675,22 @@ std::variant PolicySerializer::deserialize source = ctx->findPortByTagName(devTag); -- if (source == NULL) { -- source = ctx->findPortByTagName(trim(devTag)); -- } -- if (source == NULL && false) { -- ALOGE("%s: no source found with name=%s", __func__, devTag); -- return BAD_VALUE; -- } else if (source == NULL) { -- ALOGW("Skipping route source \"%s\" as it likely has vendor extension type", -- devTag); -+ if (disableBackMic && strcmp(devTag, "Built-In Back Mic") == 0) { -+ ALOGW("Skipping route source \"%s\" as it breaks video recording mic", devTag); - } else { -- sources.add(source); -+ sp source = ctx->findPortByTagName(devTag); -+ if (source == NULL) { -+ source = ctx->findPortByTagName(trim(devTag)); -+ } -+ if (source == NULL && false) { -+ ALOGE("%s: no source found with name=%s", __func__, devTag); -+ return BAD_VALUE; -+ } else if (source == NULL) { -+ ALOGW("Skipping route source \"%s\" as it likely has vendor extension type", -+ devTag); -+ } else { -+ sources.add(source); -+ } - } - } - devTag = strtok(NULL, ","); --- -2.34.1 - diff --git a/patches_treble_td/platform_frameworks_av/0023-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch b/patches_treble_td/platform_frameworks_av/0022-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch similarity index 64% rename from patches_treble_td/platform_frameworks_av/0023-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch rename to patches_treble_td/platform_frameworks_av/0022-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch index fa42e1d..52adf22 100644 --- a/patches_treble_td/platform_frameworks_av/0023-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch +++ b/patches_treble_td/platform_frameworks_av/0022-Add-a-prop-to-fix-echo-on-incoming-or-outgoing-calls.patch @@ -1,20 +1,20 @@ -From e19f041d8f670730392fa3c8d792133687216057 Mon Sep 17 00:00:00 2001 +From 400c8f19e138e8013518f179818dccff84b1b90f Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Sun, 5 Nov 2023 15:18:03 +0000 -Subject: [PATCH 23/24] Add a prop to fix echo on incoming or outgoing calls +Subject: [PATCH 22/24] Add a prop to fix echo on incoming or outgoing calls May even fix audio calls altogether. Change-Id: I3a05608ad7b3f0876160d5f6a12b7c529b8f0961 --- - .../common/managerdefinitions/src/Serializer.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) + .../common/managerdefinitions/src/Serializer.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -index 913cbc0e90..6bf5d14c3c 100644 +index 26edcaa1c4..059e4adfa1 100644 --- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp -@@ -667,6 +667,9 @@ std::variant PolicySerializer::deserialize PolicySerializer::deserialize PolicySerializer::deserialize PolicySerializer::deserializefindPortByTagName(trim(devTag)); + } ++ if (disableBackMic && strcmp(devTag, "Built-In Back Mic") == 0) { ALOGW("Skipping route source \"%s\" as it breaks video recording mic", devTag); + source = NULL; + } else if (disableVoiceCallIn && strcmp(devTag, "Voice Call In") == 0 && + (sinkAttr == "voice tx" || sinkAttr == "voice_tx")) { + ALOGW("Skipping route source \"%s\" as it breaks audio on calls", devTag); - } else { - sp source = ctx->findPortByTagName(devTag); - if (source == NULL) { ++ source = NULL; + } ++ + if (source == NULL) { + if (false && !mIgnoreVendorExtensions) { + ALOGE("%s: no source found with name \"%s\"", __func__, devTag); -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_av/0024-Include-Samsung-AIDL-camera-ids.patch b/patches_treble_td/platform_frameworks_av/0023-Include-Samsung-AIDL-camera-ids.patch similarity index 79% rename from patches_treble_td/platform_frameworks_av/0024-Include-Samsung-AIDL-camera-ids.patch rename to patches_treble_td/platform_frameworks_av/0023-Include-Samsung-AIDL-camera-ids.patch index b62c22a..7ec0d69 100644 --- a/patches_treble_td/platform_frameworks_av/0024-Include-Samsung-AIDL-camera-ids.patch +++ b/patches_treble_td/platform_frameworks_av/0023-Include-Samsung-AIDL-camera-ids.patch @@ -1,7 +1,7 @@ -From d780d481954070610f88fa7aa35ed1581374ea98 Mon Sep 17 00:00:00 2001 +From e4ec1cdfa0672fb9837e9b9ed843261c01eff535 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 7 Feb 2024 05:06:32 -0500 -Subject: [PATCH 24/24] Include Samsung AIDL camera ids +Subject: [PATCH 23/24] Include Samsung AIDL camera ids --- services/camera/libcameraservice/Android.bp | 1 + @@ -9,22 +9,22 @@ Subject: [PATCH 24/24] Include Samsung AIDL camera ids 2 files changed, 22 insertions(+) diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp -index 7ef870c1eb..43a1ebd8ee 100644 +index 6599763814..d5957fc7cc 100644 --- a/services/camera/libcameraservice/Android.bp +++ b/services/camera/libcameraservice/Android.bp -@@ -179,6 +179,7 @@ cc_library_shared { +@@ -111,6 +111,7 @@ cc_defaults { + "android.hardware.camera.provider-V3-ndk", + "vendor.samsung.hardware.camera.provider@3.0", "vendor.samsung.hardware.camera.provider@4.0", - "vendor.samsung.hardware.camera.device@5.0", - "vendor.samsung.hardware.camera.device@4.0", + "vendor.samsung.hardware.camera.provider-V1-ndk", - "media_permission-aidl-cpp", - ], - + "libaidlcommonsupport", + "libbinderthreadstateutils", + "libcameraservice_device_independent", diff --git a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp -index b18cbd41a4..9ea1bee67d 100644 +index d773af3e9a..99ddcc129b 100644 --- a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp +++ b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp -@@ -28,6 +28,8 @@ +@@ -30,6 +30,8 @@ #include #include @@ -33,7 +33,7 @@ index b18cbd41a4..9ea1bee67d 100644 namespace { const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false)); } // anonymous namespace -@@ -155,6 +157,25 @@ status_t AidlProviderInfo::initializeAidlProvider( +@@ -170,6 +172,25 @@ status_t AidlProviderInfo::initializeAidlProvider( return mapToStatusT(status); } diff --git a/patches_treble_td/platform_frameworks_av/0024-Allow-using-camera-modes-declared-in-Samsung-proprie.patch b/patches_treble_td/platform_frameworks_av/0024-Allow-using-camera-modes-declared-in-Samsung-proprie.patch new file mode 100644 index 0000000..a72ee1a --- /dev/null +++ b/patches_treble_td/platform_frameworks_av/0024-Allow-using-camera-modes-declared-in-Samsung-proprie.patch @@ -0,0 +1,106 @@ +From 7d501facc77ebb625927748e30fbaffbfdf87b96 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Sat, 10 Feb 2024 09:30:19 -0500 +Subject: [PATCH 24/24] Allow using camera modes declared in Samsung + proprietary values + +--- + .../utils/SessionConfigurationUtils.cpp | 79 +++++++++++++------ + 1 file changed, 53 insertions(+), 26 deletions(-) + +diff --git a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp +index f03ebd84fe..7ead9b194f 100644 +--- a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp ++++ b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp +@@ -168,35 +168,62 @@ bool roundBufferDimensionNearest(int32_t width, int32_t height, + + bool isJpegRDataSpace = (dataSpace == static_cast( + ::aidl::android::hardware::graphics::common::Dataspace::JPEG_R)); +- camera_metadata_ro_entry streamConfigs = +- (isJpegRDataSpace) ? info.find(jpegRSizesTag) : +- (dataSpace == HAL_DATASPACE_DEPTH) ? info.find(depthSizesTag) : +- (dataSpace == static_cast(HAL_DATASPACE_HEIF)) ? +- info.find(heicSizesTag) : +- info.find(scalerSizesTag); ++ bool isDepth = dataSpace == HAL_DATASPACE_DEPTH; ++ bool isHeif = dataSpace == static_cast(HAL_DATASPACE_HEIF); ++ int32_t selectedTag = isJpegRDataSpace ? jpegRSizesTag : ++ isDepth ? depthSizesTag : ++ isHeif ? heicSizesTag : scalerSizesTag; ++ ++ std::list tags = { selectedTag }; ++ if (selectedTag == scalerSizesTag) { ++ sp vTags; ++ sp cache = VendorTagDescriptorCache::getGlobalVendorTagCache(); ++ if (cache.get()) { ++ auto vendorId = const_cast(&info)->getVendorId(); // getVendorId is actually const... ++ cache->getVendorTagDescriptor(vendorId, &vTags); ++ } ++ ++ std::list vendorTags = { ++ "samsung.android.scaler.availablePictureStreamConfigurations", ++ "samsung.android.scaler.availablePreviewStreamConfigurations", ++ "samsung.android.scaler.availableThumbnailStreamConfigurations", ++ }; ++ for(auto tagName: vendorTags) { ++ uint32_t vendorTag; ++ status_t tagStatus = info.getTagFromName(tagName.c_str(), vTags.get(), &vendorTag); ++ //ALOGE("Tag by name %s %d %x", tagName.c_str(), tagStatus, vendorTag); ++ if (tagStatus == OK) ++ tags.push_back(vendorTag); ++ } ++ } + + int32_t bestWidth = -1; + int32_t bestHeight = -1; +- +- // Iterate through listed stream configurations and find the one with the smallest euclidean +- // distance from the given dimensions for the given format. +- for (size_t i = 0; i < streamConfigs.count; i += 4) { +- int32_t fmt = streamConfigs.data.i32[i]; +- int32_t w = streamConfigs.data.i32[i + 1]; +- int32_t h = streamConfigs.data.i32[i + 2]; +- +- // Ignore input/output type for now +- if (fmt == format) { +- if (w == width && h == height) { +- bestWidth = width; +- bestHeight = height; +- break; +- } else if (w <= ROUNDING_WIDTH_CAP && (bestWidth == -1 || +- SessionConfigurationUtils::euclidDistSquare(w, h, width, height) < +- SessionConfigurationUtils::euclidDistSquare(bestWidth, bestHeight, width, +- height))) { +- bestWidth = w; +- bestHeight = h; ++ for(auto tag: tags) { ++ camera_metadata_ro_entry streamConfigs = ++ info.find(tag); ++ ++ ++ // Iterate through listed stream configurations and find the one with the smallest euclidean ++ // distance from the given dimensions for the given format. ++ for (size_t i = 0; i < streamConfigs.count; i += 4) { ++ int32_t fmt = streamConfigs.data.i32[i]; ++ int32_t w = streamConfigs.data.i32[i + 1]; ++ int32_t h = streamConfigs.data.i32[i + 2]; ++ ++ // Ignore input/output type for now ++ if (fmt == format) { ++ if (w == width && h == height) { ++ bestWidth = width; ++ bestHeight = height; ++ break; ++ } else if (w <= ROUNDING_WIDTH_CAP && (bestWidth == -1 || ++ SessionConfigurationUtils::euclidDistSquare(w, h, width, height) < ++ SessionConfigurationUtils::euclidDistSquare(bestWidth, bestHeight, width, ++ height))) { ++ bestWidth = w; ++ bestHeight = h; ++ } + } + } + } +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_base/0001-Fallback-to-stupid-autobrightness-if-brightness-valu.patch b/patches_treble_td/platform_frameworks_base/0001-Fallback-to-stupid-autobrightness-if-brightness-valu.patch index dc05d7b..bf72b02 100644 --- a/patches_treble_td/platform_frameworks_base/0001-Fallback-to-stupid-autobrightness-if-brightness-valu.patch +++ b/patches_treble_td/platform_frameworks_base/0001-Fallback-to-stupid-autobrightness-if-brightness-valu.patch @@ -1,4 +1,4 @@ -From 16bd746b4407edc79b799a89cb16850b89c90b6b Mon Sep 17 00:00:00 2001 +From d8e5913abba9f2de9a476124219dc804eac930e0 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 5 Oct 2021 17:59:16 -0400 Subject: [PATCH 01/50] Fallback to stupid autobrightness if brightness values @@ -14,25 +14,25 @@ Change-Id: Ieb679b34239013a5e31b34cb010b12febd9ef6d9 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/display/DisplayDeviceConfig.java b/services/core/java/com/android/server/display/DisplayDeviceConfig.java -index 2464eb0141b8..b0ebab8e4002 100644 +index d97127c91fbf..3dcb84dad786 100644 --- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java +++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java -@@ -777,9 +777,14 @@ public class DisplayDeviceConfig { - * @return A configuration instance. +@@ -897,9 +897,14 @@ public class DisplayDeviceConfig { */ - public static DisplayDeviceConfig create(Context context, boolean useConfigXml) { + public static DisplayDeviceConfig create(Context context, boolean useConfigXml, + DisplayManagerFlags flags) { - final DisplayDeviceConfig config; + DisplayDeviceConfig config; if (useConfigXml) { -- config = getConfigFromGlobalXml(context); +- config = getConfigFromGlobalXml(context, flags); + try { -+ config = getConfigFromGlobalXml(context); ++ config = getConfigFromGlobalXml(context, flags); + } catch(Exception e) { + android.util.Log.e("PHH", "Failed parsing automatic brightness values, fallbacking", e); -+ config = getConfigFromPmValues(context); ++ config = getConfigFromPmValues(context, flags); + } } else { - config = getConfigFromPmValues(context); + config = getConfigFromPmValues(context, flags); } -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_base/0002-Fix-env-empty-string-ANDROID_STORAGE.patch b/patches_treble_td/platform_frameworks_base/0002-Fix-env-empty-string-ANDROID_STORAGE.patch index 908e4ba..20ddc03 100644 --- a/patches_treble_td/platform_frameworks_base/0002-Fix-env-empty-string-ANDROID_STORAGE.patch +++ b/patches_treble_td/platform_frameworks_base/0002-Fix-env-empty-string-ANDROID_STORAGE.patch @@ -1,4 +1,4 @@ -From e63c11343cbaf133b302ce98b44ebea59e5a0217 Mon Sep 17 00:00:00 2001 +From 3d14aac0ee3a37ed0fcad87c1eae170300b92326 Mon Sep 17 00:00:00 2001 From: Raphael Mounier Date: Sat, 6 Aug 2022 18:08:36 +0200 Subject: [PATCH 02/50] Fix env empty string - ANDROID_STORAGE diff --git a/patches_treble_td/platform_frameworks_base/0003-Relax-requirement-for-visible-flag-to-sdcards.patch b/patches_treble_td/platform_frameworks_base/0003-Relax-requirement-for-visible-flag-to-sdcards.patch index 34ee4a8..6a4df56 100644 --- a/patches_treble_td/platform_frameworks_base/0003-Relax-requirement-for-visible-flag-to-sdcards.patch +++ b/patches_treble_td/platform_frameworks_base/0003-Relax-requirement-for-visible-flag-to-sdcards.patch @@ -1,4 +1,4 @@ -From bb3c0d66940957431ea2337577806f91a721bb4b Mon Sep 17 00:00:00 2001 +From 9b53e0b92842a042d0fe30428ab379fc59a13c61 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 28 Nov 2017 18:28:04 +0100 Subject: [PATCH 03/50] Relax requirement for visible flag to sdcards @@ -13,10 +13,10 @@ Change-Id: Ia616671c03562d1eadaff5531a5c708a62d7ad3a 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java -index f114ad86f028..05f1f0fc61a5 100644 +index c1ff9de47a32..43a0552f041b 100644 --- a/services/core/java/com/android/server/StorageManagerService.java +++ b/services/core/java/com/android/server/StorageManagerService.java -@@ -1533,7 +1533,8 @@ class StorageManagerService extends IStorageManager.Stub +@@ -1619,7 +1619,8 @@ class StorageManagerService extends IStorageManager.Stub // Adoptable public disks are visible to apps, since they meet // public API requirement of being in a stable location. diff --git a/patches_treble_td/platform_frameworks_base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch b/patches_treble_td/platform_frameworks_base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch index 19a98c4..7d9a63e 100644 --- a/patches_treble_td/platform_frameworks_base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch +++ b/patches_treble_td/platform_frameworks_base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch @@ -1,4 +1,4 @@ -From f41d2389d0d471ff04ab555d6858e20c0e9bd717 Mon Sep 17 00:00:00 2001 +From 433f12c138c7cedeabb88ac38ef438a9907c480c Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 17 May 2018 20:28:35 +0200 Subject: [PATCH 04/50] Don't crash if there is IR HAL is not declared diff --git a/patches_treble_td/platform_frameworks_base/0005-Implement-a-persistent-property-to-override-the-defa.patch b/patches_treble_td/platform_frameworks_base/0005-Implement-a-persistent-property-to-override-the-defa.patch index 0347770..285a44b 100644 --- a/patches_treble_td/platform_frameworks_base/0005-Implement-a-persistent-property-to-override-the-defa.patch +++ b/patches_treble_td/platform_frameworks_base/0005-Implement-a-persistent-property-to-override-the-defa.patch @@ -1,4 +1,4 @@ -From 7d505ba36fb5f011383b2dfcae1cab3b00091b13 Mon Sep 17 00:00:00 2001 +From 29e5a30910687e3239aa08885a5c3e350ca81f6f Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 1 Jun 2022 16:56:20 -0400 Subject: [PATCH 05/50] Implement a persistent property to override the default @@ -11,10 +11,10 @@ Change-Id: I49b45d00bf71d7932591b3516d49a680e1b6568b 2 files changed, 14 insertions(+) diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java -index 388b31041f86..da4bc798cee3 100644 +index 66f001e30b30..260611fd41ac 100644 --- a/core/java/android/hardware/Camera.java +++ b/core/java/android/hardware/Camera.java -@@ -455,6 +455,11 @@ public class Camera { +@@ -450,6 +450,11 @@ public class Camera { * @see #open(int) */ public static Camera open() { @@ -27,10 +27,10 @@ index 388b31041f86..da4bc798cee3 100644 CameraInfo cameraInfo = new CameraInfo(); for (int i = 0; i < numberOfCameras; i++) { diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java -index 69660d9344c9..d8841489e051 100644 +index cfccaa73bd08..3048702c62eb 100644 --- a/core/java/android/hardware/camera2/CameraManager.java +++ b/core/java/android/hardware/camera2/CameraManager.java -@@ -2081,6 +2081,15 @@ public final class CameraManager { +@@ -2238,6 +2238,15 @@ public final class CameraManager { } }}); diff --git a/patches_treble_td/platform_frameworks_base/0006-Show-APN-Settings-for-CDMA-carriers.patch b/patches_treble_td/platform_frameworks_base/0006-Show-APN-Settings-for-CDMA-carriers.patch index 391699a..eecac65 100644 --- a/patches_treble_td/platform_frameworks_base/0006-Show-APN-Settings-for-CDMA-carriers.patch +++ b/patches_treble_td/platform_frameworks_base/0006-Show-APN-Settings-for-CDMA-carriers.patch @@ -1,4 +1,4 @@ -From d357d016eae346a4473bfd280bda4c5fb5680b91 Mon Sep 17 00:00:00 2001 +From e608b14cbbfae9250b40d7aaeeb00cac7cf2d539 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 6 Aug 2018 12:49:00 +0200 Subject: [PATCH 06/50] Show APN Settings for CDMA carriers @@ -8,10 +8,10 @@ Subject: [PATCH 06/50] Show APN Settings for CDMA carriers 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java -index 3d46c33534af..3f29b459b7cf 100644 +index 7cb2cc398c46..1655dab30f6a 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java -@@ -9904,7 +9904,7 @@ public class CarrierConfigManager { +@@ -10139,7 +10139,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_OPERATOR_SELECTION_EXPAND_BOOL, true); sDefaults.putBoolean(KEY_PREFER_2G_BOOL, false); sDefaults.putBoolean(KEY_4G_ONLY_BOOL, false); diff --git a/patches_treble_td/platform_frameworks_base/0007-Re-order-services-so-that-it-works-even-without-qtag.patch b/patches_treble_td/platform_frameworks_base/0007-Re-order-services-so-that-it-works-even-without-qtag.patch index 7cdf64a..561beb8 100644 --- a/patches_treble_td/platform_frameworks_base/0007-Re-order-services-so-that-it-works-even-without-qtag.patch +++ b/patches_treble_td/platform_frameworks_base/0007-Re-order-services-so-that-it-works-even-without-qtag.patch @@ -1,4 +1,4 @@ -From 2fc52f8f733f8f29bc9fa4e9b82d66812bb9f917 Mon Sep 17 00:00:00 2001 +From d8b94297131b965a2d4282f53c368f267b9e9251 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 8 Nov 2018 23:04:03 +0100 Subject: [PATCH 07/50] Re-order services so that it works even without qtaguid @@ -9,10 +9,10 @@ Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java -index ac69a785e62d..1f550c7da82c 100644 +index 841f8a46aeb1..c941da5c5a74 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java -@@ -971,6 +971,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { +@@ -983,6 +983,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "systemReady"); final int oldPriority = Process.getThreadPriority(Process.myTid()); try { @@ -23,7 +23,7 @@ index ac69a785e62d..1f550c7da82c 100644 // Boost thread's priority during system server init Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND); if (!isBandwidthControlEnabled()) { -@@ -978,10 +982,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { +@@ -990,10 +994,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { return; } @@ -33,7 +33,7 @@ index ac69a785e62d..1f550c7da82c 100644 - synchronized (mUidRulesFirstLock) { synchronized (mNetworkPoliciesSecondLock) { - updatePowerSaveWhitelistUL(); + updatePowerSaveAllowlistUL(); -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_base/0008-Support-samsung-Pie-and-Q-light-hal.patch b/patches_treble_td/platform_frameworks_base/0008-Support-samsung-Pie-and-Q-light-hal.patch index a46131c..a73bc06 100644 --- a/patches_treble_td/platform_frameworks_base/0008-Support-samsung-Pie-and-Q-light-hal.patch +++ b/patches_treble_td/platform_frameworks_base/0008-Support-samsung-Pie-and-Q-light-hal.patch @@ -1,4 +1,4 @@ -From 4170fb54bb1ed5755f434372c27980a475aba97a Mon Sep 17 00:00:00 2001 +From b25663e9303b4544cf037a3e565832b48d637f5d Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 24 Mar 2019 23:05:14 +0100 Subject: [PATCH 08/50] Support samsung Pie and Q light hal @@ -9,10 +9,10 @@ Change-Id: I01f94acd7d0672733e48854d80368f9ac6f861c6 1 file changed, 2 insertions(+) diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp -index 77db96001e0c..36c13ca121e3 100644 +index 1ca147b91e8a..f4a22ef80c61 100644 --- a/services/core/jni/Android.bp +++ b/services/core/jni/Android.bp -@@ -202,6 +202,8 @@ cc_defaults { +@@ -214,6 +214,8 @@ cc_defaults { "android.system.suspend-V1-ndk", "server_configurable_flags", "service.incremental", diff --git a/patches_treble_td/platform_frameworks_base/0009-Add-support-for-samsung-touch-physical-and-hover-pro.patch b/patches_treble_td/platform_frameworks_base/0009-Add-support-for-samsung-touch-physical-and-hover-pro.patch index 2552b4b..9cecc56 100644 --- a/patches_treble_td/platform_frameworks_base/0009-Add-support-for-samsung-touch-physical-and-hover-pro.patch +++ b/patches_treble_td/platform_frameworks_base/0009-Add-support-for-samsung-touch-physical-and-hover-pro.patch @@ -1,4 +1,4 @@ -From 743b7f87fc925d6e8710ed087e429c20c9c2f1b5 Mon Sep 17 00:00:00 2001 +From 2584719094b8025923ce2f88e7af5d29f4329f54 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 12 Aug 2019 23:08:26 +0200 Subject: [PATCH 09/50] Add support for samsung touch, physical and hover @@ -10,10 +10,10 @@ Change-Id: I7a0f8b4665c802140d19197d850b77b2a7ac1865 1 file changed, 35 insertions(+) diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java -index e09d7289e37b..c6035e68de71 100644 +index ae96e92cf22b..603c7a5d0086 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java -@@ -2366,6 +2366,27 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call +@@ -2465,6 +2465,27 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call } mProximitySensor = SensorUtils.findSensor(mSensorManager, mDisplayDeviceConfig.getProximitySensor(), Sensor.TYPE_PROXIMITY); @@ -41,7 +41,7 @@ index e09d7289e37b..c6035e68de71 100644 if (mProximitySensor != null) { mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(), TYPICAL_PROXIMITY_THRESHOLD); -@@ -3408,6 +3429,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call +@@ -3512,6 +3533,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call public void onSensorChanged(SensorEvent event) { if (mProximitySensorEnabled) { final long time = mClock.uptimeMillis(); diff --git a/patches_treble_td/platform_frameworks_base/0010-Always-allow-overriding-the-number-of-work-profiles.patch b/patches_treble_td/platform_frameworks_base/0010-Always-allow-overriding-the-number-of-work-profiles.patch index 0cadf7b..95214ae 100644 --- a/patches_treble_td/platform_frameworks_base/0010-Always-allow-overriding-the-number-of-work-profiles.patch +++ b/patches_treble_td/platform_frameworks_base/0010-Always-allow-overriding-the-number-of-work-profiles.patch @@ -1,4 +1,4 @@ -From 268e1bd12c10eba4700444c0687fd509dbce8ee3 Mon Sep 17 00:00:00 2001 +From 22418b0a3aae42784dc0003c063d0a306e8befa8 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 5 Apr 2020 16:32:46 +0200 Subject: [PATCH 10/50] Always allow overriding the number of work profiles @@ -9,10 +9,10 @@ Change-Id: I6eb09aa71663c6fbe7563e3038bffcabdba0ff6a 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java -index a959fc10db49..440d42681c1a 100644 +index 6f75a96c05db..c7b305cf120b 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java -@@ -7357,12 +7357,8 @@ public class UserManagerService extends IUserManager.Stub { +@@ -7560,12 +7560,8 @@ public class UserManagerService extends IUserManager.Stub { */ private static int getMaxUsersOfTypePerParent(UserTypeDetails userTypeDetails) { final int defaultMax = userTypeDetails.getMaxAllowedPerParent(); diff --git a/patches_treble_td/platform_frameworks_base/0011-HOME-deserves-to-wake-up-devices-just-as-well-as-bac.patch b/patches_treble_td/platform_frameworks_base/0011-HOME-deserves-to-wake-up-devices-just-as-well-as-bac.patch index a851d76..0415929 100644 --- a/patches_treble_td/platform_frameworks_base/0011-HOME-deserves-to-wake-up-devices-just-as-well-as-bac.patch +++ b/patches_treble_td/platform_frameworks_base/0011-HOME-deserves-to-wake-up-devices-just-as-well-as-bac.patch @@ -1,4 +1,4 @@ -From 1c2e2c57747d27dfc8facb75bb73e575647acb81 Mon Sep 17 00:00:00 2001 +From 0c9251a2cfa2635957040d76b0fe11738aa1ce41 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 6 Jun 2020 18:21:56 +0200 Subject: [PATCH 11/50] HOME deserves to wake-up devices just as well as back @@ -10,10 +10,10 @@ Change-Id: Ia562bafd8c620d00c17e8eb338e4701c6c4a3c3a 1 file changed, 1 insertion(+) diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java -index 5de31a229aa3..a242afd2a689 100644 +index 442a8a7cc571..09675dfbdafd 100644 --- a/core/java/android/view/KeyEvent.java +++ b/core/java/android/view/KeyEvent.java -@@ -2068,6 +2068,7 @@ public class KeyEvent extends InputEvent implements Parcelable { +@@ -2084,6 +2084,7 @@ public class KeyEvent extends InputEvent implements Parcelable { case KeyEvent.KEYCODE_CAMERA: case KeyEvent.KEYCODE_FOCUS: case KeyEvent.KEYCODE_MENU: diff --git a/patches_treble_td/platform_frameworks_base/0012-Some-devices-have-proximity-sensor-reporting-NaN-as-.patch b/patches_treble_td/platform_frameworks_base/0012-Some-devices-have-proximity-sensor-reporting-NaN-as-.patch index 7fa2c0c..89ff91a 100644 --- a/patches_treble_td/platform_frameworks_base/0012-Some-devices-have-proximity-sensor-reporting-NaN-as-.patch +++ b/patches_treble_td/platform_frameworks_base/0012-Some-devices-have-proximity-sensor-reporting-NaN-as-.patch @@ -1,4 +1,4 @@ -From 2312dfbcde812959495f8766eb80b9450829772d Mon Sep 17 00:00:00 2001 +From 99a33652a6b39bf603d2bb8aed674a61de8575f4 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 29 Sep 2020 22:39:47 +0200 Subject: [PATCH 12/50] Some devices have proximity sensor reporting NaN as max @@ -10,10 +10,10 @@ Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612 1 file changed, 3 insertions(+) diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java -index c6035e68de71..fb84d64350b7 100644 +index 603c7a5d0086..deb5651791e3 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java -@@ -2390,6 +2390,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call +@@ -2489,6 +2489,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call if (mProximitySensor != null) { mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(), TYPICAL_PROXIMITY_THRESHOLD); diff --git a/patches_treble_td/platform_frameworks_base/0013-Fix-brightness-range-not-being-complete-on-Samsung-d.patch b/patches_treble_td/platform_frameworks_base/0013-Fix-brightness-range-not-being-complete-on-Samsung-d.patch index 50472a5..08b3895 100644 --- a/patches_treble_td/platform_frameworks_base/0013-Fix-brightness-range-not-being-complete-on-Samsung-d.patch +++ b/patches_treble_td/platform_frameworks_base/0013-Fix-brightness-range-not-being-complete-on-Samsung-d.patch @@ -1,4 +1,4 @@ -From 70cd27439768d7b7137225345f403aa43adfb9c8 Mon Sep 17 00:00:00 2001 +From 36b81b62e53dcd1c2caa04e1e647c97c7ed783b4 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 29 Sep 2020 22:40:10 +0200 Subject: [PATCH 13/50] Fix brightness range not being complete on Samsung @@ -15,10 +15,10 @@ Change-Id: I4d97cbc32490949e83272b81ec6320a5483310b1 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java -index edcf2715b0a5..e88ec095fbe7 100644 +index 422d38d3a2ca..475a09b0e910 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java -@@ -1246,9 +1246,11 @@ public final class PowerManagerService extends SystemService +@@ -1243,9 +1243,11 @@ public final class PowerManagerService extends SystemService if (min == INVALID_BRIGHTNESS_IN_CONFIG || max == INVALID_BRIGHTNESS_IN_CONFIG || def == INVALID_BRIGHTNESS_IN_CONFIG) { diff --git a/patches_treble_td/platform_frameworks_base/0014-Re-implement-fnmatch-like-behaviour-for-RRO-java-sid.patch b/patches_treble_td/platform_frameworks_base/0014-Re-implement-fnmatch-like-behaviour-for-RRO-java-sid.patch index 964e6e8..3f1e691 100644 --- a/patches_treble_td/platform_frameworks_base/0014-Re-implement-fnmatch-like-behaviour-for-RRO-java-sid.patch +++ b/patches_treble_td/platform_frameworks_base/0014-Re-implement-fnmatch-like-behaviour-for-RRO-java-sid.patch @@ -1,4 +1,4 @@ -From 6f924b3312017fc5eb84d50eaf544d2e79d90fbf Mon Sep 17 00:00:00 2001 +From 69281cf6072b7290c232b1877460fcf2c2ba5e93 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 25 Oct 2020 23:57:26 +0100 Subject: [PATCH 14/50] Re-implement fnmatch-like behaviour for RRO java-side @@ -11,7 +11,7 @@ Change-Id: Id38292a9a1453aa87b8401c1fdb390fa4e63c7d1 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java -index b75ba82ad091..b344f7232190 100644 +index fc06dd8de3b6..41da26bff956 100644 --- a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java +++ b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java @@ -223,8 +223,17 @@ public class FrameworkParsingPackageUtils { diff --git a/patches_treble_td/platform_frameworks_base/0015-Remove-useless-notification-about-console-service-be.patch b/patches_treble_td/platform_frameworks_base/0015-Remove-useless-notification-about-console-service-be.patch index 0ebc1b9..0b77ffb 100644 --- a/patches_treble_td/platform_frameworks_base/0015-Remove-useless-notification-about-console-service-be.patch +++ b/patches_treble_td/platform_frameworks_base/0015-Remove-useless-notification-about-console-service-be.patch @@ -1,4 +1,4 @@ -From bc7ba9db9a4cb0f11a715f113b88897f4031890a Mon Sep 17 00:00:00 2001 +From 197b3fc43e8728854b48218e7fe46ec960a05119 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 11 Dec 2020 14:41:09 +0100 Subject: [PATCH 15/50] Remove useless notification about "console" service @@ -9,10 +9,10 @@ Subject: [PATCH 15/50] Remove useless notification about "console" service 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java -index 4dad2d560526..5d1f27ac923d 100644 +index 89b53aab1539..90d0666189c8 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java -@@ -5156,7 +5156,7 @@ public class ActivityManagerService extends IActivityManager.Stub +@@ -5222,7 +5222,7 @@ public class ActivityManagerService extends IActivityManager.Stub } private void showConsoleNotificationIfActive() { diff --git a/patches_treble_td/platform_frameworks_base/0016-Revert-Remove-unused-SystemProperties.set.patch b/patches_treble_td/platform_frameworks_base/0016-Revert-Remove-unused-SystemProperties.set.patch index a05948d..bb08596 100644 --- a/patches_treble_td/platform_frameworks_base/0016-Revert-Remove-unused-SystemProperties.set.patch +++ b/patches_treble_td/platform_frameworks_base/0016-Revert-Remove-unused-SystemProperties.set.patch @@ -1,4 +1,4 @@ -From 0131331d9813abfb7e0a1d3a8a82036c34294b9e Mon Sep 17 00:00:00 2001 +From 511b30e50770302215590d22dc7f02217bdbb653 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 16 Dec 2020 21:24:12 +0800 Subject: [PATCH 16/50] Revert "Remove unused SystemProperties.set" @@ -11,10 +11,10 @@ This reverts commit debb4616ef67f9ed5054eca51ec58592358ff55f. 1 file changed, 69 insertions(+) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java -index 340e4ab132ca..551b73a1706f 100644 +index f206987ddbf6..73c957c47892 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java -@@ -8095,6 +8095,75 @@ public class TelephonyManager { +@@ -8152,6 +8152,75 @@ public class TelephonyManager { } } diff --git a/patches_treble_td/platform_frameworks_base/0017-TelephonyManager-bring-back-getNetworkClass.patch b/patches_treble_td/platform_frameworks_base/0017-TelephonyManager-bring-back-getNetworkClass.patch index f5261e7..2aa613b 100644 --- a/patches_treble_td/platform_frameworks_base/0017-TelephonyManager-bring-back-getNetworkClass.patch +++ b/patches_treble_td/platform_frameworks_base/0017-TelephonyManager-bring-back-getNetworkClass.patch @@ -1,4 +1,4 @@ -From 6879e245b3b923f650eb0ebfa124181f53082efe Mon Sep 17 00:00:00 2001 +From 35fdd748c2c978cecd68e8f6d147e24a4efef916 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 16 Dec 2020 13:46:15 +0800 Subject: [PATCH 17/50] TelephonyManager: bring back getNetworkClass() @@ -11,10 +11,10 @@ This partially reverts commit c058cac051ab083dc7fb7ea6aa85699110b2e9bf. 1 file changed, 58 insertions(+) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java -index 551b73a1706f..62bd70374c96 100644 +index 73c957c47892..0cd5ab7fad20 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java -@@ -3204,6 +3204,64 @@ public class TelephonyManager { +@@ -3256,6 +3256,64 @@ public class TelephonyManager { } } diff --git a/patches_treble_td/platform_frameworks_base/0018-TelephonyManager-add-API-annotations-for-setTelephon.patch b/patches_treble_td/platform_frameworks_base/0018-TelephonyManager-add-API-annotations-for-setTelephon.patch index f7572d7..ef4389f 100644 --- a/patches_treble_td/platform_frameworks_base/0018-TelephonyManager-add-API-annotations-for-setTelephon.patch +++ b/patches_treble_td/platform_frameworks_base/0018-TelephonyManager-add-API-annotations-for-setTelephon.patch @@ -1,4 +1,4 @@ -From 1963ddb089e0fb68669da3fe5e2b7dd6e31f7ebf Mon Sep 17 00:00:00 2001 +From 4a5c645b6ad129a63f02be32da7d0e7fa9940968 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 16 Dec 2020 21:26:45 +0800 Subject: [PATCH 18/50] TelephonyManager: add API annotations for @@ -14,10 +14,10 @@ Subject: [PATCH 18/50] TelephonyManager: add API annotations for 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java -index 62bd70374c96..7aac41db9c36 100644 +index 0cd5ab7fad20..bd5255d4a21a 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java -@@ -8159,7 +8159,7 @@ public class TelephonyManager { +@@ -8216,7 +8216,7 @@ public class TelephonyManager { * @hide */ @UnsupportedAppUsage @@ -26,7 +26,7 @@ index 62bd70374c96..7aac41db9c36 100644 String propVal = ""; String p[] = null; String prop = SystemProperties.get(property); -@@ -8213,7 +8213,8 @@ public class TelephonyManager { +@@ -8270,7 +8270,8 @@ public class TelephonyManager { * * @hide */ diff --git a/patches_treble_td/platform_frameworks_base/0019-Fix-Wakelock-issue.patch b/patches_treble_td/platform_frameworks_base/0019-Fix-Wakelock-issue.patch index 07c070c..897d3e9 100644 --- a/patches_treble_td/platform_frameworks_base/0019-Fix-Wakelock-issue.patch +++ b/patches_treble_td/platform_frameworks_base/0019-Fix-Wakelock-issue.patch @@ -1,4 +1,4 @@ -From 8dca252df27d744e02dd842a37fa061dff75eda0 Mon Sep 17 00:00:00 2001 +From c4c128d8577afa55ec70de0552cf428e7bb579c7 Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Tue, 2 Feb 2021 10:20:51 +0000 Subject: [PATCH 19/50] Fix Wakelock issue diff --git a/patches_treble_td/platform_frameworks_base/0020-Automatically-detect-pick-up-sensor-so-that-an-overl.patch b/patches_treble_td/platform_frameworks_base/0020-Automatically-detect-pick-up-sensor-so-that-an-overl.patch index becefe8..8606261 100644 --- a/patches_treble_td/platform_frameworks_base/0020-Automatically-detect-pick-up-sensor-so-that-an-overl.patch +++ b/patches_treble_td/platform_frameworks_base/0020-Automatically-detect-pick-up-sensor-so-that-an-overl.patch @@ -1,4 +1,4 @@ -From 509bd0245a7bc49d22c89bcff4d06bfc21eae906 Mon Sep 17 00:00:00 2001 +From 5bbd2dbb36c770256dc53a63735d4959cc4c52c3 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 20 Mar 2021 14:31:01 +0100 Subject: [PATCH 20/50] Automatically detect pick up sensor, so that an overlay diff --git a/patches_treble_td/platform_frameworks_base/0021-Catch-broken-mainBuiltInDisplayCutoutRectApproximati.patch b/patches_treble_td/platform_frameworks_base/0021-Catch-broken-mainBuiltInDisplayCutoutRectApproximati.patch index 6f3e2fb..7721142 100644 --- a/patches_treble_td/platform_frameworks_base/0021-Catch-broken-mainBuiltInDisplayCutoutRectApproximati.patch +++ b/patches_treble_td/platform_frameworks_base/0021-Catch-broken-mainBuiltInDisplayCutoutRectApproximati.patch @@ -1,4 +1,4 @@ -From 707fa8d5e9f3fa538dd44e7c2e6ed5c4acbadf56 Mon Sep 17 00:00:00 2001 +From 0e6f55f0b8ab83f74fb9b268630c2f411d2c7a28 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 23 Mar 2021 19:43:26 +0100 Subject: [PATCH 21/50] Catch broken mainBuiltInDisplayCutoutRectApproximation diff --git a/patches_treble_td/platform_frameworks_base/0022-backlight-Fix-backlight-control-on-Galaxy-S9.patch b/patches_treble_td/platform_frameworks_base/0022-backlight-Fix-backlight-control-on-Galaxy-S9.patch index ef90bba..46ad428 100644 --- a/patches_treble_td/platform_frameworks_base/0022-backlight-Fix-backlight-control-on-Galaxy-S9.patch +++ b/patches_treble_td/platform_frameworks_base/0022-backlight-Fix-backlight-control-on-Galaxy-S9.patch @@ -1,4 +1,4 @@ -From 7548d2465b542b0b24609900b57e0eab433e6eb6 Mon Sep 17 00:00:00 2001 +From 8716b7ebe29b4b66fc7a085f3244164140672ffa Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 24 Mar 2018 08:01:48 +0100 Subject: [PATCH 22/50] backlight: Fix backlight control on Galaxy S9(+) @@ -53,18 +53,18 @@ Change-Id: I4e85178327d2bb63d5d0a37786058843662a89ba 1 file changed, 46 insertions(+) diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java -index fea6b29d9260..caf9eba7d9a8 100644 +index 4d26f43307b2..c94d334b280b 100644 --- a/services/core/java/com/android/server/lights/LightsService.java +++ b/services/core/java/com/android/server/lights/LightsService.java -@@ -32,6 +32,7 @@ import android.os.IBinder; - import android.os.Looper; +@@ -32,6 +32,7 @@ import android.os.Looper; + import android.os.PermissionEnforcer; import android.os.RemoteException; import android.os.ServiceManager; +import android.os.SystemProperties; import android.os.Trace; import android.provider.Settings; import android.util.Slog; -@@ -295,6 +296,51 @@ public class LightsService extends SystemService { +@@ -298,6 +299,51 @@ public class LightsService extends SystemService { return; } int brightnessInt = BrightnessSynchronizer.brightnessFloatToInt(brightness); diff --git a/patches_treble_td/platform_frameworks_base/0023-Revert-Switch-long-press-power-behavior-in-AOSP.patch b/patches_treble_td/platform_frameworks_base/0023-Revert-Switch-long-press-power-behavior-in-AOSP.patch index 5d62116..624954b 100644 --- a/patches_treble_td/platform_frameworks_base/0023-Revert-Switch-long-press-power-behavior-in-AOSP.patch +++ b/patches_treble_td/platform_frameworks_base/0023-Revert-Switch-long-press-power-behavior-in-AOSP.patch @@ -1,4 +1,4 @@ -From 02c62cf8b31225686f8b9567cba799f9e8f175a4 Mon Sep 17 00:00:00 2001 +From 51f840e3a7afd5cbab39b28a96a62b2f99ef6647 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 4 Sep 2021 08:26:30 +0000 Subject: [PATCH 23/50] Revert "Switch long-press power behavior in AOSP." @@ -9,10 +9,10 @@ This reverts commit 803c77a0a24624111944832098c6f65158051dc4. 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml -index 40bae0723f41..04a69f8c1e6d 100644 +index 3bc33bac37bc..19a03cac127e 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml -@@ -1098,7 +1098,7 @@ +@@ -1131,7 +1131,7 @@ 5 - Go to assistant (Settings.Secure.ASSISTANT) 6 - Toggle torch on / off (if screen is off) --> @@ -21,7 +21,7 @@ index 40bae0723f41..04a69f8c1e6d 100644 500 -@@ -1130,7 +1130,7 @@ +@@ -1163,7 +1163,7 @@ 1 - Mute toggle 2 - Global actions menu --> diff --git a/patches_treble_td/platform_frameworks_base/0024-Allow-disabling-of-fingerprint-cleanups-needed-on-so.patch b/patches_treble_td/platform_frameworks_base/0024-Allow-disabling-of-fingerprint-cleanups-needed-on-so.patch index 7b7a7e2..ad6f269 100644 --- a/patches_treble_td/platform_frameworks_base/0024-Allow-disabling-of-fingerprint-cleanups-needed-on-so.patch +++ b/patches_treble_td/platform_frameworks_base/0024-Allow-disabling-of-fingerprint-cleanups-needed-on-so.patch @@ -1,4 +1,4 @@ -From 58bdf9405c40873bbc54d90269dd1a98bd895b22 Mon Sep 17 00:00:00 2001 +From ce76ec2757c8140fc8f594bbd545ecbcb54c3e09 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 2 Apr 2022 18:04:01 -0400 Subject: [PATCH 24/50] Allow disabling of fingerprint cleanups, needed on some @@ -9,10 +9,10 @@ Subject: [PATCH 24/50] Allow disabling of fingerprint cleanups, needed on some 1 file changed, 2 insertions(+) diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java -index d0b71fcf2dbb..d5978a531dc5 100644 +index d3cecd0e34c7..91f515161146 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java -@@ -746,6 +746,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider +@@ -1004,6 +1004,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider private void scheduleInternalCleanup(int userId, @Nullable ClientMonitorCallback callback) { diff --git a/patches_treble_td/platform_frameworks_base/0025-Dynamically-resize-boot-animation-to-match-screen-si.patch b/patches_treble_td/platform_frameworks_base/0025-Dynamically-resize-boot-animation-to-match-screen-si.patch index 51cb9ed..6ec22d1 100644 --- a/patches_treble_td/platform_frameworks_base/0025-Dynamically-resize-boot-animation-to-match-screen-si.patch +++ b/patches_treble_td/platform_frameworks_base/0025-Dynamically-resize-boot-animation-to-match-screen-si.patch @@ -1,4 +1,4 @@ -From ca2daaa7257fed79965afe595742fb8f394827da Mon Sep 17 00:00:00 2001 +From 4897371a2b91eb8179cdc35abf12e380bb5675dc Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 20 Dec 2021 15:01:41 -0500 Subject: [PATCH 25/50] Dynamically resize boot animation to match screen size @@ -9,10 +9,10 @@ Change-Id: I54e49fc6b8c670103852e212d1416e27ff976205 1 file changed, 22 insertions(+) diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp -index 528ac1d19603..337e9eba702d 100644 +index f5271aca5c59..560f73bf7e35 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp -@@ -622,6 +622,28 @@ status_t BootAnimation::readyToRun() { +@@ -635,6 +635,28 @@ status_t BootAnimation::readyToRun() { mFlingerSurface = s; mTargetInset = -1; diff --git a/patches_treble_td/platform_frameworks_base/0026-Revert-Remove-more-FDE-methods-from-StorageManager.patch b/patches_treble_td/platform_frameworks_base/0026-Revert-Remove-more-FDE-methods-from-StorageManager.patch index 5cb46a9..b5de988 100644 --- a/patches_treble_td/platform_frameworks_base/0026-Revert-Remove-more-FDE-methods-from-StorageManager.patch +++ b/patches_treble_td/platform_frameworks_base/0026-Revert-Remove-more-FDE-methods-from-StorageManager.patch @@ -1,4 +1,4 @@ -From 622350d44f2db35c4762e1ba0db21338d29dac6d Mon Sep 17 00:00:00 2001 +From 639de917a53c7313597f9491fe425058764d7590 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 15 Oct 2022 09:33:56 +0000 Subject: [PATCH 26/50] Revert "Remove more FDE methods from StorageManager" @@ -7,15 +7,15 @@ This reverts commit bd13f84152449a3ead6fa8604fd31f48c0224676. Change-Id: Ic394934ec27b1a486c60123130825d44dad73412 --- - .../android/os/storage/StorageManager.java | 57 +++++++++++++++++++ - .../internal/os/RoSystemProperties.java | 4 ++ - 2 files changed, 61 insertions(+) + .../android/os/storage/StorageManager.java | 74 +++++++++++++++++++ + .../internal/os/RoSystemProperties.java | 4 + + 2 files changed, 78 insertions(+) diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java -index ee387e7c284f..0adc55598d9b 100644 +index 78a12f75a508..f9999fa8fde8 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java -@@ -1669,6 +1669,15 @@ public class StorageManager { +@@ -1714,6 +1714,15 @@ public class StorageManager { return false; } @@ -31,10 +31,19 @@ index ee387e7c284f..0adc55598d9b 100644 /** {@hide} * Is this device encrypted? *

-@@ -1702,6 +1711,54 @@ public class StorageManager { - return isFileEncrypted(); +@@ -1738,6 +1747,71 @@ public class StorageManager { + return RoSystemProperties.CRYPTO_FILE_ENCRYPTED; } ++ /** {@hide} ++ * @deprecated Use {@link #isFileEncrypted} instead, since emulated FBE is no longer supported. ++ */ ++ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) ++ @Deprecated ++ public static boolean isFileEncryptedNativeOnly() { ++ return false; ++ } ++ + /** {@hide} + * Is this device block encrypted? + * @return true for block encrypted. (Implies isEncrypted() == true) @@ -83,9 +92,17 @@ index ee387e7c284f..0adc55598d9b 100644 + return false; + } + - /** {@hide} - * @deprecated Use {@link #isFileEncrypted} instead, since emulated FBE is no longer supported. - */ ++ /** {@hide} ++ * @deprecated Use {@link #isFileEncrypted} instead, since emulated FBE is no longer supported. ++ */ ++ @Deprecated ++ public static boolean isFileEncryptedNativeOrEmulated() { ++ return false; ++ } ++ + /** {@hide} */ + public static boolean hasAdoptable() { + switch (SystemProperties.get(PROP_ADOPTABLE)) { diff --git a/core/java/com/android/internal/os/RoSystemProperties.java b/core/java/com/android/internal/os/RoSystemProperties.java index 40d5c4761dff..66288706b0f1 100644 --- a/core/java/com/android/internal/os/RoSystemProperties.java diff --git a/patches_treble_td/platform_frameworks_base/0027-Set-old-fingerprint-sensors-to-security-strong.patch b/patches_treble_td/platform_frameworks_base/0027-Set-old-fingerprint-sensors-to-security-strong.patch index e67cef1..13cad44 100644 --- a/patches_treble_td/platform_frameworks_base/0027-Set-old-fingerprint-sensors-to-security-strong.patch +++ b/patches_treble_td/platform_frameworks_base/0027-Set-old-fingerprint-sensors-to-security-strong.patch @@ -1,4 +1,4 @@ -From 59d9381e45331015cca06f2fcfa504365be0a657 Mon Sep 17 00:00:00 2001 +From 47b3844e2e84eddf67de5bbff2905dbec47c1a07 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 3 Dec 2022 17:13:24 -0500 Subject: [PATCH 27/50] Set old fingerprint sensors to security "strong" @@ -11,10 +11,10 @@ despite its name, config_biometric_sensors is HIDL-specific 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java -index 6f4ad13ba854..c692f5f9472c 100644 +index 51b85f06ec46..5279073cd71a 100644 --- a/services/core/java/com/android/server/biometrics/AuthService.java +++ b/services/core/java/com/android/server/biometrics/AuthService.java -@@ -655,7 +655,7 @@ public class AuthService extends SystemService { +@@ -704,7 +704,7 @@ public class AuthService extends SystemService { final int firstApiLevel = SystemProperties.getInt(SYSPROP_FIRST_API_LEVEL, 0); final int apiLevel = SystemProperties.getInt(SYSPROP_API_LEVEL, firstApiLevel); String[] configStrings = mInjector.getConfiguration(getContext()); @@ -23,7 +23,7 @@ index 6f4ad13ba854..c692f5f9472c 100644 // For backwards compatibility with R where biometrics could work without being // configured in config_biometric_sensors. In the absence of a vendor provided // configuration, we assume the weakest biometric strength (i.e. convenience). -@@ -690,7 +690,7 @@ public class AuthService extends SystemService { +@@ -739,7 +739,7 @@ public class AuthService extends SystemService { if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) { modalities.add(String.valueOf(BiometricAuthenticator.TYPE_FACE)); } diff --git a/patches_treble_td/platform_frameworks_base/0028-Call-Samsung-s-ISehSysInputDev-to-report-screen-stat.patch b/patches_treble_td/platform_frameworks_base/0028-Call-Samsung-s-ISehSysInputDev-to-report-screen-stat.patch index 2805094..756d191 100644 --- a/patches_treble_td/platform_frameworks_base/0028-Call-Samsung-s-ISehSysInputDev-to-report-screen-stat.patch +++ b/patches_treble_td/platform_frameworks_base/0028-Call-Samsung-s-ISehSysInputDev-to-report-screen-stat.patch @@ -1,4 +1,4 @@ -From 60e2e07a4da5a9e375d798155f3b42aafa10590b Mon Sep 17 00:00:00 2001 +From 2df1f2c9fbb7ceee139431a88cc53871859cb4db Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 14 Dec 2022 17:21:00 -0500 Subject: [PATCH 28/50] Call Samsung's ISehSysInputDev to report screen state @@ -7,26 +7,26 @@ Subject: [PATCH 28/50] Call Samsung's ISehSysInputDev to report screen state This fixes touchscreen not waking up on Galaxy F23 --- services/core/Android.bp | 1 + - .../server/display/LocalDisplayAdapter.java | 32 +++++++++++++++++++ - 2 files changed, 33 insertions(+) + .../server/display/LocalDisplayAdapter.java | 31 +++++++++++++++++++ + 2 files changed, 32 insertions(+) diff --git a/services/core/Android.bp b/services/core/Android.bp -index 39204d9acf75..bb2b0bfdfaf0 100644 +index ffe5f3402037..a760814b8a40 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp -@@ -187,6 +187,7 @@ java_library_static { - "com.android.sysprop.watchdog", - "ImmutabilityAnnotation", - "securebox", +@@ -205,6 +205,7 @@ java_library_static { + "com_android_wm_shell_flags_lib", + "com.android.server.utils_aconfig-java", + "service-jobscheduler-deviceidle.flags-aconfig-java", + "vendor.samsung.hardware.sysinput-V1.2-java", // HIDL ], javac_shard_size: 50, javacflags: [ diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java -index 89d865e5ae39..9f2793a16a28 100644 +index 22898a65c5de..f9dbd91e6b5a 100644 --- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java +++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java -@@ -33,6 +33,7 @@ import android.os.Trace; +@@ -35,6 +35,7 @@ import android.os.Trace; import android.util.DisplayUtils; import android.util.LongSparseArray; import android.util.Slog; @@ -34,7 +34,7 @@ index 89d865e5ae39..9f2793a16a28 100644 import android.util.SparseArray; import android.view.Display; import android.view.DisplayAddress; -@@ -51,6 +52,8 @@ import com.android.server.display.mode.DisplayModeDirector; +@@ -55,6 +56,8 @@ import com.android.server.display.notifications.DisplayNotificationManager; import com.android.server.lights.LightsManager; import com.android.server.lights.LogicalLight; @@ -43,8 +43,8 @@ index 89d865e5ae39..9f2793a16a28 100644 import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; -@@ -234,6 +237,8 @@ final class LocalDisplayAdapter extends DisplayAdapter { - +@@ -244,6 +247,8 @@ final class LocalDisplayAdapter extends DisplayAdapter { + private float mActiveRenderFrameRate; private DisplayEventReceiver.FrameRateOverride[] mFrameRateOverrides = new DisplayEventReceiver.FrameRateOverride[0]; + private boolean triedSamsungHal = false; @@ -52,10 +52,10 @@ index 89d865e5ae39..9f2793a16a28 100644 LocalDisplayDevice(IBinder displayToken, long physicalDisplayId, SurfaceControl.StaticDisplayInfo staticDisplayInfo, -@@ -825,17 +830,44 @@ final class LocalDisplayAdapter extends DisplayAdapter { +@@ -850,16 +855,42 @@ final class LocalDisplayAdapter extends DisplayAdapter { } - mSidekickActive = false; } + + if (!triedSamsungHal) { + triedSamsungHal = true; + try { @@ -93,10 +93,8 @@ index 89d865e5ae39..9f2793a16a28 100644 + } + setCommittedState(state); -+ + // If we're entering a suspended (but not OFF) power state and we - // have a sidekick available, tell it now that it can take control. - if (Display.isSuspendedState(state) && state != Display.STATE_OFF -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_base/0029-Try-catch-around-constrainNitsAndBacklightArrays-and.patch b/patches_treble_td/platform_frameworks_base/0029-Try-catch-around-constrainNitsAndBacklightArrays-and.patch index d7f641a..ef8277f 100644 --- a/patches_treble_td/platform_frameworks_base/0029-Try-catch-around-constrainNitsAndBacklightArrays-and.patch +++ b/patches_treble_td/platform_frameworks_base/0029-Try-catch-around-constrainNitsAndBacklightArrays-and.patch @@ -1,4 +1,4 @@ -From 96803a190d0b605ac1f86c0d9c4698ba90f2ff55 Mon Sep 17 00:00:00 2001 +From b55da71220b0268eeb913f974dbf64dc9bff3e45 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 2 Jun 2023 19:19:31 -0400 Subject: [PATCH 29/50] Try catch around constrainNitsAndBacklightArrays, and @@ -9,10 +9,10 @@ Subject: [PATCH 29/50] Try catch around constrainNitsAndBacklightArrays, and 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/services/core/java/com/android/server/display/DisplayDeviceConfig.java b/services/core/java/com/android/server/display/DisplayDeviceConfig.java -index b0ebab8e4002..77dafd5068d0 100644 +index 3dcb84dad786..9585bdc712cd 100644 --- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java +++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java -@@ -1903,37 +1903,43 @@ public class DisplayDeviceConfig { +@@ -2120,37 +2120,43 @@ public class DisplayDeviceConfig { return; } diff --git a/patches_treble_td/platform_frameworks_base/0030-Add-Mediatek-power-hints-on-touch.patch b/patches_treble_td/platform_frameworks_base/0030-Add-Mediatek-power-hints-on-touch.patch index 6fa181b..3705e77 100644 --- a/patches_treble_td/platform_frameworks_base/0030-Add-Mediatek-power-hints-on-touch.patch +++ b/patches_treble_td/platform_frameworks_base/0030-Add-Mediatek-power-hints-on-touch.patch @@ -1,4 +1,4 @@ -From 88330ecde45dddada9327c889cc9d9dd7d786d7d Mon Sep 17 00:00:00 2001 +From aafc127180d05be573855ff8a5022959b3c6f8ce Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 17 Jun 2023 08:31:55 -0400 Subject: [PATCH 30/50] Add Mediatek power hints on touch @@ -27,13 +27,13 @@ Change-Id: I9f1eac5a20b98920a5d0c8204fe4d165ba069f5a 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/services/core/Android.bp b/services/core/Android.bp -index bb2b0bfdfaf0..c4239779425f 100644 +index a760814b8a40..fc9600992dbb 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp -@@ -187,7 +187,9 @@ java_library_static { - "com.android.sysprop.watchdog", - "ImmutabilityAnnotation", - "securebox", +@@ -205,7 +205,9 @@ java_library_static { + "com_android_wm_shell_flags_lib", + "com.android.server.utils_aconfig-java", + "service-jobscheduler-deviceidle.flags-aconfig-java", - "vendor.samsung.hardware.sysinput-V1.2-java", // HIDL + // HIDL + "vendor.mediatek.hardware.mtkpower-V1.1-java", @@ -42,10 +42,10 @@ index bb2b0bfdfaf0..c4239779425f 100644 javac_shard_size: 50, javacflags: [ diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java -index 8b3e4d38d736..0a8a26f0d4a6 100644 +index a85038f5d656..7becec71be48 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java -@@ -217,6 +217,9 @@ public class DisplayPolicy { +@@ -219,6 +219,9 @@ public class DisplayPolicy { */ private boolean mRemoteInsetsControllerControlsSystemBars; @@ -55,7 +55,7 @@ index 8b3e4d38d736..0a8a26f0d4a6 100644 StatusBarManagerInternal getStatusBarManagerInternal() { synchronized (mServiceAcquireLock) { if (mStatusBarManagerInternal == null) { -@@ -445,6 +448,19 @@ public class DisplayPolicy { +@@ -449,6 +452,19 @@ public class DisplayPolicy { mScreenOnEarly = true; mScreenOnFully = true; } @@ -75,7 +75,7 @@ index 8b3e4d38d736..0a8a26f0d4a6 100644 final Looper looper = UiThread.getHandler().getLooper(); mHandler = new PolicyHandler(looper); -@@ -529,6 +545,17 @@ public class DisplayPolicy { +@@ -533,6 +549,17 @@ public class DisplayPolicy { mService.mPowerManagerInternal.setPowerBoost( Boost.INTERACTION, duration); } @@ -93,7 +93,7 @@ index 8b3e4d38d736..0a8a26f0d4a6 100644 } @Override -@@ -547,6 +574,28 @@ public class DisplayPolicy { +@@ -551,6 +578,28 @@ public class DisplayPolicy { if (listener != null) { listener.onTouchStart(); } diff --git a/patches_treble_td/platform_frameworks_base/0031-Detect-Moto-dynamic-hardware-feature.patch b/patches_treble_td/platform_frameworks_base/0031-Detect-Moto-dynamic-hardware-feature.patch index b2a64dc..0fb3d25 100644 --- a/patches_treble_td/platform_frameworks_base/0031-Detect-Moto-dynamic-hardware-feature.patch +++ b/patches_treble_td/platform_frameworks_base/0031-Detect-Moto-dynamic-hardware-feature.patch @@ -1,4 +1,4 @@ -From a9e368d503270ae8988dce4c6c8927a4fbffe45d Mon Sep 17 00:00:00 2001 +From 9b75172e57381886f96fa52bdbd7441622bc9f91 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 5 Jul 2023 10:50:36 -0400 Subject: [PATCH 31/50] Detect Moto dynamic hardware feature @@ -14,10 +14,10 @@ NFC-less variants 1 file changed, 19 insertions(+) diff --git a/services/core/java/com/android/server/SystemConfig.java b/services/core/java/com/android/server/SystemConfig.java -index 7fae31c0bb4b..6da8e9397829 100644 +index 40b29d7b09d5..38e82d8cac36 100644 --- a/services/core/java/com/android/server/SystemConfig.java +++ b/services/core/java/com/android/server/SystemConfig.java -@@ -939,6 +939,25 @@ public class SystemConfig { +@@ -946,6 +946,25 @@ public class SystemConfig { } XmlUtils.skipCurrentTag(parser); } break; diff --git a/patches_treble_td/platform_frameworks_base/0032-Restore-getSimStateForSlotIndex-in-SubscriptionManag.patch b/patches_treble_td/platform_frameworks_base/0032-Restore-getSimStateForSlotIndex-in-SubscriptionManag.patch index 872c926..768d11a 100644 --- a/patches_treble_td/platform_frameworks_base/0032-Restore-getSimStateForSlotIndex-in-SubscriptionManag.patch +++ b/patches_treble_td/platform_frameworks_base/0032-Restore-getSimStateForSlotIndex-in-SubscriptionManag.patch @@ -1,4 +1,4 @@ -From 93fb03fae7a6d3628f6197475f009f22448cb8d4 Mon Sep 17 00:00:00 2001 +From 6bec6832764642598ec0bcd5c83721b47eb8ba93 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Wed, 2 Aug 2023 20:59:53 +0800 Subject: [PATCH 32/50] Restore getSimStateForSlotIndex in SubscriptionManager @@ -11,10 +11,10 @@ Change-Id: I41bac57c68055f369232359a464642daab94403b 1 file changed, 14 insertions(+) diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java -index 8e4ec0914563..a65a7e9ec2e6 100644 +index 326b6f5af613..b994888362b0 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java -@@ -2558,6 +2558,20 @@ public class SubscriptionManager { +@@ -2693,6 +2693,20 @@ public class SubscriptionManager { return TelephonyManager.getDefault().isNetworkRoaming(subId); } diff --git a/patches_treble_td/platform_frameworks_base/0033-Add-runWithCleanCallingIdentity-variant-with-both-ex.patch b/patches_treble_td/platform_frameworks_base/0033-Add-runWithCleanCallingIdentity-variant-with-both-ex.patch index a7c4a2f..6b32d4d 100644 --- a/patches_treble_td/platform_frameworks_base/0033-Add-runWithCleanCallingIdentity-variant-with-both-ex.patch +++ b/patches_treble_td/platform_frameworks_base/0033-Add-runWithCleanCallingIdentity-variant-with-both-ex.patch @@ -1,4 +1,4 @@ -From f7c1f8193abd44b136ce43af1b8999237450c253 Mon Sep 17 00:00:00 2001 +From 03de5a219b4353b4f7e362b1721632c98bd7fcf2 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Sat, 12 Aug 2023 20:11:17 +0800 Subject: [PATCH 33/50] Add runWithCleanCallingIdentity variant with both @@ -8,11 +8,11 @@ This complements the fixup to ImsPhoneCallTracker (in fw/o/t) for U Change-Id: If444290787025e130dce4bdeaf92372ae32793fe --- - .../telephony/util/TelephonyUtils.java | 32 ++++++++++++++++++- - 1 file changed, 31 insertions(+), 1 deletion(-) + .../telephony/util/TelephonyUtils.java | 30 +++++++++++++++++++ + 1 file changed, 30 insertions(+) diff --git a/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java b/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java -index 9a8c9655375d..454080144d35 100644 +index aed8fb8c4503..1467e7f2fc29 100644 --- a/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java +++ b/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java @@ -42,7 +42,9 @@ import com.android.internal.telephony.ITelephony; @@ -60,13 +60,6 @@ index 9a8c9655375d..454080144d35 100644 /** * Filter values in bundle to only basic types. */ -@@ -319,4 +349,4 @@ public final class TelephonyUtils { - return false; - - } --} -\ No newline at end of file -+} -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_base/0034-Catch-NPE-in-SystemUI.patch b/patches_treble_td/platform_frameworks_base/0034-Catch-NPE-in-SystemUI.patch index 5e005c3..a2deea7 100644 --- a/patches_treble_td/platform_frameworks_base/0034-Catch-NPE-in-SystemUI.patch +++ b/patches_treble_td/platform_frameworks_base/0034-Catch-NPE-in-SystemUI.patch @@ -1,4 +1,4 @@ -From cca4efcedbb0eedfaefdb8dfde39787690ad887d Mon Sep 17 00:00:00 2001 +From ae422fc5fe1f076d9387bd99668cdc026a6eb70d Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Oct 2023 10:57:13 -0400 Subject: [PATCH 34/50] Catch NPE in SystemUI @@ -10,10 +10,10 @@ device 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java -index e9f494013e30..71d289b1369b 100644 +index 81856ac16575..65b4834fb3c7 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java -@@ -3455,7 +3455,11 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, +@@ -3450,7 +3450,11 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, Trace.beginSection("KeyguardViewMediator#handleMotifyStartedWakingUp"); synchronized (KeyguardViewMediator.this) { if (DEBUG) Log.d(TAG, "handleNotifyWakingUp"); diff --git a/patches_treble_td/platform_frameworks_base/0035-Once-we-integrate-Samsung-Power-hal-in-libpowermanag.patch b/patches_treble_td/platform_frameworks_base/0035-Once-we-integrate-Samsung-Power-hal-in-libpowermanag.patch index 043e64a..90af4f5 100644 --- a/patches_treble_td/platform_frameworks_base/0035-Once-we-integrate-Samsung-Power-hal-in-libpowermanag.patch +++ b/patches_treble_td/platform_frameworks_base/0035-Once-we-integrate-Samsung-Power-hal-in-libpowermanag.patch @@ -1,4 +1,4 @@ -From 3dac2e291492531deb5acd89549ed8ca96bce107 Mon Sep 17 00:00:00 2001 +From 2cef379821b7666bce2127f7dd24b69bbfabebae Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 27 Dec 2021 17:57:11 -0500 Subject: [PATCH 35/50] Once we integrate Samsung Power hal in libpowermanager, @@ -11,10 +11,10 @@ Change-Id: I9084f64e505009abe9420d28b44199605cee52d8 1 file changed, 1 insertion(+) diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp -index 36c13ca121e3..00e9cfa998b9 100644 +index f4a22ef80c61..41d63267eccb 100644 --- a/services/core/jni/Android.bp +++ b/services/core/jni/Android.bp -@@ -204,6 +204,7 @@ cc_defaults { +@@ -216,6 +216,7 @@ cc_defaults { "service.incremental", "vendor.samsung.hardware.light@2.0", "vendor.samsung.hardware.light@3.0", diff --git a/patches_treble_td/platform_frameworks_base/0036-FOD-support-for-Asus-Samsung-recent-Xiaomi-and-RedMa.patch b/patches_treble_td/platform_frameworks_base/0036-FOD-support-for-Asus-Samsung-recent-Xiaomi-and-RedMa.patch index 1ec55f5..5d6148c 100644 --- a/patches_treble_td/platform_frameworks_base/0036-FOD-support-for-Asus-Samsung-recent-Xiaomi-and-RedMa.patch +++ b/patches_treble_td/platform_frameworks_base/0036-FOD-support-for-Asus-Samsung-recent-Xiaomi-and-RedMa.patch @@ -1,4 +1,4 @@ -From 68e397599248dac36747f768b933a250d76dd750 Mon Sep 17 00:00:00 2001 +From 638ac773a3011d91734fbb7905652aced8e31812 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 18 Dec 2022 18:20:40 -0500 Subject: [PATCH 36/50] FOD support for Asus, Samsung recent Xiaomi and @@ -8,51 +8,69 @@ Thanks Asus for providing a free device to make this support And thanks @davigamer987 for donating enough to get a Samsung FOD device to make this +14QPR2 note: Forced legacy/pre-"UdfpsRefactor" Thanks @jgudec for Xiaomi support Thanks @boydaihungst for Redmagic 6 support Co-authored-by: jgudec Co-authored-by: Huy Hoang Change-Id: Ibd0f9ea8fba584a38c060fd9271549a5e106b4eb + +Also include commits: +fix(fod): Extra Dim overlap fod overlay +Fix Xiaomi custom vendors implementing fingerprint properly +Also override UDFPS infos on AIDL fingerprints -- needed for FP on S24 +Try catch the Xiaomi calls +Typo in observing Samsung brightness + +Change-Id: I091e0dac57d6d14f0a8805f8c9c332bfd9d8048b --- packages/SystemUI/Android.bp | 4 + - .../systemui/biometrics/UdfpsController.java | 56 ++++ + .../systemui/biometrics/UdfpsController.java | 76 ++++- .../biometrics/UdfpsControllerOverlay.kt | 7 +- - .../android/systemui/biometrics/UdfpsView.kt | 220 +++++++++++++ + .../android/systemui/biometrics/UdfpsView.kt | 231 ++++++++++++++ + .../shared/DeviceEntryUdfpsRefactor.kt | 2 +- services/core/Android.bp | 5 + .../server/biometrics/AuthService.java | 296 +++++++++++++++++- .../fingerprint/FingerprintService.java | 3 +- - 7 files changed, 585 insertions(+), 6 deletions(-) + .../fingerprint/aidl/FingerprintProvider.java | 26 +- + 9 files changed, 640 insertions(+), 10 deletions(-) diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp -index 9fe68a31089f..8a1fc47e487b 100644 +index d099dd511a01..40eefa935471 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp -@@ -201,6 +201,10 @@ android_library { - "LowLightDreamLib", +@@ -206,6 +206,10 @@ android_library { "motion_tool_lib", + "notification_flags_lib", "vendor.lineage.powershare-V1.0-java", + "vendor.goodix.hardware.biometrics.fingerprint-V2.1-java", + "vendor.xiaomi.hw.touchfeature-V1.0-java", + "vendor.xiaomi.hardware.fingerprintextension-V1.0-java", + "vendor.nubia.ifaa-V1.0-java", ], - manifest: "AndroidManifest.xml", - additional_manifests: ["LineageManifest.xml"], + libs: [ + "keepanno-annotations", diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java -index 3472a859ac82..19b67b5f3def 100644 +index 65668b56a9f3..0f95ad8a8f45 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java -@@ -48,6 +48,7 @@ import android.os.Handler; +@@ -41,11 +41,13 @@ import android.hardware.fingerprint.FingerprintSensorProperties; + import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; + import android.hardware.fingerprint.IUdfpsOverlayController; + import android.hardware.fingerprint.IUdfpsOverlayControllerCallback; ++import android.hardware.display.ColorDisplayManager; + import android.hardware.input.InputManager; + import android.os.Build; + import android.os.Handler; import android.os.PowerManager; - import android.os.Process; import android.os.Trace; +import android.os.SystemProperties; import android.os.VibrationAttributes; import android.os.VibrationEffect; import android.util.Log; -@@ -114,9 +115,13 @@ import java.util.HashSet; - import java.util.Optional; +@@ -113,9 +115,13 @@ import java.util.ArrayList; + import java.util.HashSet; import java.util.Set; import java.util.concurrent.Executor; +import java.io.File; @@ -63,9 +81,18 @@ index 3472a859ac82..19b67b5f3def 100644 import javax.inject.Provider; +import vendor.nubia.ifaa.V1_0.IIfaa; - /** - * Shows and hides the under-display fingerprint sensor (UDFPS) overlay, handles UDFPS touch events, -@@ -253,6 +258,46 @@ public class UdfpsController implements DozeReceiver, Dumpable { + import kotlinx.coroutines.ExperimentalCoroutinesApi; + +@@ -177,6 +183,8 @@ public class UdfpsController implements DozeReceiver, Dumpable { + @NonNull private final UdfpsKeyguardAccessibilityDelegate mUdfpsKeyguardAccessibilityDelegate; + @NonNull private final SelectedUserInteractor mSelectedUserInteractor; + @NonNull private final FpsUnlockTracker mFpsUnlockTracker; ++ @NonNull private final ColorDisplayManager mColorDisplayManager; ++ private boolean mIgnoreExtraDim; + private final boolean mIgnoreRefreshRate; + private final KeyguardTransitionInteractor mKeyguardTransitionInteractor; + +@@ -249,6 +257,46 @@ public class UdfpsController implements DozeReceiver, Dumpable { mScreenOn = false; } }; @@ -112,8 +139,49 @@ index 3472a859ac82..19b67b5f3def 100644 @Override public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { -@@ -1241,10 +1286,17 @@ public class UdfpsController implements DozeReceiver, Dumpable { - view.configureDisplay(() -> dispatchOnUiReady(requestId)); +@@ -671,7 +719,8 @@ public class UdfpsController implements DozeReceiver, Dumpable { + @NonNull FpsUnlockTracker fpsUnlockTracker, + @NonNull KeyguardTransitionInteractor keyguardTransitionInteractor, + Lazy deviceEntryUdfpsTouchOverlayViewModel, +- Lazy defaultUdfpsTouchOverlayViewModel) { ++ Lazy defaultUdfpsTouchOverlayViewModel, ++ @NonNull ColorDisplayManager colorDisplayManager) { + mContext = context; + mExecution = execution; + mVibrator = vibrator; +@@ -717,6 +766,7 @@ public class UdfpsController implements DozeReceiver, Dumpable { + mFpsUnlockTracker = fpsUnlockTracker; + mFpsUnlockTracker.startTracking(); + mKeyguardTransitionInteractor = keyguardTransitionInteractor; ++ mColorDisplayManager = colorDisplayManager; + + mTouchProcessor = singlePointerTouchProcessor; + mSessionTracker = sessionTracker; +@@ -790,7 +840,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { + + private void showUdfpsOverlay(@NonNull UdfpsControllerOverlay overlay) { + mExecution.assertIsMainThread(); +- ++ mIgnoreExtraDim = mColorDisplayManager.isReduceBrightColorsActivated(); ++ if (mIgnoreExtraDim) { ++ Log.d(TAG, "Current extra dim state (showUdfpsOverlay): " + mIgnoreExtraDim); ++ } + mOverlay = overlay; + final int requestReason = overlay.getRequestReason(); + if (requestReason == REASON_AUTH_KEYGUARD +@@ -1016,6 +1069,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { + return; + } + if (isOptical()) { ++ if (mIgnoreExtraDim) { ++ mColorDisplayManager.setReduceBrightColorsActivated(false); ++ Log.d(TAG, "Extra dim disabled"); ++ } + mLatencyTracker.onActionStart(ACTION_UDFPS_ILLUMINATE); + } + if (getBiometricSessionType() == SESSION_KEYGUARD) { +@@ -1047,10 +1104,17 @@ public class UdfpsController implements DozeReceiver, Dumpable { + } } } + if(SystemProperties.get("ro.vendor.build.fingerprint").contains("nubia/NX669")) { @@ -129,23 +197,29 @@ index 3472a859ac82..19b67b5f3def 100644 + } - private void onFingerUp(long requestId, @NonNull UdfpsView view) { -@@ -1295,6 +1347,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { - mFingerprintManager.onPointerUp(requestId, mSensorProps.sensorId); - } - } -+ if(SystemProperties.get("ro.vendor.build.fingerprint").contains("nubia/NX669")) { -+ processCmd(15, 0, 0, new byte[0], 0); -+ } + private void onFingerUp(long requestId, @NonNull View view) { +@@ -1084,8 +1148,16 @@ public class UdfpsController implements DozeReceiver, Dumpable { + mActivePointerId = -1; + mAcquiredReceived = false; + if (mOnFingerDown) { ++ if (mIgnoreExtraDim && isOptical()) { ++ mColorDisplayManager.setReduceBrightColorsActivated(true); ++ Log.d(TAG, "Extra dim restored"); ++ } + mFingerprintManager.onPointerUp(requestId, mSensorProps.sensorId, pointerId, x, + y, minor, major, orientation, time, gestureStart, isAod); ++ if(SystemProperties.get("ro.vendor.build.fingerprint").contains("nubia/NX669")) { ++ processCmd(15, 0, 0, new byte[0], 0); ++ } + for (Callback cb : mCallbacks) { cb.onFingerUp(); } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt -index d6ef94d18e71..bcc12831a62c 100644 +index dae6d08f7331..7761251f2378 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt -@@ -133,7 +133,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor( +@@ -141,7 +141,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor( gravity = android.view.Gravity.TOP or android.view.Gravity.LEFT layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS flags = (Utils.FINGERPRINT_OVERLAY_LAYOUT_PARAM_FLAGS or @@ -156,26 +230,26 @@ index d6ef94d18e71..bcc12831a62c 100644 privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY // Avoid announcing window title. accessibilityTitle = " " -@@ -194,6 +196,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor( - windowManager.addView(this, coreLayoutParams.updateDimensions(animation)) - sensorRect = sensorBounds - touchExplorationEnabled = accessibilityManager.isTouchExplorationEnabled -+ dimUpdate = { -+ windowManager.updateViewLayout(this, coreLayoutParams.updateDimensions(animation).apply { dimAmount = it }) -+ } - overlayTouchListener = TouchExplorationStateChangeListener { - if (accessibilityManager.isTouchExplorationEnabled) { - setOnHoverListener { v, event -> onTouch(v, event, true) } +@@ -222,6 +224,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor( + + windowManager.addView(this, coreLayoutParams.updateDimensions(animation)) + sensorRect = sensorBounds ++ dimUpdate = { ++ windowManager.updateViewLayout(this, coreLayoutParams.updateDimensions(animation).apply { dimAmount = it }) ++ } + } + } + getTouchOverlay()?.apply { diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -index 06dee7a2b9f6..4377dd7e70a7 100644 +index 76bcd6e2863b..7ce6ecbb6311 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -@@ -19,16 +19,33 @@ import android.content.Context +@@ -19,14 +19,32 @@ import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint +import android.graphics.PixelFormat - import android.graphics.PointF ++import android.graphics.PointF import android.graphics.Rect import android.graphics.RectF +import android.os.FileObserver @@ -186,8 +260,7 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 +import android.view.SurfaceView +import android.view.ViewGroup import android.widget.FrameLayout - import com.android.settingslib.udfps.UdfpsOverlayParams - import com.android.systemui.R + import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams import com.android.systemui.doze.DozeReceiver +import java.io.File +import java.io.FileNotFoundException @@ -204,7 +277,7 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 private const val TAG = "UdfpsView" -@@ -39,6 +56,54 @@ class UdfpsView( +@@ -37,6 +55,55 @@ class UdfpsView( context: Context, attrs: AttributeSet? ) : FrameLayout(context, attrs), DozeReceiver { @@ -256,10 +329,11 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 + mySurfaceView.holder.setFormat(PixelFormat.RGBA_8888) + + } - - // Use expanded overlay when feature flag is true, set by UdfpsViewController - var useExpandedOverlay: Boolean = false -@@ -67,6 +132,8 @@ class UdfpsView( ++ + // sensorRect may be bigger than the sensor. True sensor dimensions are defined in + // overlayParams.sensorBounds + var sensorRect = Rect() +@@ -53,6 +120,8 @@ class UdfpsView( /** Parameters that affect the position and size of the overlay. */ var overlayParams = UdfpsOverlayParams() @@ -268,8 +342,8 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 /** Debug message. */ var debugMessage: String? = null set(value) { -@@ -147,15 +214,168 @@ class UdfpsView( - !(animationViewController?.shouldPauseAuth() ?: false) +@@ -103,15 +172,177 @@ class UdfpsView( + } } + fun goodixCmd(id: Int) { @@ -287,8 +361,13 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 + val hasSamsungMask = File(samsungActualMaskBrightness).exists() + var fodFileObserver: FileObserver? = null + -+ val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param" -+ var hasXiaomiLhbm = File(xiaomiDispParam).exists() ++ val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param" ++ var hasXiaomiLhbm = try { ++ val xiaomiFingerprintService = IXiaomiFingerprint.getService() ++ File(xiaomiDispParam).exists() && xiaomiFingerprintService != null ++ } catch(e: Exception) { ++ false ++ } + + private val handlerThread = HandlerThread("UDFPS").also { it.start() } + val myHandler = Handler(handlerThread.looper) @@ -351,14 +430,16 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 + Log.d("PHH-Enroll", "Xiaomi scenario in UdfpsView reached!") + mySurfaceView.setVisibility(INVISIBLE) + -+ IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1); -+ var res = ITouchFeature.getService().setTouchMode(0, 10, 1); ++ try { ++ IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1); ++ } catch(t: Throwable) {} ++ var res = try { ITouchFeature.getService().setTouchMode(0, 10, 1) } catch(t: Throwable){ -1 } + if(res != 0){ + Log.d("PHH-Enroll", "SetTouchMode 10,1 was NOT executed successfully. Res is " + res) + } + + myHandler.postDelayed({ -+ var ret200 = ITouchFeature.getService().setTouchMode(0, 10, 1); ++ var ret200 = try { ITouchFeature.getService().setTouchMode(0, 10, 1); } catch(t: Throwable) { -1 } + + if(ret200 != 0){ + Log.d("PHH-Enroll", "myHandler.postDelayed 200ms -SetTouchMode was NOT executed successfully. Ret is " + ret200) @@ -366,7 +447,7 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 + + myHandler.postDelayed({ + Log.d("PHH-Enroll", "myHandler.postDelayed 600ms - line prior to setTouchMode 10,0") -+ var ret600 = ITouchFeature.getService().setTouchMode(0, 10, 0); ++ var ret600 = try { ITouchFeature.getService().setTouchMode(0, 10, 0); } catch(t: Throwable) { -1 } + + if(ret600 != 0){ + Log.d("PHH-Enroll", "myHandler.postDelayed 600ms -SetTouchMode 10,0 was NOT executed successfully. Ret is " + ret600) @@ -388,7 +469,8 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 + + if (hasAsusGhbm) { + fodFileObserver = object: FileObserver(asusGhbmOnAchieved, FileObserver.MODIFY) { -+ override fun onEvent(event: Int, path: String): Unit { ++ override fun onEvent(event: Int, path: String?): Unit { ++ if (path == null) return + Log.d("PHH-Enroll", "Asus ghbm event") + try { + val spotOn = File(asusGhbmOnAchieved).readText().toInt() @@ -404,8 +486,9 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 + }; + fodFileObserver?.startWatching(); + } else if (hasSamsungMask) { -+ fodFileObserver = object: FileObserver(asusGhbmOnAchieved, FileObserver.MODIFY) { -+ override fun onEvent(event: Int, path: String): Unit { ++ fodFileObserver = object: FileObserver(samsungActualMaskBrightness, FileObserver.MODIFY) { ++ override fun onEvent(event: Int, path: String?): Unit { ++ if (path == null) return + Log.d("PHH-Enroll", "samsung mask brightness event") + try { + val spotOn = File(samsungActualMaskBrightness).readText().toInt() @@ -437,11 +520,24 @@ index 06dee7a2b9f6..4377dd7e70a7 100644 + } } } +diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt +index b5d5803ca6fb..68f74f3ed6f3 100644 +--- a/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt ++++ b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt +@@ -33,7 +33,7 @@ object DeviceEntryUdfpsRefactor { + /** Is the refactor enabled */ + @JvmStatic + inline val isEnabled +- get() = Flags.deviceEntryUdfpsRefactor() ++ get() = false //Flags.deviceEntryUdfpsRefactor() + + /** + * Called to ensure code is only run when the flag is enabled. This protects users from the diff --git a/services/core/Android.bp b/services/core/Android.bp -index c4239779425f..9b928082a380 100644 +index fc9600992dbb..bf0b5d92db7f 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp -@@ -190,6 +190,11 @@ java_library_static { +@@ -208,6 +208,11 @@ java_library_static { // HIDL "vendor.mediatek.hardware.mtkpower-V1.1-java", "vendor.samsung.hardware.sysinput-V1.2-java", @@ -454,10 +550,10 @@ index c4239779425f..9b928082a380 100644 javac_shard_size: 50, javacflags: [ diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java -index c692f5f9472c..8194fbc2ac9e 100644 +index 5279073cd71a..f6f0fea8e3e7 100644 --- a/services/core/java/com/android/server/biometrics/AuthService.java +++ b/services/core/java/com/android/server/biometrics/AuthService.java -@@ -78,6 +78,25 @@ import java.util.ArrayList; +@@ -80,6 +80,25 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -483,7 +579,7 @@ index c692f5f9472c..8194fbc2ac9e 100644 /** * System service that provides an interface for authenticating with biometrics and * PIN/pattern/password to BiometricPrompt and lock screen. -@@ -96,6 +115,11 @@ public class AuthService extends SystemService { +@@ -98,6 +117,11 @@ public class AuthService extends SystemService { @VisibleForTesting final IAuthService.Stub mImpl; @@ -495,7 +591,7 @@ index c692f5f9472c..8194fbc2ac9e 100644 /** * Class for injecting dependencies into AuthService. * TODO(b/141025588): Replace with a dependency injection framework (e.g. Guice, Dagger). -@@ -655,11 +679,11 @@ public class AuthService extends SystemService { +@@ -704,11 +728,11 @@ public class AuthService extends SystemService { final int firstApiLevel = SystemProperties.getInt(SYSPROP_FIRST_API_LEVEL, 0); final int apiLevel = SystemProperties.getInt(SYSPROP_API_LEVEL, firstApiLevel); String[] configStrings = mInjector.getConfiguration(getContext()); @@ -509,7 +605,7 @@ index c692f5f9472c..8194fbc2ac9e 100644 configStrings = generateRSdkCompatibleConfiguration(); } hidlConfigs = new SensorConfig[configStrings.length]; -@@ -674,6 +698,102 @@ public class AuthService extends SystemService { +@@ -723,6 +747,102 @@ public class AuthService extends SystemService { registerAuthenticators(hidlConfigs); mInjector.publishBinderService(this, mImpl); @@ -612,12 +708,12 @@ index c692f5f9472c..8194fbc2ac9e 100644 } /** -@@ -797,18 +917,123 @@ public class AuthService extends SystemService { +@@ -846,18 +966,123 @@ public class AuthService extends SystemService { ? modality : (modality & ~BiometricAuthenticator.TYPE_CREDENTIAL); } -+ private int[] dynamicUdfpsProps() { -+ DisplayManager mDM = (DisplayManager) getContext().getSystemService(Context.DISPLAY_SERVICE); ++ static public int[] dynamicUdfpsProps(Context ctxt) { ++ DisplayManager mDM = (DisplayManager) ctxt.getSystemService(Context.DISPLAY_SERVICE); + Point displayRealSize = new Point(); + DisplayMetrics displayMetrics = new DisplayMetrics(); + mDM.getDisplay(0).getRealSize(displayRealSize); @@ -725,7 +821,7 @@ index c692f5f9472c..8194fbc2ac9e 100644 + boolean isUdfps = !ArrayUtils.isEmpty(udfpsProps); + if(!isUdfps) { + try { -+ udfpsProps = dynamicUdfpsProps(); ++ udfpsProps = dynamicUdfpsProps(getContext()); + } catch(Throwable t) { + Slog.e("PHH-Enroll", "Failed generating UDFPS props"); + } @@ -738,7 +834,7 @@ index c692f5f9472c..8194fbc2ac9e 100644 // config_is_powerbutton_fps indicates whether device has a power button fingerprint sensor. final boolean isPowerbuttonFps = getContext().getResources().getBoolean( -@@ -876,4 +1101,67 @@ public class AuthService extends SystemService { +@@ -925,4 +1150,67 @@ public class AuthService extends SystemService { componentInfo, resetLockoutRequiresHardwareAuthToken, resetLockoutRequiresChallenge); } @@ -807,10 +903,10 @@ index c692f5f9472c..8194fbc2ac9e 100644 + } } diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java -index 5ce0c8b384ef..df99478da964 100644 +index 83b306b07c27..28b45a59ee62 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java -@@ -885,8 +885,9 @@ public class FingerprintService extends SystemService { +@@ -889,8 +889,9 @@ public class FingerprintService extends SystemService { filteredInstances = filterAvailableHalInstances(hidlSensors, aidlSensors); final List providers = new ArrayList<>(); @@ -821,6 +917,60 @@ index 5ce0c8b384ef..df99478da964 100644 return providers; }); +diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +index 07a69d9ebd00..2bb568bedabc 100644 +--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java ++++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +@@ -37,6 +37,7 @@ import android.hardware.biometrics.common.ComponentInfo; + import android.hardware.biometrics.fingerprint.IFingerprint; + import android.hardware.biometrics.fingerprint.PointerContext; + import android.hardware.biometrics.fingerprint.SensorProps; ++import android.hardware.biometrics.fingerprint.SensorLocation; + import android.hardware.fingerprint.Fingerprint; + import android.hardware.fingerprint.FingerprintAuthenticateOptions; + import android.hardware.fingerprint.FingerprintManager; +@@ -204,9 +205,32 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi + }); + + final List workaroundLocations = getWorkaroundSensorProps(context); ++android.util.Log.e("PHH-Enroll", "Poping AIDL fp provider"); + + for (SensorProps prop : props) { + final int sensorId = prop.commonProps.sensorId; ++ SensorLocation[] locations = prop.sensorLocations; ++ ++ android.util.Log.e("PHH-Enroll", "Got fp props -- pre"); ++ for(SensorLocation loc: locations) { ++ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape); ++ } ++ if (locations.length == 1 && locations[0].sensorLocationX == 0) { ++ int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context); ++ if (otherValues.length > 0) { ++ SensorLocation loc = new SensorLocation(); ++ loc.sensorLocationX = otherValues[0]; ++ loc.sensorLocationY = otherValues[1]; ++ loc.sensorRadius = otherValues[2]; ++ locations[0] = loc; ++ } ++ } ++ ++ android.util.Log.e("PHH-Enroll", "Got fp props -- post"); ++ for(SensorLocation loc: locations) { ++ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape); ++ } ++ + + final List componentInfo = new ArrayList<>(); + if (prop.commonProps.componentInfo != null) { +@@ -226,7 +250,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi + prop.halControlsIllumination, + true /* resetLockoutRequiresHardwareAuthToken */, + !workaroundLocations.isEmpty() ? workaroundLocations : +- Arrays.stream(prop.sensorLocations).map(location -> ++ Arrays.stream(locations).map(location -> + new SensorLocationInternal( + location.display, + location.sensorLocationX, -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_base/0037-Fix-brightness-slider-curve-for-some-devices.patch b/patches_treble_td/platform_frameworks_base/0037-Fix-brightness-slider-curve-for-some-devices.patch index 00902cc..5070366 100644 --- a/patches_treble_td/platform_frameworks_base/0037-Fix-brightness-slider-curve-for-some-devices.patch +++ b/patches_treble_td/platform_frameworks_base/0037-Fix-brightness-slider-curve-for-some-devices.patch @@ -1,4 +1,4 @@ -From 6fcb492949bbf602572524213fb7eebd54b1be99 Mon Sep 17 00:00:00 2001 +From 2caf7271a3841feb8a90d18f7d69866c9afe3dab Mon Sep 17 00:00:00 2001 From: ChonDoit Date: Thu, 24 Aug 2023 15:58:15 -0300 Subject: [PATCH 37/50] Fix brightness slider curve for some devices diff --git a/patches_treble_td/platform_frameworks_base/0038-Ignore-cgroup-creation-errors.patch b/patches_treble_td/platform_frameworks_base/0038-Ignore-cgroup-creation-errors.patch index 94b837e..808401d 100644 --- a/patches_treble_td/platform_frameworks_base/0038-Ignore-cgroup-creation-errors.patch +++ b/patches_treble_td/platform_frameworks_base/0038-Ignore-cgroup-creation-errors.patch @@ -1,4 +1,4 @@ -From 74de5557e6951ec79d2184bf41c2c4a2f7727dd0 Mon Sep 17 00:00:00 2001 +From 541e55d24e8ab0e01d7dd9e117ecc43a79bc0b16 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 18 Oct 2023 16:53:40 -0400 Subject: [PATCH 38/50] Ignore cgroup creation errors @@ -10,10 +10,10 @@ For old kernels who don't have those modern cgroups 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp -index 56066b2d813c..4ee3e92910d0 100644 +index 7c5885adb220..c2f45e3727bb 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp -@@ -1806,10 +1806,12 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids, +@@ -1943,10 +1943,12 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids, if (!is_system_server && getuid() == 0) { const int rc = createProcessGroup(uid, getpid()); if (rc != 0) { @@ -27,10 +27,10 @@ index 56066b2d813c..4ee3e92910d0 100644 } diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java -index b0f77604319b..23ca22fc73f4 100644 +index 3156e9da0ae9..e5949f95b6d1 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java -@@ -2433,14 +2433,9 @@ public final class ProcessList { +@@ -2516,14 +2516,9 @@ public final class ProcessList { // If we're not told to skip the process group creation, go create it. final int res = Process.createProcessGroup(uid, startResult.pid); if (res < 0) { diff --git a/patches_treble_td/platform_frameworks_base/0039-Samsung-tablets-use-SW_MACHINE_COVER-rather-than-SW_.patch b/patches_treble_td/platform_frameworks_base/0039-Samsung-tablets-use-SW_MACHINE_COVER-rather-than-SW_.patch index 64c7b1f..6faa8e4 100644 --- a/patches_treble_td/platform_frameworks_base/0039-Samsung-tablets-use-SW_MACHINE_COVER-rather-than-SW_.patch +++ b/patches_treble_td/platform_frameworks_base/0039-Samsung-tablets-use-SW_MACHINE_COVER-rather-than-SW_.patch @@ -1,4 +1,4 @@ -From f9abaf1a6cd90a580f9245434798e9325e037aae Mon Sep 17 00:00:00 2001 +From 0ec9abbe99e9836d694eed10559c7776531d1378 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 18 Oct 2023 16:57:34 -0400 Subject: [PATCH 39/50] Samsung tablets use SW_MACHINE_COVER rather than SW_LID @@ -12,10 +12,10 @@ Should fix https://github.com/phhusson/treble_experimentations/issues/2572 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java -index ff69719c9497..3b168b59423a 100644 +index 972f85793556..2f813324b75f 100644 --- a/services/core/java/com/android/server/input/InputManagerService.java +++ b/services/core/java/com/android/server/input/InputManagerService.java -@@ -369,6 +369,9 @@ public class InputManagerService extends IInputManager.Stub +@@ -373,6 +373,9 @@ public class InputManagerService extends IInputManager.Stub /** Switch code: Microphone. When set, the mic is muted. */ public static final int SW_MUTE_DEVICE = 0x0e; @@ -25,7 +25,7 @@ index ff69719c9497..3b168b59423a 100644 public static final int SW_LID_BIT = 1 << SW_LID; public static final int SW_TABLET_MODE_BIT = 1 << SW_TABLET_MODE; public static final int SW_KEYPAD_SLIDE_BIT = 1 << SW_KEYPAD_SLIDE; -@@ -380,6 +383,8 @@ public class InputManagerService extends IInputManager.Stub +@@ -384,6 +387,8 @@ public class InputManagerService extends IInputManager.Stub SW_HEADPHONE_INSERT_BIT | SW_MICROPHONE_INSERT_BIT | SW_JACK_PHYSICAL_INSERT_BIT | SW_LINEOUT_INSERT_BIT; public static final int SW_CAMERA_LENS_COVER_BIT = 1 << SW_CAMERA_LENS_COVER; public static final int SW_MUTE_DEVICE_BIT = 1 << SW_MUTE_DEVICE; @@ -34,7 +34,7 @@ index ff69719c9497..3b168b59423a 100644 // The following are layer numbers used for z-ordering the input overlay layers on the display. // This is used for ordering layers inside {@code DisplayContent#getInputOverlayLayer()}. -@@ -488,6 +493,16 @@ public class InputManagerService extends IInputManager.Stub +@@ -494,6 +499,16 @@ public class InputManagerService extends IInputManager.Stub mWiredAccessoryCallbacks = callbacks; } @@ -51,7 +51,7 @@ index ff69719c9497..3b168b59423a 100644 void registerLidSwitchCallbackInternal(@NonNull LidSwitchCallback callback) { synchronized (mLidSwitchLock) { mLidSwitchCallbacks.add(callback); -@@ -496,7 +511,8 @@ public class InputManagerService extends IInputManager.Stub +@@ -502,7 +517,8 @@ public class InputManagerService extends IInputManager.Stub // state will be reported as KEY_STATE_UNKNOWN. The callback will be triggered in // systemRunning(). if (mSystemReady) { @@ -61,7 +61,7 @@ index ff69719c9497..3b168b59423a 100644 == KEY_STATE_UP; callback.notifyLidSwitchChanged(0 /* whenNanos */, lidOpen); } -@@ -534,7 +550,8 @@ public class InputManagerService extends IInputManager.Stub +@@ -540,7 +556,8 @@ public class InputManagerService extends IInputManager.Stub // Send the initial lid switch state to any callback registered before the system was // ready. @@ -71,7 +71,7 @@ index ff69719c9497..3b168b59423a 100644 for (int i = 0; i < mLidSwitchCallbacks.size(); i++) { LidSwitchCallback callback = mLidSwitchCallbacks.get(i); callback.notifyLidSwitchChanged(0 /* whenNanos */, switchState == KEY_STATE_UP); -@@ -2328,8 +2345,8 @@ public class InputManagerService extends IInputManager.Stub +@@ -2355,8 +2372,8 @@ public class InputManagerService extends IInputManager.Stub + ", mask=" + Integer.toHexString(switchMask)); } diff --git a/patches_treble_td/platform_frameworks_base/0040-Revert-Removed-IWLAN-legacy-mode-support.patch b/patches_treble_td/platform_frameworks_base/0040-Revert-Removed-IWLAN-legacy-mode-support.patch index f27bdca..1df4961 100644 --- a/patches_treble_td/platform_frameworks_base/0040-Revert-Removed-IWLAN-legacy-mode-support.patch +++ b/patches_treble_td/platform_frameworks_base/0040-Revert-Removed-IWLAN-legacy-mode-support.patch @@ -1,4 +1,4 @@ -From 8f5b0fa613b9ca70fe63ec78a1b27b86b6650559 Mon Sep 17 00:00:00 2001 +From 59a5f752cd9c87b48dedbca083e95bf7045c84d5 Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Fri, 20 Oct 2023 09:26:19 +0000 Subject: [PATCH 40/50] Revert "Removed IWLAN legacy mode support" @@ -9,10 +9,10 @@ This reverts commit 2832dee607ab33eee688abea206f4adfcfc896f1. 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java -index 74cfbea91e00..698a106582d3 100644 +index 85a85c6dfadb..6c96ac4bc712 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java -@@ -1213,8 +1213,13 @@ public class ServiceState implements Parcelable { +@@ -1215,8 +1215,13 @@ public class ServiceState implements Parcelable { /** * Initialize the service state. Set everything to the default value. @@ -27,7 +27,7 @@ index 74cfbea91e00..698a106582d3 100644 if (DBG) Rlog.d(LOG_TAG, "init"); mVoiceRegState = STATE_OUT_OF_SERVICE; mDataRegState = STATE_OUT_OF_SERVICE; -@@ -1246,11 +1251,13 @@ public class ServiceState implements Parcelable { +@@ -1248,11 +1253,13 @@ public class ServiceState implements Parcelable { .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN) .build()); @@ -46,7 +46,7 @@ index 74cfbea91e00..698a106582d3 100644 } mOperatorAlphaLongRaw = null; mOperatorAlphaShortRaw = null; -@@ -1259,11 +1266,11 @@ public class ServiceState implements Parcelable { +@@ -1261,11 +1268,11 @@ public class ServiceState implements Parcelable { } public void setStateOutOfService() { @@ -60,7 +60,7 @@ index 74cfbea91e00..698a106582d3 100644 mVoiceRegState = STATE_POWER_OFF; mDataRegState = STATE_POWER_OFF; } -@@ -1271,11 +1278,14 @@ public class ServiceState implements Parcelable { +@@ -1273,11 +1280,14 @@ public class ServiceState implements Parcelable { /** * Set the service state to out-of-service * diff --git a/patches_treble_td/platform_frameworks_base/0041-Add-a-prop-to-use-linear-backlight-control.patch b/patches_treble_td/platform_frameworks_base/0041-Add-a-prop-to-use-linear-backlight-control.patch index 1214689..585a6e9 100644 --- a/patches_treble_td/platform_frameworks_base/0041-Add-a-prop-to-use-linear-backlight-control.patch +++ b/patches_treble_td/platform_frameworks_base/0041-Add-a-prop-to-use-linear-backlight-control.patch @@ -1,4 +1,4 @@ -From 48a560ce8e35aa566b5e7c13942b8ce665a1bddc Mon Sep 17 00:00:00 2001 +From d2957b70a3c2b5d4e524d61dee5208148273c480 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 30 Oct 2023 19:25:27 -0400 Subject: [PATCH 41/50] Add a prop to use linear backlight control @@ -8,10 +8,10 @@ Subject: [PATCH 41/50] Add a prop to use linear backlight control 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java b/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java -index bc915b0147f1..97e7b1f630c3 100644 +index 520f841cb736..a7ed04dad7c4 100644 --- a/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java +++ b/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java -@@ -361,9 +361,15 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig +@@ -362,9 +362,15 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig : MetricsEvent.ACTION_BRIGHTNESS; minBacklight = mBrightnessMin; maxBacklight = mBrightnessMax; @@ -28,7 +28,7 @@ index bc915b0147f1..97e7b1f630c3 100644 if (stopTracking) { // TODO(brightnessfloat): change to use float value instead. MetricsLogger.action(mContext, metric, -@@ -374,7 +380,7 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig +@@ -375,7 +381,7 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig if (!tracking) { AsyncTask.execute(new Runnable() { public void run() { diff --git a/patches_treble_td/platform_frameworks_base/0043-Add-support-for-Samsung-full-brightness-on-their-AID.patch b/patches_treble_td/platform_frameworks_base/0042-Add-support-for-Samsung-full-brightness-on-their-AID.patch similarity index 92% rename from patches_treble_td/platform_frameworks_base/0043-Add-support-for-Samsung-full-brightness-on-their-AID.patch rename to patches_treble_td/platform_frameworks_base/0042-Add-support-for-Samsung-full-brightness-on-their-AID.patch index c6f5db1..abe8ecb 100644 --- a/patches_treble_td/platform_frameworks_base/0043-Add-support-for-Samsung-full-brightness-on-their-AID.patch +++ b/patches_treble_td/platform_frameworks_base/0042-Add-support-for-Samsung-full-brightness-on-their-AID.patch @@ -1,7 +1,7 @@ -From c266c21c6731a1f337851a20b562c4df20e5482c Mon Sep 17 00:00:00 2001 +From c5f9230959c480e46c95dd5a7dbdd6e236d80801 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 10 Dec 2023 18:04:49 -0500 -Subject: [PATCH 43/50] Add support for Samsung full brightness on their AIDL +Subject: [PATCH 42/50] Add support for Samsung full brightness on their AIDL HAL --- @@ -10,10 +10,10 @@ Subject: [PATCH 43/50] Add support for Samsung full brightness on their AIDL 2 files changed, 44 insertions(+) diff --git a/services/core/Android.bp b/services/core/Android.bp -index 9b928082a380..6caa4b4ffd8d 100644 +index bf0b5d92db7f..848512dc7835 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp -@@ -195,6 +195,10 @@ java_library_static { +@@ -213,6 +213,10 @@ java_library_static { "vendor.oplus.hardware.biometrics.fingerprint-V2.1-java", "vendor.oppo.hardware.biometrics.fingerprint-V2.1-java", "vendor.xiaomi.hardware.fingerprintextension-V1.0-java", @@ -25,7 +25,7 @@ index 9b928082a380..6caa4b4ffd8d 100644 javac_shard_size: 50, javacflags: [ diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java -index caf9eba7d9a8..04ad3114d2ac 100644 +index c94d334b280b..9d9e905fdf48 100644 --- a/services/core/java/com/android/server/lights/LightsService.java +++ b/services/core/java/com/android/server/lights/LightsService.java @@ -45,8 +45,10 @@ import com.android.internal.util.DumpUtils; @@ -59,7 +59,7 @@ index caf9eba7d9a8..04ad3114d2ac 100644 @VisibleForTesting final LightsManagerBinderService mManagerService; -@@ -298,6 +306,17 @@ public class LightsService extends SystemService { +@@ -301,6 +309,17 @@ public class LightsService extends SystemService { int brightnessInt = BrightnessSynchronizer.brightnessFloatToInt(brightness); if(mHwLight.id == 0) { @@ -77,7 +77,7 @@ index caf9eba7d9a8..04ad3114d2ac 100644 String fp = SystemProperties.get("ro.vendor.build.fingerprint", "hello"); if(fp.matches(".*astarqlte.*")) { int newBrightness = brightnessInt; -@@ -513,6 +532,27 @@ public class LightsService extends SystemService { +@@ -516,6 +535,27 @@ public class LightsService extends SystemService { mH = new Handler(looper); mVintfLights = service.get() != null ? service : null; diff --git a/patches_treble_td/platform_frameworks_base/0042-fix-fod-Extra-Dim-overlap-fod-overlay.patch b/patches_treble_td/platform_frameworks_base/0042-fix-fod-Extra-Dim-overlap-fod-overlay.patch deleted file mode 100644 index ac109c2..0000000 --- a/patches_treble_td/platform_frameworks_base/0042-fix-fod-Extra-Dim-overlap-fod-overlay.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 0fd828ddefa89e1f5499650a2be3f45cfd527cd4 Mon Sep 17 00:00:00 2001 -From: MrHereAndThere <38396158+boydaihungst@users.noreply.github.com> -Date: Fri, 17 Nov 2023 09:22:29 +0700 -Subject: [PATCH 42/50] fix(fod): Extra Dim overlap fod overlay - -Extra Dim will set display panel brightness to lowest value possible, which will also effect FOD overlay. ---- - .../systemui/biometrics/UdfpsController.java | 20 +++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java -index 19b67b5f3def..ef5e4f617138 100644 ---- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java -+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java -@@ -42,6 +42,7 @@ import android.hardware.fingerprint.FingerprintSensorProperties; - import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; - import android.hardware.fingerprint.IUdfpsOverlayController; - import android.hardware.fingerprint.IUdfpsOverlayControllerCallback; -+import android.hardware.display.ColorDisplayManager; - import android.hardware.input.InputManager; - import android.os.Build; - import android.os.Handler; -@@ -184,6 +185,8 @@ public class UdfpsController implements DozeReceiver, Dumpable { - @NonNull private final UdfpsUtils mUdfpsUtils; - @NonNull private final InputManager mInputManager; - @NonNull private final UdfpsKeyguardAccessibilityDelegate mUdfpsKeyguardAccessibilityDelegate; -+ @NonNull private final ColorDisplayManager mColorDisplayManager; -+ private boolean mIgnoreExtraDim; - private final boolean mIgnoreRefreshRate; - - // Currently the UdfpsController supports a single UDFPS sensor. If devices have multiple -@@ -898,7 +901,8 @@ public class UdfpsController implements DozeReceiver, Dumpable { - @NonNull UdfpsUtils udfpsUtils, - @NonNull KeyguardFaceAuthInteractor keyguardFaceAuthInteractor, - @NonNull UdfpsKeyguardAccessibilityDelegate udfpsKeyguardAccessibilityDelegate, -- @NonNull Provider udfpsKeyguardViewModelsProvider) { -+ @NonNull Provider udfpsKeyguardViewModelsProvider, -+ @NonNull ColorDisplayManager colorDisplayManager) { - mContext = context; - mExecution = execution; - mVibrator = vibrator; -@@ -945,6 +949,7 @@ public class UdfpsController implements DozeReceiver, Dumpable { - mUdfpsUtils = udfpsUtils; - mInputManager = inputManager; - mUdfpsKeyguardAccessibilityDelegate = udfpsKeyguardAccessibilityDelegate; -+ mColorDisplayManager = colorDisplayManager; - - mTouchProcessor = mFeatureFlags.isEnabled(Flags.UDFPS_NEW_TOUCH_DETECTION) - ? singlePointerTouchProcessor : null; -@@ -1025,7 +1030,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { - - private void showUdfpsOverlay(@NonNull UdfpsControllerOverlay overlay) { - mExecution.assertIsMainThread(); -- -+ mIgnoreExtraDim = mColorDisplayManager.isReduceBrightColorsActivated(); -+ if (mIgnoreExtraDim) { -+ Log.d(TAG, "Current extra dim state (showUdfpsOverlay): " + mIgnoreExtraDim); -+ } - mOverlay = overlay; - final int requestReason = overlay.getRequestReason(); - if (requestReason == REASON_AUTH_KEYGUARD -@@ -1244,6 +1252,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { - return; - } - if (isOptical()) { -+ if (mIgnoreExtraDim) { -+ mColorDisplayManager.setReduceBrightColorsActivated(false); -+ Log.d(TAG, "Extra dim disabled"); -+ } - mLatencyTracker.onActionStart(LatencyTracker.ACTION_UDFPS_ILLUMINATE); - } - // Refresh screen timeout and boost process priority if possible. -@@ -1330,6 +1342,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { - mActivePointerId = -1; - mAcquiredReceived = false; - if (mOnFingerDown) { -+ if (mIgnoreExtraDim && isOptical()) { -+ mColorDisplayManager.setReduceBrightColorsActivated(true); -+ Log.d(TAG, "Extra dim restored"); -+ } - if (mAlternateTouchProvider != null) { - mBiometricExecutor.execute(() -> { - mAlternateTouchProvider.onPointerUp(requestId); --- -2.34.1 - diff --git a/patches_treble_td/platform_frameworks_base/0048-Add-Samsung-sysinput.patch b/patches_treble_td/platform_frameworks_base/0043-Add-Samsung-sysinput.patch similarity index 74% rename from patches_treble_td/platform_frameworks_base/0048-Add-Samsung-sysinput.patch rename to patches_treble_td/platform_frameworks_base/0043-Add-Samsung-sysinput.patch index fdabbcb..86afbb6 100644 --- a/patches_treble_td/platform_frameworks_base/0048-Add-Samsung-sysinput.patch +++ b/patches_treble_td/platform_frameworks_base/0043-Add-Samsung-sysinput.patch @@ -1,17 +1,17 @@ -From f217e6629f2684cad122eaa9fb551e94291a8a56 Mon Sep 17 00:00:00 2001 +From 58d8f2d374863b2e3d8ad7964718ca34f3e61f99 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 29 Jan 2024 17:07:07 -0500 -Subject: [PATCH 48/50] Add Samsung sysinput +Subject: [PATCH 43/50] Add Samsung sysinput --- services/core/Android.bp | 1 + 1 file changed, 1 insertion(+) diff --git a/services/core/Android.bp b/services/core/Android.bp -index 6caa4b4ffd8d..db3279814f21 100644 +index 848512dc7835..52f8c57dcdc1 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp -@@ -197,6 +197,7 @@ java_library_static { +@@ -215,6 +215,7 @@ java_library_static { "vendor.xiaomi.hardware.fingerprintextension-V1.0-java", //AIDL diff --git a/patches_treble_td/platform_frameworks_base/0049-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch b/patches_treble_td/platform_frameworks_base/0044-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch similarity index 95% rename from patches_treble_td/platform_frameworks_base/0049-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch rename to patches_treble_td/platform_frameworks_base/0044-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch index fd2d711..70d188f 100644 --- a/patches_treble_td/platform_frameworks_base/0049-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch +++ b/patches_treble_td/platform_frameworks_base/0044-Bunch-of-FOD-stuff-commonize-refreshing-the-services.patch @@ -1,7 +1,7 @@ -From a0b5d0f01c5181af0e7b0e0048c92e61cd9d58af Mon Sep 17 00:00:00 2001 +From a3ae2f7a7aa63c58a0b43fb39a056e0a24d131de Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 29 Jan 2024 17:15:38 -0500 -Subject: [PATCH 49/50] Bunch of FOD stuff -- commonize refreshing the +Subject: [PATCH 44/50] Bunch of FOD stuff -- commonize refreshing the services, start supporting AIDL Samsung --- @@ -9,10 +9,10 @@ Subject: [PATCH 49/50] Bunch of FOD stuff -- commonize refreshing the 1 file changed, 138 insertions(+), 19 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java -index 1fffe381a34f..a51fe5cdd66a 100644 +index f6f0fea8e3e7..62c8bcf37960 100644 --- a/services/core/java/com/android/server/biometrics/AuthService.java +++ b/services/core/java/com/android/server/biometrics/AuthService.java -@@ -45,6 +45,7 @@ import android.hardware.biometrics.IAuthService; +@@ -47,6 +47,7 @@ import android.hardware.biometrics.IAuthService; import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback; import android.hardware.biometrics.IBiometricService; import android.hardware.biometrics.IBiometricServiceReceiver; @@ -20,7 +20,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644 import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; import android.hardware.biometrics.ITestSessionCallback; -@@ -94,6 +95,7 @@ import android.os.Build; +@@ -96,6 +97,7 @@ import android.os.Build; import vendor.samsung.hardware.biometrics.fingerprint.V3_0.ISehBiometricsFingerprint; import vendor.goodix.hardware.biometrics.fingerprint.V2_1.IGoodixFingerprintDaemon; import vendor.samsung.hardware.sysinput.V1_0.ISehSysInputDev; @@ -28,7 +28,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644 import vendor.xiaomi.hardware.fingerprintextension.V1_0.IXiaomiFingerprint; -@@ -117,6 +119,8 @@ public class AuthService extends SystemService { +@@ -119,6 +121,8 @@ public class AuthService extends SystemService { private FileObserver fodFileObserver = null; private ISehBiometricsFingerprint mSamsungFingerprint = null; @@ -37,7 +37,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644 private IXiaomiFingerprint mXiaomiFingerprint = null; -@@ -670,6 +674,101 @@ public class AuthService extends SystemService { +@@ -719,6 +723,101 @@ public class AuthService extends SystemService { * └── for (s : p.sensors) * └── BiometricService.registerAuthenticator(s) */ @@ -139,7 +139,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644 @Override public void onStart() { mBiometricService = mInjector.getBiometricService(); -@@ -697,20 +796,11 @@ public class AuthService extends SystemService { +@@ -746,20 +845,11 @@ public class AuthService extends SystemService { // Registers HIDL and AIDL authenticators, but only HIDL configs need to be provided. registerAuthenticators(hidlConfigs); @@ -164,7 +164,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644 samsungCmd("fod_enable,1,1,0"); String actualMaskBrightnessPath = "/sys/class/lcd/panel/actual_mask_brightness"; android.util.Log.e("PHH-Enroll", "Reading actual brightness file gives " + readFile(actualMaskBrightnessPath)); -@@ -718,9 +808,7 @@ public class AuthService extends SystemService { +@@ -767,9 +857,7 @@ public class AuthService extends SystemService { @Override public void onEvent(int event, String path) { String actualMask = readFile(actualMaskBrightnessPath); @@ -175,7 +175,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644 Slog.d("PHH-Enroll", "New actual mask brightness is " + actualMask); try { int eventReq = 0; -@@ -965,22 +1053,53 @@ public class AuthService extends SystemService { +@@ -1014,22 +1102,53 @@ public class AuthService extends SystemService { udfpsProps[2] = (int)mW; try { diff --git a/patches_treble_td/platform_frameworks_base/0044-Fix-Xiaomi-custom-vendors-implementing-fingerprint-p.patch b/patches_treble_td/platform_frameworks_base/0044-Fix-Xiaomi-custom-vendors-implementing-fingerprint-p.patch deleted file mode 100644 index 9ec2c1f..0000000 --- a/patches_treble_td/platform_frameworks_base/0044-Fix-Xiaomi-custom-vendors-implementing-fingerprint-p.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0910830f2b078cf055e5d092b28f729678e61d47 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Fri, 26 Jan 2024 06:40:49 -0500 -Subject: [PATCH 44/50] Fix Xiaomi custom vendors implementing fingerprint - properly - ---- - .../src/com/android/systemui/biometrics/UdfpsView.kt | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -index 4377dd7e70a7..91053b2c5f8e 100644 ---- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -@@ -229,8 +229,13 @@ class UdfpsView( - val hasSamsungMask = File(samsungActualMaskBrightness).exists() - var fodFileObserver: FileObserver? = null - -- val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param" -- var hasXiaomiLhbm = File(xiaomiDispParam).exists() -+ val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param" -+ var hasXiaomiLhbm = try { -+ val xiaomiFingerprintService = IXiaomiFingerprint.getService() -+ File(xiaomiDispParam).exists() && xiaomiFingerprintService != null -+ } catch(e: Exception) { -+ false -+ } - - private val handlerThread = HandlerThread("UDFPS").also { it.start() } - val myHandler = Handler(handlerThread.looper) --- -2.34.1 - diff --git a/patches_treble_td/platform_frameworks_base/0045-Also-override-UDFPS-infos-on-AIDL-fingerprints-neede.patch b/patches_treble_td/platform_frameworks_base/0045-Also-override-UDFPS-infos-on-AIDL-fingerprints-neede.patch deleted file mode 100644 index e0f7911..0000000 --- a/patches_treble_td/platform_frameworks_base/0045-Also-override-UDFPS-infos-on-AIDL-fingerprints-neede.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 4b2a6be76cfb9edfdbe040c0af98872a96e27195 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Sun, 28 Jan 2024 19:16:13 -0500 -Subject: [PATCH 45/50] Also override UDFPS infos on AIDL fingerprints -- - needed for FP on S24 - ---- - .../server/biometrics/AuthService.java | 6 ++--- - .../fingerprint/aidl/FingerprintProvider.java | 26 ++++++++++++++++++- - 2 files changed, 28 insertions(+), 4 deletions(-) - -diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java -index 8194fbc2ac9e..1fffe381a34f 100644 ---- a/services/core/java/com/android/server/biometrics/AuthService.java -+++ b/services/core/java/com/android/server/biometrics/AuthService.java -@@ -917,8 +917,8 @@ public class AuthService extends SystemService { - ? modality : (modality & ~BiometricAuthenticator.TYPE_CREDENTIAL); - } - -- private int[] dynamicUdfpsProps() { -- DisplayManager mDM = (DisplayManager) getContext().getSystemService(Context.DISPLAY_SERVICE); -+ static public int[] dynamicUdfpsProps(Context ctxt) { -+ DisplayManager mDM = (DisplayManager) ctxt.getSystemService(Context.DISPLAY_SERVICE); - Point displayRealSize = new Point(); - DisplayMetrics displayMetrics = new DisplayMetrics(); - mDM.getDisplay(0).getRealSize(displayRealSize); -@@ -1024,7 +1024,7 @@ public class AuthService extends SystemService { - boolean isUdfps = !ArrayUtils.isEmpty(udfpsProps); - if(!isUdfps) { - try { -- udfpsProps = dynamicUdfpsProps(); -+ udfpsProps = dynamicUdfpsProps(getContext()); - } catch(Throwable t) { - Slog.e("PHH-Enroll", "Failed generating UDFPS props"); - } -diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java -index 3eef411c86d8..c58f6477b072 100644 ---- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java -+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java -@@ -37,6 +37,7 @@ import android.hardware.biometrics.common.ComponentInfo; - import android.hardware.biometrics.fingerprint.IFingerprint; - import android.hardware.biometrics.fingerprint.PointerContext; - import android.hardware.biometrics.fingerprint.SensorProps; -+import android.hardware.biometrics.fingerprint.SensorLocation; - import android.hardware.fingerprint.Fingerprint; - import android.hardware.fingerprint.FingerprintAuthenticateOptions; - import android.hardware.fingerprint.FingerprintManager; -@@ -190,9 +191,32 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi - BiometricsProtoEnums.MODALITY_FINGERPRINT, new BiometricNotificationImpl()); - - final List workaroundLocations = getWorkaroundSensorProps(context); -+android.util.Log.e("PHH-Enroll", "Poping AIDL fp provider"); - - for (SensorProps prop : props) { - final int sensorId = prop.commonProps.sensorId; -+ SensorLocation[] locations = prop.sensorLocations; -+ -+ android.util.Log.e("PHH-Enroll", "Got fp props -- pre"); -+ for(SensorLocation loc: locations) { -+ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape); -+ } -+ if (locations.length == 1 && locations[0].sensorLocationX == 0) { -+ int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context); -+ if (otherValues.length > 0) { -+ SensorLocation loc = new SensorLocation(); -+ loc.sensorLocationX = otherValues[0]; -+ loc.sensorLocationY = otherValues[1]; -+ loc.sensorRadius = otherValues[2]; -+ locations[0] = loc; -+ } -+ } -+ -+ android.util.Log.e("PHH-Enroll", "Got fp props -- post"); -+ for(SensorLocation loc: locations) { -+ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape); -+ } -+ - - final List componentInfo = new ArrayList<>(); - if (prop.commonProps.componentInfo != null) { -@@ -212,7 +236,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi - prop.halControlsIllumination, - true /* resetLockoutRequiresHardwareAuthToken */, - !workaroundLocations.isEmpty() ? workaroundLocations : -- Arrays.stream(prop.sensorLocations).map(location -> -+ Arrays.stream(locations).map(location -> - new SensorLocationInternal( - location.display, - location.sensorLocationX, --- -2.34.1 - diff --git a/patches_treble_td/platform_frameworks_base/0050-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch b/patches_treble_td/platform_frameworks_base/0045-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch similarity index 88% rename from patches_treble_td/platform_frameworks_base/0050-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch rename to patches_treble_td/platform_frameworks_base/0045-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch index 2bd5523..3338367 100644 --- a/patches_treble_td/platform_frameworks_base/0050-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch +++ b/patches_treble_td/platform_frameworks_base/0045-Some-Samsung-devices-use-SW_FLIP-0x15-rather-than-SW.patch @@ -1,7 +1,7 @@ -From b472b40193287d699072c94e37007a6840171e14 Mon Sep 17 00:00:00 2001 +From fd972adec5cecd44b735a16554139846a3ab5c85 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 4 Feb 2024 18:01:07 -0500 -Subject: [PATCH 50/50] Some Samsung devices use SW_FLIP 0x15 rather than +Subject: [PATCH 45/50] Some Samsung devices use SW_FLIP 0x15 rather than SW_MACHINE_COVER 0x10, so use that --- @@ -9,10 +9,10 @@ Subject: [PATCH 50/50] Some Samsung devices use SW_FLIP 0x15 rather than 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java -index 3b168b59423a..1e00f77f8877 100644 +index 2f813324b75f..09f8e2a337cd 100644 --- a/services/core/java/com/android/server/input/InputManagerService.java +++ b/services/core/java/com/android/server/input/InputManagerService.java -@@ -371,6 +371,8 @@ public class InputManagerService extends IInputManager.Stub +@@ -375,6 +375,8 @@ public class InputManagerService extends IInputManager.Stub /** Switch code: Cover. When set, the cover is closed. */ public static final int SW_MACHINE_COVER = 0x10; @@ -21,7 +21,7 @@ index 3b168b59423a..1e00f77f8877 100644 public static final int SW_LID_BIT = 1 << SW_LID; public static final int SW_TABLET_MODE_BIT = 1 << SW_TABLET_MODE; -@@ -494,13 +496,22 @@ public class InputManagerService extends IInputManager.Stub +@@ -500,13 +502,22 @@ public class InputManagerService extends IInputManager.Stub } private void checkForSwMachineCover() { diff --git a/patches_treble_td/platform_frameworks_base/0046-Include-vendor.samsung.hardware.radio.network-V1-jav.patch b/patches_treble_td/platform_frameworks_base/0046-Include-vendor.samsung.hardware.radio.network-V1-jav.patch new file mode 100644 index 0000000..8b86667 --- /dev/null +++ b/patches_treble_td/platform_frameworks_base/0046-Include-vendor.samsung.hardware.radio.network-V1-jav.patch @@ -0,0 +1,25 @@ +From 9f26d51690a7486becabcb6090ffc34e051f3551 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 21 Feb 2024 12:41:46 -0500 +Subject: [PATCH 46/50] Include vendor.samsung.hardware.radio.network-V1-java + in base libs, will be used by f/o/telephony + +--- + Android.bp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Android.bp b/Android.bp +index c63068db1660..e1c218caaf88 100644 +--- a/Android.bp ++++ b/Android.bp +@@ -232,6 +232,7 @@ java_library { + "android.hardware.radio.messaging-V3-java", + "android.hardware.radio.modem-V3-java", + "android.hardware.radio.network-V3-java", ++ "vendor.samsung.hardware.radio.network-V1-java", + "android.hardware.radio.sim-V3-java", + "android.hardware.radio.voice-V3-java", + "android.hardware.thermal-V1.0-java-constants", +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_base/0046-Try-catch-the-Xiaomi-calls.patch b/patches_treble_td/platform_frameworks_base/0046-Try-catch-the-Xiaomi-calls.patch deleted file mode 100644 index b5eb295..0000000 --- a/patches_treble_td/platform_frameworks_base/0046-Try-catch-the-Xiaomi-calls.patch +++ /dev/null @@ -1,45 +0,0 @@ -From fc8191dbed0bceef0a4824a4aa3ca2e4a5260ac1 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Mon, 29 Jan 2024 17:06:34 -0500 -Subject: [PATCH 46/50] Try catch the Xiaomi calls - ---- - .../src/com/android/systemui/biometrics/UdfpsView.kt | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -index 91053b2c5f8e..d47a7d2068fa 100644 ---- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -@@ -298,14 +298,16 @@ class UdfpsView( - Log.d("PHH-Enroll", "Xiaomi scenario in UdfpsView reached!") - mySurfaceView.setVisibility(INVISIBLE) - -- IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1); -- var res = ITouchFeature.getService().setTouchMode(0, 10, 1); -+ try { -+ IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1); -+ } catch(t: Throwable) {} -+ var res = try { ITouchFeature.getService().setTouchMode(0, 10, 1) } catch(t: Throwable){ -1 } - if(res != 0){ - Log.d("PHH-Enroll", "SetTouchMode 10,1 was NOT executed successfully. Res is " + res) - } - - myHandler.postDelayed({ -- var ret200 = ITouchFeature.getService().setTouchMode(0, 10, 1); -+ var ret200 = try { ITouchFeature.getService().setTouchMode(0, 10, 1); } catch(t: Throwable) { -1 } - - if(ret200 != 0){ - Log.d("PHH-Enroll", "myHandler.postDelayed 200ms -SetTouchMode was NOT executed successfully. Ret is " + ret200) -@@ -313,7 +315,7 @@ class UdfpsView( - - myHandler.postDelayed({ - Log.d("PHH-Enroll", "myHandler.postDelayed 600ms - line prior to setTouchMode 10,0") -- var ret600 = ITouchFeature.getService().setTouchMode(0, 10, 0); -+ var ret600 = try { ITouchFeature.getService().setTouchMode(0, 10, 0); } catch(t: Throwable) { -1 } - - if(ret600 != 0){ - Log.d("PHH-Enroll", "myHandler.postDelayed 600ms -SetTouchMode 10,0 was NOT executed successfully. Ret is " + ret600) --- -2.34.1 - diff --git a/patches_treble_td/platform_frameworks_base/0047-Include-vendor.samsung.hardware.radio-V2.2-java-HIDL.patch b/patches_treble_td/platform_frameworks_base/0047-Include-vendor.samsung.hardware.radio-V2.2-java-HIDL.patch new file mode 100644 index 0000000..79d1b03 --- /dev/null +++ b/patches_treble_td/platform_frameworks_base/0047-Include-vendor.samsung.hardware.radio-V2.2-java-HIDL.patch @@ -0,0 +1,25 @@ +From 4ffbef7659e91ea50c94b8b9d7bb2b07d9cf6873 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 21 Feb 2024 16:19:47 -0500 +Subject: [PATCH 47/50] Include vendor.samsung.hardware.radio-V2.2-java HIDL in + base libs, will be used by f/o/telephony + +--- + Android.bp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Android.bp b/Android.bp +index e1c218caaf88..63413e5618d3 100644 +--- a/Android.bp ++++ b/Android.bp +@@ -227,6 +227,7 @@ java_library { + "android.hardware.gnss-V2.1-java", + "android.hardware.health-V1.0-java-constants", + "android.hardware.radio-V1.6-java", ++ "vendor.samsung.hardware.radio-V2.2-java", + "android.hardware.radio.data-V3-java", + "android.hardware.radio.ims-V2-java", + "android.hardware.radio.messaging-V3-java", +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_base/0047-Typo-in-observing-Samsung-brightness.patch b/patches_treble_td/platform_frameworks_base/0047-Typo-in-observing-Samsung-brightness.patch deleted file mode 100644 index 6e8750f..0000000 --- a/patches_treble_td/platform_frameworks_base/0047-Typo-in-observing-Samsung-brightness.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1c4acee244781abae9e9655deff9c3c3e8010c46 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Mon, 29 Jan 2024 17:06:45 -0500 -Subject: [PATCH 47/50] Typo in observing Samsung brightness - ---- - .../SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -index d47a7d2068fa..9f1fde7f2e3f 100644 ---- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt -@@ -353,7 +353,7 @@ class UdfpsView( - }; - fodFileObserver?.startWatching(); - } else if (hasSamsungMask) { -- fodFileObserver = object: FileObserver(asusGhbmOnAchieved, FileObserver.MODIFY) { -+ fodFileObserver = object: FileObserver(samsungActualMaskBrightness, FileObserver.MODIFY) { - override fun onEvent(event: Int, path: String): Unit { - Log.d("PHH-Enroll", "samsung mask brightness event") - try { --- -2.34.1 - diff --git a/patches_treble_td/platform_frameworks_base/0048-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch b/patches_treble_td/platform_frameworks_base/0048-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch new file mode 100644 index 0000000..b504595 --- /dev/null +++ b/patches_treble_td/platform_frameworks_base/0048-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch @@ -0,0 +1,88 @@ +From e14be2031caccce4e8d420f6352d374b0b47d7b1 Mon Sep 17 00:00:00 2001 +From: Alberto Ponces +Date: Sun, 31 Mar 2024 23:38:19 +0000 +Subject: [PATCH 48/50] Revert "Remove deprecated IRadio <1.4 APIs and + references" + +This reverts commit 4d53aa0caec7029bf6c9b5789c1708bc4bb71b76. +--- + .../android/telephony/TelephonyManager.java | 23 +++++++++++++++++++ + .../internal/telephony/ITelephony.aidl | 11 +++++++++ + .../internal/telephony/RILConstants.java | 5 ++++ + 3 files changed, 39 insertions(+) + +diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java +index bd5255d4a21a..859326ee0ca4 100644 +--- a/telephony/java/android/telephony/TelephonyManager.java ++++ b/telephony/java/android/telephony/TelephonyManager.java +@@ -11472,6 +11472,29 @@ public class TelephonyManager { + return false; + } + ++ /** ++ * Returns the result and response from RIL for oem request ++ * ++ * @param oemReq the data is sent to ril. ++ * @param oemResp the respose data from RIL. ++ * @return negative value request was not handled or get error ++ * 0 request was handled succesfully, but no response data ++ * positive value success, data length of response ++ * @hide ++ * @deprecated OEM needs a vendor-extension hal and their apps should use that instead ++ */ ++ @Deprecated ++ public int invokeOemRilRequestRaw(byte[] oemReq, byte[] oemResp) { ++ try { ++ ITelephony telephony = getITelephony(); ++ if (telephony != null) ++ return telephony.invokeOemRilRequestRaw(oemReq, oemResp); ++ } catch (RemoteException ex) { ++ } catch (NullPointerException ex) { ++ } ++ return -1; ++ } ++ + /** + * @deprecated Use {@link android.telephony.ims.ImsMmTelManager#setVtSettingEnabled(boolean)} + * instead. +diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl +index 397fb2d6db96..192ead0fb163 100644 +--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl ++++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl +@@ -1194,6 +1194,17 @@ interface ITelephony { + in List gsmNonRoamingList, in List cdmaRoamingList, + in List cdmaNonRoamingList); + ++ /** ++ * Returns the result and response from RIL for oem request ++ * ++ * @param oemReq the data is sent to ril. ++ * @param oemResp the respose data from RIL. ++ * @return negative value request was not handled or get error ++ * 0 request was handled succesfully, but no response data ++ * positive value success, data length of response ++ */ ++ int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp); ++ + /** + * Check if any mobile Radios need to be shutdown. + * +diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java +index 50590177f791..69ea593a3a00 100644 +--- a/telephony/java/com/android/internal/telephony/RILConstants.java ++++ b/telephony/java/com/android/internal/telephony/RILConstants.java +@@ -298,6 +298,11 @@ public interface RILConstants { + int SETUP_DATA_AUTH_CHAP = 2; + int SETUP_DATA_AUTH_PAP_CHAP = 3; + ++ /* LCE service related constants. */ ++ int LCE_NOT_AVAILABLE = -1; ++ int LCE_STOPPED = 0; ++ int LCE_ACTIVE = 1; ++ + /** + * No restriction at all including voice/SMS/USSD/SS/AV64 + * and packet data. +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_base/0049-Don-t-crash-system_server-if-we-fail-to-parse-dynami.patch b/patches_treble_td/platform_frameworks_base/0049-Don-t-crash-system_server-if-we-fail-to-parse-dynami.patch new file mode 100644 index 0000000..2333ccd --- /dev/null +++ b/patches_treble_td/platform_frameworks_base/0049-Don-t-crash-system_server-if-we-fail-to-parse-dynami.patch @@ -0,0 +1,42 @@ +From 08d6872962f964e285c631af4d28db9262eee00f Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 17 Apr 2024 04:49:18 -0400 +Subject: [PATCH 49/50] Don't crash system_server if we fail to parse dynamic + udfps position + +--- + .../fingerprint/aidl/FingerprintProvider.java | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +index 2bb568bedabc..73b502dca8c1 100644 +--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java ++++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +@@ -216,13 +216,17 @@ android.util.Log.e("PHH-Enroll", "Poping AIDL fp provider"); + android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape); + } + if (locations.length == 1 && locations[0].sensorLocationX == 0) { +- int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context); +- if (otherValues.length > 0) { +- SensorLocation loc = new SensorLocation(); +- loc.sensorLocationX = otherValues[0]; +- loc.sensorLocationY = otherValues[1]; +- loc.sensorRadius = otherValues[2]; +- locations[0] = loc; ++ try { ++ int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context); ++ if (otherValues.length > 0) { ++ SensorLocation loc = new SensorLocation(); ++ loc.sensorLocationX = otherValues[0]; ++ loc.sensorLocationY = otherValues[1]; ++ loc.sensorRadius = otherValues[2]; ++ locations[0] = loc; ++ } ++ } catch(Throwable t) { ++ android.util.Log.e("PHH-Enroll", "FingerprintProvider dynamicUdfpsProps", t); + } + } + +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_base/0050-Add-a-prop-to-disable-animation-in-for-sysui-media-c.patch b/patches_treble_td/platform_frameworks_base/0050-Add-a-prop-to-disable-animation-in-for-sysui-media-c.patch new file mode 100644 index 0000000..a45c62a --- /dev/null +++ b/patches_treble_td/platform_frameworks_base/0050-Add-a-prop-to-disable-animation-in-for-sysui-media-c.patch @@ -0,0 +1,34 @@ +From 6923bfc96d529de7620b0652adeadac4f4612710 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 8 May 2024 11:55:07 -0400 +Subject: [PATCH 50/50] Add a prop to disable animation in for sysui media + carousel + +--- + .../systemui/media/controls/ui/MediaCarouselController.kt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt +index 992eeca77e54..f8fed58d2553 100644 +--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt ++++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt +@@ -22,6 +22,7 @@ import android.content.Intent + import android.content.res.ColorStateList + import android.content.res.Configuration + import android.database.ContentObserver ++import android.os.SystemProperties; + import android.provider.Settings + import android.provider.Settings.ACTION_MEDIA_CONTROLS_SETTINGS + import android.util.Log +@@ -1047,7 +1048,7 @@ constructor( + desiredHostState.showsOnlyActiveMedia + + for (mediaPlayer in MediaPlayerData.players()) { +- if (animate) { ++ if (animate && !SystemProperties.getBoolean("persist.sys.phh.no_media_carousel_animation", false)) { + mediaPlayer.mediaViewController.animatePendingStateChange( + duration = duration, + delay = startDelay +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_libs_net/0001-Restore-back-the-behavior-of-isValid-It-is-legal-to-.patch b/patches_treble_td/platform_frameworks_libs_net/0001-Restore-back-the-behavior-of-isValid-It-is-legal-to-.patch deleted file mode 100644 index 507bc2e..0000000 --- a/patches_treble_td/platform_frameworks_libs_net/0001-Restore-back-the-behavior-of-isValid-It-is-legal-to-.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 8d695b3a2448e132263dd993265e95361bbb8540 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Wed, 26 Oct 2022 18:02:18 -0400 -Subject: [PATCH] Restore back the behavior of isValid(): It is legal to have - non-working BpfMap. Dont abort a whole process (system_server...) just - because we cant access bpf map. Also add isOk to include the additional - checks for newer kernel versions - -Change-Id: Ie7815c186400614f0c6b483c04aa8971af348380 ---- - common/native/bpf_headers/include/bpf/BpfMap.h | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -diff --git a/common/native/bpf_headers/include/bpf/BpfMap.h b/common/native/bpf_headers/include/bpf/BpfMap.h -index 51e6d162..6d74ff3a 100644 ---- a/common/native/bpf_headers/include/bpf/BpfMap.h -+++ b/common/native/bpf_headers/include/bpf/BpfMap.h -@@ -54,21 +54,25 @@ class BpfMap { - - private: - void abortOnKeyOrValueSizeMismatch() { -- if (!mMapFd.ok()) abort(); -- if (isAtLeastKernelVersion(4, 14, 0)) { -- if (bpfGetFdKeySize(mMapFd) != sizeof(Key)) abort(); -- if (bpfGetFdValueSize(mMapFd) != sizeof(Value)) abort(); -- } -+ if (!isOk()) abort(); - } - - protected: - // flag must be within BPF_OBJ_FLAG_MASK, ie. 0, BPF_F_RDONLY, BPF_F_WRONLY - BpfMap(const char* pathname, uint32_t flags) { - mMapFd.reset(mapRetrieve(pathname, flags)); -- abortOnKeyOrValueSizeMismatch(); - } - - public: -+ bool isOk() { -+ if (!mMapFd.ok()) return false; -+ if (isAtLeastKernelVersion(4, 14, 0)) { -+ if (bpfGetFdKeySize(mMapFd) != sizeof(Key)) return false; -+ if (bpfGetFdValueSize(mMapFd) != sizeof(Value)) return false; -+ } -+ return true; -+ } -+ - explicit BpfMap(const char* pathname) : BpfMap(pathname, 0) {} - - #ifdef BPF_MAP_MAKE_VISIBLE_FOR_TESTING --- -2.25.1 - diff --git a/patches_treble_td/platform_frameworks_native/0001-On-Samsung-we-need-to-send-a-hack-message-to-HAL-to-.patch b/patches_treble_td/platform_frameworks_native/0001-On-Samsung-we-need-to-send-a-hack-message-to-HAL-to-.patch index b063358..2403161 100644 --- a/patches_treble_td/platform_frameworks_native/0001-On-Samsung-we-need-to-send-a-hack-message-to-HAL-to-.patch +++ b/patches_treble_td/platform_frameworks_native/0001-On-Samsung-we-need-to-send-a-hack-message-to-HAL-to-.patch @@ -1,7 +1,7 @@ -From ab486c5b5de2e5041085d53e7a2326f1feaa0d66 Mon Sep 17 00:00:00 2001 +From 973eeeb60ccce408e525055c88e079984dcd1356 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 14 Aug 2019 23:37:10 +0200 -Subject: [PATCH 01/11] On Samsung, we need to send a hack-message to HAL to +Subject: [PATCH 01/12] On Samsung, we need to send a hack-message to HAL to get all Sensors Change-Id: Id6a1fa48340de61c418493668e9abd22c2599376 @@ -10,18 +10,18 @@ Change-Id: Id6a1fa48340de61c418493668e9abd22c2599376 1 file changed, 3 insertions(+) diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp -index 10ca990f87..e603f6d404 100644 +index dd83fdefc3..1996b306a4 100644 --- a/services/sensorservice/SensorDevice.cpp +++ b/services/sensorservice/SensorDevice.cpp -@@ -38,6 +38,7 @@ - #include - #include +@@ -40,6 +40,7 @@ + #include + #include +#include using namespace android::hardware::sensors; using android::util::ProtoOutputStream; -@@ -76,6 +77,8 @@ SensorDevice::SensorDevice() { +@@ -78,6 +79,8 @@ SensorDevice::SensorDevice() : mInHalBypassMode(false) { } void SensorDevice::initializeSensorList() { diff --git a/patches_treble_td/platform_frameworks_native/0002-Matching-an-input-with-a-display-uses-uniqueId.patch b/patches_treble_td/platform_frameworks_native/0002-Matching-an-input-with-a-display-uses-uniqueId.patch index 7eaf6e9..903a54d 100644 --- a/patches_treble_td/platform_frameworks_native/0002-Matching-an-input-with-a-display-uses-uniqueId.patch +++ b/patches_treble_td/platform_frameworks_native/0002-Matching-an-input-with-a-display-uses-uniqueId.patch @@ -1,7 +1,7 @@ -From 97a662c58df57f93b584a4e23661d8385c3da910 Mon Sep 17 00:00:00 2001 +From 4cc0d0871d389cd823d22bf04ae6f3cf3f3ec514 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 22 Oct 2020 23:22:46 +0200 -Subject: [PATCH 02/11] Matching an input with a display uses uniqueId +Subject: [PATCH 02/12] Matching an input with a display uses uniqueId Not all devices have a `location`, notably bluetooth devices. However, we might still want to associate them with a screen, @@ -15,10 +15,10 @@ Change-Id: Ifcbc8329d54386f58e013270d9888316c0f516b6 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/inputflinger/reader/InputDevice.cpp b/services/inputflinger/reader/InputDevice.cpp -index 0a64a1c4a8..425091805b 100644 +index fb32f96482..23c0123ab0 100644 --- a/services/inputflinger/reader/InputDevice.cpp +++ b/services/inputflinger/reader/InputDevice.cpp -@@ -264,7 +264,10 @@ std::list InputDevice::configure(nsecs_t when, +@@ -269,7 +269,10 @@ std::list InputDevice::configureInternal(nsecs_t when, mAssociatedDisplayUniqueId = std::nullopt; mAssociatedViewport = std::nullopt; // Find the display port that corresponds to the current input port. diff --git a/patches_treble_td/platform_frameworks_native/0003-unshared_oob-didn-t-exist-in-O-P-so-detect-its-suppo.patch b/patches_treble_td/platform_frameworks_native/0003-unshared_oob-didn-t-exist-in-O-P-so-detect-its-suppo.patch index e5784aa..2112721 100644 --- a/patches_treble_td/platform_frameworks_native/0003-unshared_oob-didn-t-exist-in-O-P-so-detect-its-suppo.patch +++ b/patches_treble_td/platform_frameworks_native/0003-unshared_oob-didn-t-exist-in-O-P-so-detect-its-suppo.patch @@ -1,7 +1,7 @@ -From c5d33188f0bd7a4a0c58ca6c7b4eb8c9cb6a129c Mon Sep 17 00:00:00 2001 +From 4ec36ad5c8b19969da7c48101c619132ec2356bd Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 5 Jan 2021 23:44:00 +0100 -Subject: [PATCH 03/11] unshared_oob didn't exist in O/P, so detect its +Subject: [PATCH 03/12] unshared_oob didn't exist in O/P, so detect its supported based on vndk version --- diff --git a/patches_treble_td/platform_frameworks_native/0004-Remove-Samsung-system-permission-on-sensors.patch b/patches_treble_td/platform_frameworks_native/0004-Remove-Samsung-system-permission-on-sensors.patch index 3e9fe53..5a2d20e 100644 --- a/patches_treble_td/platform_frameworks_native/0004-Remove-Samsung-system-permission-on-sensors.patch +++ b/patches_treble_td/platform_frameworks_native/0004-Remove-Samsung-system-permission-on-sensors.patch @@ -1,7 +1,7 @@ -From 08477babecfbec09c82923246636cf1a7dd72361 Mon Sep 17 00:00:00 2001 +From d5c6be141d42f5cb4742ab45e748dc9e430ddc03 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 31 Mar 2021 23:36:03 +0200 -Subject: [PATCH 04/11] Remove Samsung system permission on sensors +Subject: [PATCH 04/12] Remove Samsung system permission on sensors --- libs/sensor/Sensor.cpp | 1 + @@ -9,7 +9,7 @@ Subject: [PATCH 04/11] Remove Samsung system permission on sensors 2 files changed, 2 insertions(+) diff --git a/libs/sensor/Sensor.cpp b/libs/sensor/Sensor.cpp -index b6ea77deb5..91807a8a53 100644 +index a1549ea385..3eec309a93 100644 --- a/libs/sensor/Sensor.cpp +++ b/libs/sensor/Sensor.cpp @@ -429,6 +429,7 @@ const String8& Sensor::getStringType() const { diff --git a/patches_treble_td/platform_frameworks_native/0005-Mark-accelerometer-input-as-sensor-exclusively-if-th.patch b/patches_treble_td/platform_frameworks_native/0005-Mark-accelerometer-input-as-sensor-exclusively-if-th.patch index 8f1516a..29a7451 100644 --- a/patches_treble_td/platform_frameworks_native/0005-Mark-accelerometer-input-as-sensor-exclusively-if-th.patch +++ b/patches_treble_td/platform_frameworks_native/0005-Mark-accelerometer-input-as-sensor-exclusively-if-th.patch @@ -1,7 +1,7 @@ -From b80980ed739b0392fed65f61f02ea7ba73bdc17b Mon Sep 17 00:00:00 2001 +From 2659dfeef5200660db8d349fd80aab4d614e3d78 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 12 Dec 2021 08:45:36 -0500 -Subject: [PATCH 05/11] Mark accelerometer input as sensor exclusively if there +Subject: [PATCH 05/12] Mark accelerometer input as sensor exclusively if there are ABS axis The reason this is needed is that on -fucked up- Xiami Mi A2 Lite and @@ -15,10 +15,10 @@ Change-Id: I491ab89724c908ef09a23a6427d24a8889bf806a 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp -index 44e80a732c..88dd11467b 100644 +index f7bbc511f9..ad2394d791 100644 --- a/services/inputflinger/reader/EventHub.cpp +++ b/services/inputflinger/reader/EventHub.cpp -@@ -2339,7 +2339,13 @@ void EventHub::openDeviceLocked(const std::string& devicePath) { +@@ -2409,7 +2409,13 @@ void EventHub::openDeviceLocked(const std::string& devicePath) { // Check whether this device is an accelerometer. if (device->propBitmask.test(INPUT_PROP_ACCELEROMETER)) { diff --git a/patches_treble_td/platform_frameworks_native/0006-MIUI13-devices-hide-their-vibrator-HAL-behind-non-de.patch b/patches_treble_td/platform_frameworks_native/0006-MIUI13-devices-hide-their-vibrator-HAL-behind-non-de.patch index 9c19438..ba209bb 100644 --- a/patches_treble_td/platform_frameworks_native/0006-MIUI13-devices-hide-their-vibrator-HAL-behind-non-de.patch +++ b/patches_treble_td/platform_frameworks_native/0006-MIUI13-devices-hide-their-vibrator-HAL-behind-non-de.patch @@ -1,7 +1,7 @@ -From f6b0d117f3f68d7008ba7942f41f39d66a7f2b9f Mon Sep 17 00:00:00 2001 +From ff5ba8c1185122fd748f875d2457a3ea1facdb72 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 25 Mar 2022 05:37:56 -0400 -Subject: [PATCH 06/11] MIUI13 devices hide their vibrator HAL behind +Subject: [PATCH 06/12] MIUI13 devices hide their vibrator HAL behind non-default name: "vibratorfeature" --- diff --git a/patches_treble_td/platform_frameworks_native/0007-powermanager-Add-support-Samsung-miscpower-HAL.patch b/patches_treble_td/platform_frameworks_native/0007-powermanager-Add-support-Samsung-miscpower-HAL.patch index 70b59aa..0fc5202 100644 --- a/patches_treble_td/platform_frameworks_native/0007-powermanager-Add-support-Samsung-miscpower-HAL.patch +++ b/patches_treble_td/platform_frameworks_native/0007-powermanager-Add-support-Samsung-miscpower-HAL.patch @@ -1,7 +1,7 @@ -From 4ee277ea428976a6b737a3846249902f8621388c Mon Sep 17 00:00:00 2001 +From 754326bcb221b75d944997c3d8aefc42c1a992d1 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 27 Dec 2021 18:00:43 -0500 -Subject: [PATCH 07/11] powermanager: Add support Samsung miscpower HAL +Subject: [PATCH 07/12] powermanager: Add support Samsung miscpower HAL Several various configurations need to be supported: - Android Pie vendors have a android.hardware.power HIDL default + "miscpower" @@ -18,22 +18,22 @@ Only tested configuration ATM is the latest one Change-Id: I182a91ccb0a89f9d0d7d41f36eccab218b553bbc --- include/powermanager/PowerHalLoader.h | 3 + - include/powermanager/PowerHalWrapper.h | 35 +++++++++- + include/powermanager/PowerHalWrapper.h | 36 +++++++++- services/powermanager/Android.bp | 2 + - services/powermanager/PowerHalController.cpp | 16 +++-- + services/powermanager/PowerHalController.cpp | 13 +++- services/powermanager/PowerHalLoader.cpp | 17 ++++- services/powermanager/PowerHalWrapper.cpp | 70 +++++++++++++++++++ .../CompositionEngine/Android.bp | 1 + - 7 files changed, 138 insertions(+), 6 deletions(-) + 7 files changed, 136 insertions(+), 6 deletions(-) diff --git a/include/powermanager/PowerHalLoader.h b/include/powermanager/PowerHalLoader.h -index e0384f31db..944c225ef8 100644 +index cbbfa597ba..c27a833a07 100644 --- a/include/powermanager/PowerHalLoader.h +++ b/include/powermanager/PowerHalLoader.h @@ -22,6 +22,7 @@ + #include #include #include - #include +#include namespace android { @@ -55,38 +55,39 @@ index e0384f31db..944c225ef8 100644 static sp loadHidlV1_0Locked() EXCLUSIVE_LOCKS_REQUIRED(gHalMutex); diff --git a/include/powermanager/PowerHalWrapper.h b/include/powermanager/PowerHalWrapper.h -index 8028aa86e1..fc3385fbe3 100644 +index 4e4a1b000d..0411f9f8cf 100644 --- a/include/powermanager/PowerHalWrapper.h +++ b/include/powermanager/PowerHalWrapper.h -@@ -25,6 +25,7 @@ - #include - #include - #include +@@ -26,6 +26,7 @@ + #include + #include + #include +#include namespace android { -@@ -206,7 +207,10 @@ protected: +@@ -240,8 +241,10 @@ protected: // Wrapper for the AIDL Power HAL. class AidlHalWrapper : public HalWrapper { public: -- explicit AidlHalWrapper(sp handle) : mHandle(std::move(handle)) {} -+ explicit AidlHalWrapper(sp handle, +- explicit AidlHalWrapper(std::shared_ptr handle) +- : mHandle(std::move(handle)) {} ++ explicit AidlHalWrapper(std::shared_ptr handle, + sp sehHandle) -+ : mHandle(std::move(handle)), -+ mHandleSeh(std::move(sehHandle)) {} - virtual ~AidlHalWrapper() = default; ++ : mHandle(std::move(handle)), ++ mHandleSeh(std::move(sehHandle)) {} + ~AidlHalWrapper() override = default; - virtual HalResult setBoost(hardware::power::Boost boost, int32_t durationMs) override; -@@ -221,6 +225,7 @@ private: + HalResult setBoost(aidl::android::hardware::power::Boost boost, +@@ -257,6 +260,7 @@ private: std::mutex mBoostMutex; std::mutex mModeMutex; - sp mHandle; + std::shared_ptr mHandle; + sp mHandleSeh; // Android framework only sends boost upto DISPLAY_UPDATE_IMMINENT. // Need to increase the array size if more boost supported. - std::array, -@@ -231,6 +236,34 @@ private: + std::array< +@@ -271,6 +275,34 @@ private: mModeSupportedArray GUARDED_BY(mModeMutex) = {HalSupport::UNKNOWN}; }; @@ -98,17 +99,17 @@ index 8028aa86e1..fc3385fbe3 100644 + : mHandleSeh(std::move(hal1)), + mHandle11(std::move(hal2)), + mHandle10(std::move(hal3)) {} -+ virtual ~HidlHalWrapperSeh() = default; ++ ~HidlHalWrapperSeh() = default; + -+ virtual HalResult setBoost(hardware::power::Boost boost, int32_t durationMs) override; -+ virtual HalResult setMode(hardware::power::Mode mode, bool enabled) override; -+ virtual HalResult> createHintSession( ++ HalResult setBoost(aidl::android::hardware::power::Boost boost, int32_t durationMs) override; ++ HalResult setMode(aidl::android::hardware::power::Mode mode, bool enabled) override; ++ HalResult> createHintSession( + int32_t tgid, int32_t uid, const std::vector& threadIds, + int64_t durationNanos) override; -+ virtual HalResult getHintSessionPreferredRate() override; ++ HalResult getHintSessionPreferredRate() override; + +protected: -+ virtual HalResult sendPowerHint(hardware::power::V1_0::PowerHint hintId, uint32_t data); ++ HalResult sendPowerHint(hardware::power::V1_0::PowerHint hintId, uint32_t data); + +private: + sp mHandleSeh; @@ -122,46 +123,45 @@ index 8028aa86e1..fc3385fbe3 100644 }; // namespace android diff --git a/services/powermanager/Android.bp b/services/powermanager/Android.bp -index b34e54fd6b..390c2d843a 100644 +index 1f72e8ba2c..d7eea4dfc7 100644 --- a/services/powermanager/Android.bp +++ b/services/powermanager/Android.bp -@@ -41,6 +41,7 @@ cc_library_shared { +@@ -42,6 +42,7 @@ cc_library_shared { + "android.hardware.power@1.1", "android.hardware.power@1.2", "android.hardware.power@1.3", - "android.hardware.power-V4-cpp", + "vendor.samsung.hardware.miscpower@2.0", ], export_shared_lib_headers: [ @@ -49,6 +50,7 @@ cc_library_shared { + "android.hardware.power@1.1", "android.hardware.power@1.2", "android.hardware.power@1.3", - "android.hardware.power-V4-cpp", + "vendor.samsung.hardware.miscpower@2.0", ], cflags: [ diff --git a/services/powermanager/PowerHalController.cpp b/services/powermanager/PowerHalController.cpp -index f89035fd1c..5546672f97 100644 +index 9a23c848c9..4949d49db7 100644 --- a/services/powermanager/PowerHalController.cpp +++ b/services/powermanager/PowerHalController.cpp @@ -20,6 +20,7 @@ - #include - #include - #include + #include + #include + #include +#include #include #include #include -@@ -33,18 +34,25 @@ namespace power { +@@ -33,19 +34,25 @@ namespace power { // ------------------------------------------------------------------------------------------------- std::unique_ptr HalConnector::connect() { -- if (sp halAidl = PowerHalLoader::loadAidl()) { -- return std::make_unique(halAidl); -+ sp halAidl = PowerHalLoader::loadAidl(); + sp halHidlSeh = PowerHalLoader::loadHidlSeh(); -+ if (halAidl) { + if (std::shared_ptr halAidl = + PowerHalLoader::loadAidl()) { +- return std::make_unique(halAidl); + return std::make_unique(halAidl, halHidlSeh); } // If V1_0 isn't defined, none of them are @@ -184,18 +184,18 @@ index f89035fd1c..5546672f97 100644 } return std::make_unique(halHidlV1_0); diff --git a/services/powermanager/PowerHalLoader.cpp b/services/powermanager/PowerHalLoader.cpp -index 6bd40f8ff2..0ea43a4883 100644 +index 22144615da..5823fa697d 100644 --- a/services/powermanager/PowerHalLoader.cpp +++ b/services/powermanager/PowerHalLoader.cpp -@@ -20,6 +20,7 @@ +@@ -21,6 +21,7 @@ + #include #include #include - #include +#include #include #include #include -@@ -59,6 +60,7 @@ sp PowerHalLoader::gHalHidlV1_0 = nullptr; +@@ -60,6 +61,7 @@ sp PowerHalLoader::gHalHidlV1_0 = nullptr; sp PowerHalLoader::gHalHidlV1_1 = nullptr; sp PowerHalLoader::gHalHidlV1_2 = nullptr; sp PowerHalLoader::gHalHidlV1_3 = nullptr; @@ -203,7 +203,7 @@ index 6bd40f8ff2..0ea43a4883 100644 void PowerHalLoader::unloadAll() { std::lock_guard lock(gHalMutex); -@@ -102,10 +104,23 @@ sp PowerHalLoader::loadHidlV1_3() { +@@ -122,10 +124,23 @@ sp PowerHalLoader::loadHidlV1_3() { return loadHal(gHalExists, gHalHidlV1_3, loadFn, "HIDL v1.3"); } @@ -229,26 +229,26 @@ index 6bd40f8ff2..0ea43a4883 100644 // ------------------------------------------------------------------------------------------------- diff --git a/services/powermanager/PowerHalWrapper.cpp b/services/powermanager/PowerHalWrapper.cpp -index 9e7adf8e5c..5167430a7c 100644 +index 76afbfc646..1d40252d7d 100644 --- a/services/powermanager/PowerHalWrapper.cpp +++ b/services/powermanager/PowerHalWrapper.cpp -@@ -258,6 +258,10 @@ HalResult AidlHalWrapper::setMode(Mode mode, bool enabled) { +@@ -221,6 +221,10 @@ HalResult AidlHalWrapper::setMode(Aidl::Mode mode, bool enabled) { std::unique_lock lock(mModeMutex); size_t idx = static_cast(mode); -+ if (mHandleSeh != nullptr && mode == Mode::INTERACTIVE) { ++ if (mHandleSeh != nullptr && mode == Aidl::Mode::INTERACTIVE) { + mHandleSeh->setInteractiveAsync(enabled, false); + } + // Quick return if mode is not supported by HAL if (idx >= mModeSupportedArray.size() || mModeSupportedArray[idx] == HalSupport::OFF) { ALOGV("Skipped setMode %s because Power HAL doesn't support it", toString(mode).c_str()); -@@ -297,6 +301,72 @@ HalResult AidlHalWrapper::getHintSessionPreferredRate() { +@@ -260,6 +264,72 @@ HalResult AidlHalWrapper::getHintSessionPreferredRate() { return HalResult::fromStatus(result, rate); } -+HalResult HidlHalWrapperSeh::setBoost(Boost boost, int32_t durationMs) { -+ if (boost == Boost::INTERACTION) { ++HalResult HidlHalWrapperSeh::setBoost(Aidl::Boost boost, int32_t durationMs) { ++ if (boost == Aidl::Boost::INTERACTION) { + return sendPowerHint(V1_0::PowerHint::INTERACTION, durationMs); + } else { + ALOGV("Skipped setBoost %s because Power HAL AIDL not available", toString(boost).c_str()); @@ -256,20 +256,20 @@ index 9e7adf8e5c..5167430a7c 100644 + } +} + -+HalResult HidlHalWrapperSeh::setMode(Mode mode, bool enabled) { ++HalResult HidlHalWrapperSeh::setMode(Aidl::Mode mode, bool enabled) { + uint32_t data = enabled ? 1 : 0; + switch (mode) { -+ case Mode::LAUNCH: ++ case Aidl::Mode::LAUNCH: + return sendPowerHint(V1_0::PowerHint::LAUNCH, data); -+ case Mode::LOW_POWER: ++ case Aidl::Mode::LOW_POWER: + return sendPowerHint(V1_0::PowerHint::LOW_POWER, data); -+ case Mode::SUSTAINED_PERFORMANCE: ++ case Aidl::Mode::SUSTAINED_PERFORMANCE: + return sendPowerHint(V1_0::PowerHint::SUSTAINED_PERFORMANCE, data); -+ case Mode::VR: ++ case Aidl::Mode::VR: + return sendPowerHint(V1_0::PowerHint::VR_MODE, data); -+ case Mode::INTERACTIVE: ++ case Aidl::Mode::INTERACTIVE: + return setInteractive(enabled); -+ case Mode::DOUBLE_TAP_TO_WAKE: ++ case Aidl::Mode::DOUBLE_TAP_TO_WAKE: + return setFeature(V1_0::Feature::POWER_FEATURE_DOUBLE_TAP_TO_WAKE, enabled); + default: + ALOGV("Skipped setMode %s because Power HAL AIDL not available", @@ -301,11 +301,11 @@ index 9e7adf8e5c..5167430a7c 100644 + return HalResult::fromReturn(ret); +} + -+HalResult> HidlHalWrapperSeh::createHintSession( ++HalResult> HidlHalWrapperSeh::createHintSession( + int32_t, int32_t, const std::vector& threadIds, int64_t) { + ALOGV("Skipped createHintSession(task num=%zu) because Power HAL not available", + threadIds.size()); -+ return HalResult>::unsupported(); ++ return HalResult>::unsupported(); +} + +HalResult HidlHalWrapperSeh::getHintSessionPreferredRate() { @@ -317,17 +317,17 @@ index 9e7adf8e5c..5167430a7c 100644 } // namespace power diff --git a/services/surfaceflinger/CompositionEngine/Android.bp b/services/surfaceflinger/CompositionEngine/Android.bp -index f3a0186e3e..ee2dc91e5d 100644 +index ae2f2dbbf5..96ae9aa8de 100644 --- a/services/surfaceflinger/CompositionEngine/Android.bp +++ b/services/surfaceflinger/CompositionEngine/Android.bp @@ -38,6 +38,7 @@ cc_defaults { - "libtimestats", "libui", "libutils", + "server_configurable_flags", + "vendor.samsung.hardware.miscpower@2.0", ], static_libs: [ - "libmath", + "liblayers_proto", -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_native/0008-FOD-support-for-Samsung-and-Asus.patch b/patches_treble_td/platform_frameworks_native/0008-FOD-support-for-Samsung-and-Asus.patch index c365386..f8964f6 100644 --- a/patches_treble_td/platform_frameworks_native/0008-FOD-support-for-Samsung-and-Asus.patch +++ b/patches_treble_td/platform_frameworks_native/0008-FOD-support-for-Samsung-and-Asus.patch @@ -1,7 +1,7 @@ -From db291f8d395f87669f79fa6cd65fa67773e0c7de Mon Sep 17 00:00:00 2001 +From 08b5b5e7445ec5ae2e9d5c80f5b150a0a058d07a Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 18 Dec 2022 18:17:30 -0500 -Subject: [PATCH 08/11] FOD support for Samsung and Asus +Subject: [PATCH 08/12] FOD support for Samsung and Asus --- libs/gui/BLASTBufferQueue.cpp | 20 ++++++++++++++-- @@ -19,10 +19,10 @@ Subject: [PATCH 08/11] FOD support for Samsung and Asus 12 files changed, 77 insertions(+), 5 deletions(-) diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp -index 207fa4fd31..a162658e30 100644 +index f317a2eea0..6a55bb3f70 100644 --- a/libs/gui/BLASTBufferQueue.cpp +++ b/libs/gui/BLASTBufferQueue.cpp -@@ -35,12 +35,21 @@ +@@ -37,6 +37,7 @@ #include #include @@ -30,7 +30,8 @@ index 207fa4fd31..a162658e30 100644 #include #include - +@@ -46,6 +47,14 @@ + using namespace com::android::graphics::libgui; using namespace std::chrono_literals; +static bool sCheckedProps = false; @@ -44,7 +45,7 @@ index 207fa4fd31..a162658e30 100644 namespace { inline const char* boolToString(bool b) { return b ? "true" : "false"; -@@ -159,9 +168,16 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, bool updateDestinati +@@ -181,9 +190,16 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, bool updateDestinati // safe default, most producers are expected to override this mProducer->setMaxDequeuedBufferCount(2); @@ -88,7 +89,7 @@ index d2b92bb221..eff02330d8 100644 // Gralloc3 implementations never understand non-BLOB with GPU_DATA_BUFFER diff --git a/libs/ui/Gralloc4.cpp b/libs/ui/Gralloc4.cpp -index c788e8b87a..ce4beaa0e2 100644 +index 7e6802d1e0..1ce29dc8e4 100644 --- a/libs/ui/Gralloc4.cpp +++ b/libs/ui/Gralloc4.cpp @@ -129,7 +129,6 @@ static status_t validateBufferDescriptorInfo(IMapper::BufferDescriptorInfo* desc @@ -100,7 +101,7 @@ index c788e8b87a..ce4beaa0e2 100644 // Combinations that are only allowed with gralloc 4.1. diff --git a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp -index fc5f8ca1d3..4b81cc1df0 100644 +index 7fe3369f88..afd9942d5e 100644 --- a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp +++ b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp @@ -26,6 +26,7 @@ @@ -121,7 +122,7 @@ index fc5f8ca1d3..4b81cc1df0 100644 using aidl::android::hardware::graphics::composer3::Composition; namespace android::compositionengine { -@@ -438,6 +442,26 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer, +@@ -442,6 +446,26 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer, ->getHeight())); } @@ -149,10 +150,10 @@ index fc5f8ca1d3..4b81cc1df0 100644 displayFrame.right, displayFrame.bottom); diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp -index c0eb36dc02..782e22cbc2 100644 +index 64a8ae7fcd..b7da02cdcc 100644 --- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp +++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp -@@ -1599,5 +1599,13 @@ void AidlComposer::addDisplay(Display display) { +@@ -1680,5 +1680,13 @@ void AidlComposer::addDisplay(Display display) { void AidlComposer::onHotplugConnect(Display display) { addDisplay(display); } @@ -167,12 +168,12 @@ index c0eb36dc02..782e22cbc2 100644 } // namespace Hwc2 } // namespace android diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.h b/services/surfaceflinger/DisplayHardware/AidlComposerHal.h -index 8d21b491c3..349278771d 100644 +index ea0e53a202..1e11102cad 100644 --- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.h +++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.h -@@ -238,6 +238,8 @@ public: - Error setHdrConversionStrategy(HdrConversionStrategy, Hdr*) override; - Error setRefreshRateChangedCallbackDebugEnabled(Display, bool) override; +@@ -245,6 +245,8 @@ public: + Error notifyExpectedPresent(Display, nsecs_t expectedPresentTime, + int32_t frameIntervalNs) override; + // Proprietary extensions + Error setLayerClass(Display display, Layer layer, uint32_t layerClass) override; @@ -180,13 +181,13 @@ index 8d21b491c3..349278771d 100644 // Many public functions above simply write a command into the command // queue to batch the calls. validateDisplay and presentDisplay will call diff --git a/services/surfaceflinger/DisplayHardware/ComposerHal.h b/services/surfaceflinger/DisplayHardware/ComposerHal.h -index cf677955bf..eb5a2bf786 100644 +index bc067a0e5d..c0fcff6a7d 100644 --- a/services/surfaceflinger/DisplayHardware/ComposerHal.h +++ b/services/surfaceflinger/DisplayHardware/ComposerHal.h -@@ -291,6 +291,9 @@ public: - virtual Error setHdrConversionStrategy( - ::aidl::android::hardware::graphics::common::HdrConversionStrategy, Hdr*) = 0; +@@ -303,6 +303,9 @@ public: virtual Error setRefreshRateChangedCallbackDebugEnabled(Display, bool) = 0; + virtual Error notifyExpectedPresent(Display, nsecs_t expectedPresentTime, + int32_t frameIntervalNs) = 0; + + // Proprietary extensions + virtual Error setLayerClass(Display display, Layer layer, uint32_t layerClass) = 0; @@ -194,10 +195,10 @@ index cf677955bf..eb5a2bf786 100644 } // namespace Hwc2 diff --git a/services/surfaceflinger/DisplayHardware/HWC2.cpp b/services/surfaceflinger/DisplayHardware/HWC2.cpp -index aaf2523338..2acb79ad2f 100644 +index 24a9e22a2b..52777b1e74 100644 --- a/services/surfaceflinger/DisplayHardware/HWC2.cpp +++ b/services/surfaceflinger/DisplayHardware/HWC2.cpp -@@ -1003,6 +1003,14 @@ Error Layer::setBlockingRegion(const Region& region) { +@@ -1014,6 +1014,14 @@ Error Layer::setBlockingRegion(const Region& region) { return static_cast(intError); } @@ -213,10 +214,10 @@ index aaf2523338..2acb79ad2f 100644 } // namespace HWC2 } // namespace android diff --git a/services/surfaceflinger/DisplayHardware/HWC2.h b/services/surfaceflinger/DisplayHardware/HWC2.h -index 23dd3e5016..a63d609df7 100644 +index f907061774..04513ae0fe 100644 --- a/services/surfaceflinger/DisplayHardware/HWC2.h +++ b/services/surfaceflinger/DisplayHardware/HWC2.h -@@ -345,6 +345,9 @@ public: +@@ -349,6 +349,9 @@ public: // AIDL HAL [[nodiscard]] virtual hal::Error setBrightness(float brightness) = 0; [[nodiscard]] virtual hal::Error setBlockingRegion(const android::Region& region) = 0; @@ -226,7 +227,7 @@ index 23dd3e5016..a63d609df7 100644 }; namespace impl { -@@ -396,6 +399,8 @@ public: +@@ -400,6 +403,8 @@ public: hal::Error setBrightness(float brightness) override; hal::Error setBlockingRegion(const android::Region& region) override; @@ -236,10 +237,10 @@ index 23dd3e5016..a63d609df7 100644 // These are references to data owned by HWComposer, which will outlive // this HWC2::Layer, so these references are guaranteed to be valid for diff --git a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp -index 9b41da5754..f16c3f17a7 100644 +index c4ff9cc6be..bd158ad5ad 100644 --- a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp +++ b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp -@@ -1409,6 +1409,13 @@ Error HidlComposer::getPhysicalDisplayOrientation(Display, AidlTransform*) { +@@ -1434,6 +1434,13 @@ Error HidlComposer::getPhysicalDisplayOrientation(Display, AidlTransform*) { "OptionalFeature::PhysicalDisplayOrientation is not supported on HIDL"); } @@ -254,12 +255,12 @@ index 9b41da5754..f16c3f17a7 100644 const bool vsyncSwitchingSupported = isSupported(Hwc2::Composer::OptionalFeature::RefreshRateSwitching); diff --git a/services/surfaceflinger/DisplayHardware/HidlComposerHal.h b/services/surfaceflinger/DisplayHardware/HidlComposerHal.h -index 0521acf9c4..1acb8b0efe 100644 +index d78bfb7c6b..c05dc69934 100644 --- a/services/surfaceflinger/DisplayHardware/HidlComposerHal.h +++ b/services/surfaceflinger/DisplayHardware/HidlComposerHal.h -@@ -346,6 +346,8 @@ public: - Hdr*) override; +@@ -352,6 +352,8 @@ public: Error setRefreshRateChangedCallbackDebugEnabled(Display, bool) override; + Error notifyExpectedPresent(Display, nsecs_t, int32_t) override; + // Proprietary extensions + Error setLayerClass(Display display, Layer layer, uint32_t layerClass) override; diff --git a/patches_treble_td/platform_frameworks_native/0009-Add-MTK-GED-KPI-support-to-fix-broken-Mediatek-gpufr.patch b/patches_treble_td/platform_frameworks_native/0009-Add-MTK-GED-KPI-support-to-fix-broken-Mediatek-gpufr.patch index a0df8f0..f162057 100644 --- a/patches_treble_td/platform_frameworks_native/0009-Add-MTK-GED-KPI-support-to-fix-broken-Mediatek-gpufr.patch +++ b/patches_treble_td/platform_frameworks_native/0009-Add-MTK-GED-KPI-support-to-fix-broken-Mediatek-gpufr.patch @@ -1,7 +1,7 @@ -From 29e242aee2360a3c4eb61574f8f9ba5db7bdbd10 Mon Sep 17 00:00:00 2001 +From eb49ecb179bed79bf47cd23c003b89451a75b018 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 25 Nov 2023 08:15:28 -0500 -Subject: [PATCH 09/11] Add MTK GED KPI support to fix broken Mediatek gpufreq +Subject: [PATCH 09/12] Add MTK GED KPI support to fix broken Mediatek gpufreq Mediatek GPU scheduler likes to have the timestamps of the frames to be able to adjust DVFS. @@ -22,7 +22,7 @@ well) 2 files changed, 205 insertions(+) diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp -index 53a2f64d11..1eb40aa3c1 100644 +index 07a0cfed63..1d527c089f 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -24,6 +24,9 @@ @@ -35,7 +35,7 @@ index 53a2f64d11..1eb40aa3c1 100644 #include -@@ -49,6 +52,9 @@ +@@ -50,6 +53,9 @@ #include #include #include @@ -43,9 +43,9 @@ index 53a2f64d11..1eb40aa3c1 100644 + +#include - namespace android { + #include -@@ -72,6 +78,37 @@ bool isInterceptorRegistrationOp(int op) { +@@ -76,6 +82,37 @@ bool isInterceptorRegistrationOp(int op) { } } // namespace @@ -83,7 +83,7 @@ index 53a2f64d11..1eb40aa3c1 100644 Surface::Surface(const sp& bufferProducer, bool controlledByApp, const sp& surfaceControlHandle) -@@ -124,6 +161,47 @@ Surface::Surface(const sp& bufferProducer, bool controll +@@ -128,6 +165,47 @@ Surface::Surface(const sp& bufferProducer, bool controll mSwapIntervalZero = false; mMaxBufferCount = NUM_BUFFER_SLOTS; mSurfaceControlHandle = surfaceControlHandle; @@ -131,7 +131,7 @@ index 53a2f64d11..1eb40aa3c1 100644 } Surface::~Surface() { -@@ -643,6 +721,36 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) { +@@ -647,6 +725,36 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) { } } @@ -168,7 +168,7 @@ index 53a2f64d11..1eb40aa3c1 100644 if (fence->isValid()) { *fenceFd = fence->dup(); if (*fenceFd == -1) { -@@ -1086,6 +1194,60 @@ void Surface::onBufferQueuedLocked(int slot, sp fence, +@@ -1090,6 +1198,60 @@ void Surface::onBufferQueuedLocked(int slot, sp fence, } mQueueBufferCondition.broadcast(); @@ -229,7 +229,7 @@ index 53a2f64d11..1eb40aa3c1 100644 if (CC_UNLIKELY(atrace_is_tag_enabled(ATRACE_TAG_GRAPHICS))) { static gui::FenceMonitor gpuCompletionThread("GPU completion"); -@@ -1853,6 +2015,46 @@ int Surface::connect( +@@ -1857,6 +2019,46 @@ int Surface::connect( mConsumerRunningBehind = (output.numPendingBuffers >= 2); } diff --git a/patches_treble_td/platform_frameworks_native/0010-Fix-loading-unnamed-GLES.patch b/patches_treble_td/platform_frameworks_native/0010-Fix-loading-unnamed-GLES.patch index 7bdd668..9c21d12 100644 --- a/patches_treble_td/platform_frameworks_native/0010-Fix-loading-unnamed-GLES.patch +++ b/patches_treble_td/platform_frameworks_native/0010-Fix-loading-unnamed-GLES.patch @@ -1,7 +1,7 @@ -From 87403b97ae1816f244ff840e2188a3895549d79d Mon Sep 17 00:00:00 2001 +From 2a9428f4a5b5d76294698e523c1887d064b59a85 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 20 Dec 2023 09:48:04 -0500 -Subject: [PATCH 10/11] Fix loading unnamed GLES +Subject: [PATCH 10/12] Fix loading unnamed GLES Normally Android loads libGLES_${ro.hardware.egl}.so But up to Android 14, it was allowed not to set ro.hardware.egl @@ -22,10 +22,10 @@ Test: 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp -index 3f2986d4c7..0794ac7702 100644 +index 9dea4eb717..24e3895b70 100644 --- a/opengl/libs/EGL/Loader.cpp +++ b/opengl/libs/EGL/Loader.cpp -@@ -298,8 +298,7 @@ void* Loader::open(egl_connection_t* cnx) { +@@ -314,8 +314,7 @@ void* Loader::open(egl_connection_t* cnx) { hnd = attempt_to_load_system_driver(cnx, nullptr, true); } diff --git a/patches_treble_td/platform_frameworks_native/0011-Increase-SW_MAX-4.patch b/patches_treble_td/platform_frameworks_native/0011-Increase-SW_MAX-4.patch index f9c8b29..c76a846 100644 --- a/patches_treble_td/platform_frameworks_native/0011-Increase-SW_MAX-4.patch +++ b/patches_treble_td/platform_frameworks_native/0011-Increase-SW_MAX-4.patch @@ -1,7 +1,7 @@ -From 4bac0291777d31715750830904d9c6ebe568a51d Mon Sep 17 00:00:00 2001 +From 856149e68cafecbe745370a92f7d0421d62957bc Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 3 Feb 2024 07:38:33 -0500 -Subject: [PATCH 11/11] Increase SW_MAX *= 4 +Subject: [PATCH 11/12] Increase SW_MAX *= 4 We increase the size of SW_MAX for two reasons: 1. SW_MACHINE_COVER which is SW_MAX is ignored, guessing an off by one @@ -14,19 +14,19 @@ We increase the size of SW_MAX for two reasons: 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp -index 88dd11467b..0689b4b683 100644 +index ad2394d791..18742c6b37 100644 --- a/services/inputflinger/reader/EventHub.cpp +++ b/services/inputflinger/reader/EventHub.cpp -@@ -1037,7 +1037,7 @@ int32_t EventHub::getKeyCodeForKeyLocation(int32_t deviceId, int32_t locationKey +@@ -1112,7 +1112,7 @@ int32_t EventHub::getKeyCodeForKeyLocation(int32_t deviceId, int32_t locationKey } int32_t EventHub::getSwitchState(int32_t deviceId, int32_t sw) const { -- if (sw >= 0 && sw <= SW_MAX) { -+ if (sw >= 0 && sw <= (SW_MAX * 4)) { - std::scoped_lock _l(mLock); - - Device* device = getDeviceLocked(deviceId); -@@ -2349,7 +2349,7 @@ void EventHub::openDeviceLocked(const std::string& devicePath) { +- if (sw < 0 || sw > SW_MAX) { ++ if (sw < 0 || sw > (SW_MAX*4)) { + return AKEY_STATE_UNKNOWN; + } + std::scoped_lock _l(mLock); +@@ -2419,7 +2419,7 @@ void EventHub::openDeviceLocked(const std::string& devicePath) { } // Check whether this device has switches. @@ -36,20 +36,20 @@ index 88dd11467b..0689b4b683 100644 device->classes |= InputDeviceClass::SWITCH; break; diff --git a/services/inputflinger/reader/include/EventHub.h b/services/inputflinger/reader/include/EventHub.h -index 024187f5b5..d1a2b1ec68 100644 +index 0bcab42417..5659ffb006 100644 --- a/services/inputflinger/reader/include/EventHub.h +++ b/services/inputflinger/reader/include/EventHub.h -@@ -604,8 +604,8 @@ private: - BitArray keyState; - BitArray absBitmask; - BitArray relBitmask; -- BitArray swBitmask; -- BitArray swState; -+ BitArray swBitmask; -+ BitArray swState; - BitArray ledBitmask; - BitArray ffBitmask; - BitArray propBitmask; +@@ -629,8 +629,8 @@ private: + BitArray keyBitmask; + BitArray keyState; + BitArray relBitmask; +- BitArray swBitmask; +- BitArray swState; ++ BitArray swBitmask; ++ BitArray swState; + BitArray ledBitmask; + BitArray ffBitmask; + BitArray propBitmask; -- 2.34.1 diff --git a/patches_treble_td/platform_frameworks_native/0012-Disable-gpuservice-on-old-BPF-less-kernel.patch b/patches_treble_td/platform_frameworks_native/0012-Disable-gpuservice-on-old-BPF-less-kernel.patch new file mode 100644 index 0000000..24d6fe2 --- /dev/null +++ b/patches_treble_td/platform_frameworks_native/0012-Disable-gpuservice-on-old-BPF-less-kernel.patch @@ -0,0 +1,25 @@ +From 947438c1004fc9a82a265f52f520820f84675610 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Tue, 7 May 2024 22:34:40 +0000 +Subject: [PATCH 12/12] Disable gpuservice on old BPF-less kernel + +Change-Id: I8e1626e2e9d12ee0dc03d758799bc88085899476 +--- + services/gpuservice/gpumem/GpuMem.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/services/gpuservice/gpumem/GpuMem.cpp b/services/gpuservice/gpumem/GpuMem.cpp +index 141fe021ee..90b8b5c52d 100644 +--- a/services/gpuservice/gpumem/GpuMem.cpp ++++ b/services/gpuservice/gpumem/GpuMem.cpp +@@ -48,6 +48,7 @@ void GpuMem::initialize() { + if (fd < 0) { + ALOGE("Failed to retrieve pinned program from %s [%d(%s)]", kGpuMemTotalProgPath, errno, + strerror(errno)); ++ while(true) sleep(1); + return; + } + +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_opt_net_ims/0001-Pie-MTK-IMS-calls-static-ImsManager.updateImsService.patch b/patches_treble_td/platform_frameworks_opt_net_ims/0001-Pie-MTK-IMS-calls-static-ImsManager.updateImsService.patch index c16564b..6a69a18 100644 --- a/patches_treble_td/platform_frameworks_opt_net_ims/0001-Pie-MTK-IMS-calls-static-ImsManager.updateImsService.patch +++ b/patches_treble_td/platform_frameworks_opt_net_ims/0001-Pie-MTK-IMS-calls-static-ImsManager.updateImsService.patch @@ -1,4 +1,4 @@ -From bf201d96538a54998774dbe9f04e3b0ddd587487 Mon Sep 17 00:00:00 2001 +From e1832b745a9d991d919235788777e82bc3e7c1f6 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 14 Nov 2021 13:47:29 -0500 Subject: [PATCH] Pie MTK IMS calls static @@ -10,10 +10,10 @@ Change-Id: I3dd66d436629d37c8ec795df6569736195ae570e 1 file changed, 8 insertions(+) diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java -index b5a1168b..547a3a16 100644 +index c9252f24..9d6a3122 100644 --- a/src/java/com/android/ims/ImsManager.java +++ b/src/java/com/android/ims/ImsManager.java -@@ -1666,6 +1666,14 @@ public class ImsManager implements FeatureUpdates { +@@ -1667,6 +1667,14 @@ public class ImsManager implements FeatureUpdates { } } diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0001-SubscriptionController-Do-not-override-default-calli.patch b/patches_treble_td/platform_frameworks_opt_telephony/0001-SubscriptionController-Do-not-override-default-calli.patch index 5ebcf03..6a3af13 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0001-SubscriptionController-Do-not-override-default-calli.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0001-SubscriptionController-Do-not-override-default-calli.patch @@ -1,7 +1,7 @@ -From 0e00ed7fbe4679ee23be1207714403a96adf09c3 Mon Sep 17 00:00:00 2001 +From 162ec8917b7ae8fdb3fcb3f679c45d2276e19926 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Mon, 5 Sep 2022 14:02:37 -0400 -Subject: [PATCH 1/9] SubscriptionController: Do not override default calling +Subject: [PATCH 01/14] SubscriptionController: Do not override default calling account from third-party apps When the user has selected a calling account from a third-party app as @@ -18,10 +18,10 @@ Change-Id: Iccab64e9b3b3ab4773bd8944d47c2006f229d472 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java b/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java -index b462daf041..d9d5345825 100644 +index a8d05a334b..42310ccc3f 100644 --- a/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java +++ b/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java -@@ -78,6 +78,7 @@ import android.util.Base64; +@@ -81,6 +81,7 @@ import android.util.Base64; import android.util.EventLog; import android.util.IndentingPrintWriter; import android.util.LocalLog; @@ -29,7 +29,7 @@ index b462daf041..d9d5345825 100644 import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; -@@ -2847,7 +2848,22 @@ public class SubscriptionManagerService extends ISub.Stub { +@@ -3023,7 +3024,22 @@ public class SubscriptionManagerService extends ISub.Stub { TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class); if (telecomManager != null) { diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0002-Telephony-Don-not-call-onUssdRelease-for-Huawei-RIL.patch b/patches_treble_td/platform_frameworks_opt_telephony/0002-Telephony-Don-not-call-onUssdRelease-for-Huawei-RIL.patch index 8c734e6..6233e00 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0002-Telephony-Don-not-call-onUssdRelease-for-Huawei-RIL.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0002-Telephony-Don-not-call-onUssdRelease-for-Huawei-RIL.patch @@ -1,7 +1,7 @@ -From d910cd14d0f68db7cd66d6b357be1cafa951e987 Mon Sep 17 00:00:00 2001 +From 6f08bcbf526eb4a97d88f71e06945d9a9c10f23f Mon Sep 17 00:00:00 2001 From: Artem Borisov Date: Sat, 10 Nov 2018 17:19:17 +0000 -Subject: [PATCH 2/9] Telephony: Don not call onUssdRelease for Huawei RIL +Subject: [PATCH 02/14] Telephony: Don not call onUssdRelease for Huawei RIL Huawei RIL doesn't seem to work properly with USSD_MODE_NW_RELEASE, always releasing USSD when it should be finished instead. @@ -13,10 +13,10 @@ Change-Id: I69faed1c51d4582834879975d6ab13daf7f48ad4 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java -index 6e2601e635..e48d10e8b5 100644 +index 620b8711e2..acd0196dd1 100644 --- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java +++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java -@@ -2973,7 +2973,11 @@ public class GsmCdmaPhone extends Phone { +@@ -3072,7 +3072,11 @@ public class GsmCdmaPhone extends Phone { if (found != null) { // Complete pending USSD if (isUssdRelease) { diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0003-Fix-baseband-being-too-long-to-fit-into-a-91-chars-p.patch b/patches_treble_td/platform_frameworks_opt_telephony/0003-Fix-baseband-being-too-long-to-fit-into-a-91-chars-p.patch index 5218d75..a7153fd 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0003-Fix-baseband-being-too-long-to-fit-into-a-91-chars-p.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0003-Fix-baseband-being-too-long-to-fit-into-a-91-chars-p.patch @@ -1,7 +1,7 @@ -From a7a452f5338546fccd71c27bfd64a610ea7470e8 Mon Sep 17 00:00:00 2001 +From 817f2b9f355041ea5b7e47315acc878d96e1b91b Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 6 Dec 2021 16:28:22 -0500 -Subject: [PATCH 3/9] Fix baseband being too long to fit into a 91 chars +Subject: [PATCH 03/14] Fix baseband being too long to fit into a 91 chars property, preventing telephony subsystem from starting Change-Id: I1762e4a8cc137626be89f350229d6be162bdaf57 @@ -10,10 +10,10 @@ Change-Id: I1762e4a8cc137626be89f350229d6be162bdaf57 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java -index e48d10e8b5..3e97f0ab32 100644 +index acd0196dd1..cf81125aab 100644 --- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java +++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java -@@ -3288,7 +3288,7 @@ public class GsmCdmaPhone extends Phone { +@@ -3377,7 +3377,7 @@ public class GsmCdmaPhone extends Phone { String version = (String)ar.result; if (version != null) { int length = version.length(); diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0004-Reintroduce-public-void-TelephonyMetrics.writeRilSen.patch b/patches_treble_td/platform_frameworks_opt_telephony/0004-Reintroduce-public-void-TelephonyMetrics.writeRilSen.patch index efd12fa..9f083f7 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0004-Reintroduce-public-void-TelephonyMetrics.writeRilSen.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0004-Reintroduce-public-void-TelephonyMetrics.writeRilSen.patch @@ -1,7 +1,7 @@ -From 464416c080eced79652698a25fd9ddef71b296c9 Mon Sep 17 00:00:00 2001 +From 60f5230e5197fd4cfdf4e547e1073e0cbc8691e3 Mon Sep 17 00:00:00 2001 From: ironydelerium <42721860+ironydelerium@users.noreply.github.com> Date: Fri, 31 Dec 2021 02:20:28 -0800 -Subject: [PATCH 4/9] Reintroduce 'public void +Subject: [PATCH 04/14] Reintroduce 'public void TelephonyMetrics.writeRilSendSms(int, int, int, int)'. (#8) The MediaTek IMS package for Android Q, at the very least (likely for the rest, too) diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0005-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch b/patches_treble_td/platform_frameworks_opt_telephony/0005-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch new file mode 100644 index 0000000..341117b --- /dev/null +++ b/patches_treble_td/platform_frameworks_opt_telephony/0005-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch @@ -0,0 +1,1579 @@ +From 4b3fccc0cb2b352eed969c9fee0e21ae161f8ad8 Mon Sep 17 00:00:00 2001 +From: Daniel Zhang +Date: Sat, 30 Mar 2024 14:05:14 -0400 +Subject: [PATCH 05/14] Revert "Remove deprecated IRadio <1.4 APIs and + references" + +This reverts commit 67a3837ed4d5e76369316d713b9ac52dbc5518aa. + +Change-Id: I6802400fb4ffcf0181441662c267f9eabc4e5cf7 +--- + .../internal/telephony/BaseCommands.java | 25 +++ + .../internal/telephony/CommandsInterface.java | 141 +++++++++++++++- + .../internal/telephony/GsmCdmaPhone.java | 2 + + .../com/android/internal/telephony/Phone.java | 73 +++++++++ + .../com/android/internal/telephony/RIL.java | 112 ++++++++++++- + .../telephony/data/CellularDataService.java | 17 +- + .../imsphone/ImsPhoneCommandInterface.java | 64 +++++++- + .../telephony/uicc/UiccController.java | 7 +- + .../internal/telephony/GsmCdmaPhoneTest.java | 5 + + .../android/internal/telephony/RILTest.java | 68 +++++++- + .../internal/telephony/SimulatedCommands.java | 154 ++++++++++++++++-- + .../telephony/SimulatedCommandsVerifier.java | 84 +++++++++- + .../data/DataServiceManagerTest.java | 12 +- + .../telephony/uicc/UiccControllerTest.java | 34 ++++ + 14 files changed, 740 insertions(+), 58 deletions(-) + +diff --git a/src/java/com/android/internal/telephony/BaseCommands.java b/src/java/com/android/internal/telephony/BaseCommands.java +index b33b732fbd..ce462231f9 100644 +--- a/src/java/com/android/internal/telephony/BaseCommands.java ++++ b/src/java/com/android/internal/telephony/BaseCommands.java +@@ -68,6 +68,8 @@ public abstract class BaseCommands implements CommandsInterface { + protected RegistrantList mVoicePrivacyOnRegistrants = new RegistrantList(); + protected RegistrantList mVoicePrivacyOffRegistrants = new RegistrantList(); + @UnsupportedAppUsage ++ protected Registrant mUnsolOemHookRawRegistrant; ++ @UnsupportedAppUsage + protected RegistrantList mOtaProvisionRegistrants = new RegistrantList(); + @UnsupportedAppUsage + protected RegistrantList mCallWaitingInfoRegistrants = new RegistrantList(); +@@ -673,6 +675,17 @@ public abstract class BaseCommands implements CommandsInterface { + mSignalInfoRegistrants.addUnique(h, what, obj); + } + ++ public void setOnUnsolOemHookRaw(Handler h, int what, Object obj) { ++ mUnsolOemHookRawRegistrant = new Registrant (h, what, obj); ++ } ++ ++ public void unSetOnUnsolOemHookRaw(Handler h) { ++ if (mUnsolOemHookRawRegistrant != null && mUnsolOemHookRawRegistrant.getHandler() == h) { ++ mUnsolOemHookRawRegistrant.clear(); ++ mUnsolOemHookRawRegistrant = null; ++ } ++ } ++ + @Override + public void unregisterForSignalInfo(Handler h) { + mSignalInfoRegistrants.remove(h); +@@ -991,6 +1004,18 @@ public abstract class BaseCommands implements CommandsInterface { + mPhoneRadioCapabilityChangedRegistrants.remove(h); + } + ++ @Override ++ public void startLceService(int reportIntervalMs, boolean pullMode, Message result) { ++ } ++ ++ @Override ++ public void stopLceService(Message result) { ++ } ++ ++ @Override ++ public void pullLceData(Message result) { ++ } ++ + @Override + public void registerForLceInfo(Handler h, int what, Object obj) { + synchronized (mStateMonitor) { +diff --git a/src/java/com/android/internal/telephony/CommandsInterface.java b/src/java/com/android/internal/telephony/CommandsInterface.java +index 91e6fab171..9306ab15fd 100644 +--- a/src/java/com/android/internal/telephony/CommandsInterface.java ++++ b/src/java/com/android/internal/telephony/CommandsInterface.java +@@ -898,6 +898,18 @@ public interface CommandsInterface { + */ + void getCurrentCalls (Message result); + ++ /** ++ * returned message ++ * retMsg.obj = AsyncResult ar ++ * ar.exception carries exception on failure ++ * ar.userObject contains the orignal value of result.obj ++ * ar.result contains a List of DataCallResponse ++ * @deprecated Do not use. ++ */ ++ @UnsupportedAppUsage ++ @Deprecated ++ void getPDPContextList(Message result); ++ + /** + * returned message + * retMsg.obj = AsyncResult ar +@@ -955,6 +967,25 @@ public interface CommandsInterface { + */ + void getIMSIForApp(String aid, Message result); + ++ /** ++ * returned message ++ * retMsg.obj = AsyncResult ar ++ * ar.exception carries exception on failure ++ * ar.userObject contains the orignal value of result.obj ++ * ar.result is String containing IMEI on success ++ */ ++ void getIMEI(Message result); ++ ++ /** ++ * returned message ++ * retMsg.obj = AsyncResult ar ++ * ar.exception carries exception on failure ++ * ar.userObject contains the orignal value of result.obj ++ * ar.result is String containing IMEISV on success ++ */ ++ @UnsupportedAppUsage ++ void getIMEISV(Message result); ++ + /** + * Hang up one individual connection. + * returned message +@@ -1070,6 +1101,25 @@ public interface CommandsInterface { + */ + void getLastCallFailCause (Message result); + ++ ++ /** ++ * Reason for last PDP context deactivate or failure to activate ++ * cause code returned as int[0] in Message.obj.response ++ * returns an integer cause code defined in TS 24.008 ++ * section 6.1.3.1.3 or close approximation ++ * @deprecated Do not use. ++ */ ++ @UnsupportedAppUsage ++ @Deprecated ++ void getLastPdpFailCause (Message result); ++ ++ /** ++ * The preferred new alternative to getLastPdpFailCause ++ * that is also CDMA-compatible. ++ */ ++ @UnsupportedAppUsage ++ void getLastDataCallFailCause (Message result); ++ + void setMute (boolean enableMute, Message response); + + void getMute (Message response); +@@ -1498,6 +1548,8 @@ public interface CommandsInterface { + */ + void cancelPendingUssd (Message response); + ++ void resetRadio(Message result); ++ + /** + * Assign a specified band for RF configuration. + * +@@ -1628,14 +1680,28 @@ public interface CommandsInterface { + @UnsupportedAppUsage + void reportStkServiceIsRunning(Message result); + ++ @UnsupportedAppUsage ++ void invokeOemRilRequestRaw(byte[] data, Message response); ++ + /** + * Sends carrier specific information to the vendor ril that can be used to + * encrypt the IMSI and IMPI. + * +- * @param imsiEncryptionInfo the IMSI encryption info ++ * @param publicKey the public key of the carrier used to encrypt IMSI/IMPI. ++ * @param keyIdentifier the key identifier is optional information that is carrier ++ * specific. + * @param response callback message + */ +- void setCarrierInfoForImsiEncryption(ImsiEncryptionInfo imsiEncryptionInfo, Message response); ++ void setCarrierInfoForImsiEncryption(ImsiEncryptionInfo imsiEncryptionInfo, ++ Message response); ++ ++ void invokeOemRilRequestStrings(String[] strings, Message response); ++ ++ /** ++ * Fires when RIL_UNSOL_OEM_HOOK_RAW is received from the RIL. ++ */ ++ void setOnUnsolOemHookRaw(Handler h, int what, Object obj); ++ void unSetOnUnsolOemHookRaw(Handler h); + + /** + * Send TERMINAL RESPONSE to the SIM, after processing a proactive command +@@ -1818,13 +1884,15 @@ public interface CommandsInterface { + void queryTTYMode(Message response); + + /** +- * Setup a packet data connection. On successful completion, the result ++ * Setup a packet data connection On successful completion, the result + * message will return a SetupDataResult object containing the connection information. + * + * @param accessNetworkType + * Access network to use. Values is one of AccessNetworkConstants.AccessNetworkType. + * @param dataProfile + * Data profile for data call setup ++ * @param isRoaming ++ * Device is roaming or not + * @param allowRoaming + * Flag indicating data roaming is enabled or not + * @param reason +@@ -1855,9 +1923,9 @@ public interface CommandsInterface { + * @param result + * Callback message + */ +- void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean allowRoaming, +- int reason, LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, +- TrafficDescriptor trafficDescriptor, ++ void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, ++ boolean allowRoaming, int reason, LinkProperties linkProperties, int pduSessionId, ++ NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, + boolean matchAllRuleAllowed, Message result); + + /** +@@ -1918,6 +1986,22 @@ public interface CommandsInterface { + @UnsupportedAppUsage + public void getIccCardStatus(Message result); + ++ /** ++ * Request the status of all the physical UICC slots. ++ * ++ * @param result Callback message containing a {@link java.util.ArrayList} of ++ * {@link com.android.internal.telephony.uicc.IccSlotStatus} instances for all the slots. ++ */ ++ void getIccSlotsStatus(Message result); ++ ++ /** ++ * Set the mapping from logical slots to physical slots. ++ * ++ * @param physicalSlots Mapping from logical slots to physical slots. ++ * @param result Callback message is empty on completion. ++ */ ++ void setLogicalToPhysicalSlotMapping(int[] physicalSlots, Message result); ++ + /** + * Request the SIM application on the UICC to perform authentication + * challenge/response algorithm. The data string and challenge response are +@@ -1995,20 +2079,24 @@ public interface CommandsInterface { + * + * @param dataProfile + * data profile for initial APN attach ++ * @param isRoaming ++ * indicating the device is roaming or not + * @param result + * callback message contains the information of SUCCESS/FAILURE + */ +- void setInitialAttachApn(DataProfile dataProfile, Message result); ++ void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming, Message result); + + /** + * Set data profiles in modem + * + * @param dps + * Array of the data profiles set to modem ++ * @param isRoaming ++ * Indicating if the device is roaming or not + * @param result + * callback message contains the information of SUCCESS/FAILURE + */ +- void setDataProfile(DataProfile[] dps, Message result); ++ void setDataProfile(DataProfile[] dps, boolean isRoaming, Message result); + + /** + * Notifiy that we are testing an emergency call +@@ -2172,6 +2260,15 @@ public interface CommandsInterface { + public void setUiccSubscription(int slotId, int appIndex, int subId, int subStatus, + Message result); + ++ /** ++ * Whether the device modem supports reporting the EID in either the slot or card status or ++ * through ATR. ++ * @return true if the modem supports EID. ++ */ ++ default boolean supportsEid() { ++ return false; ++ } ++ + /** + * Tells the modem if data is allowed or not. + * +@@ -2225,6 +2322,34 @@ public interface CommandsInterface { + */ + public void unregisterForRadioCapabilityChanged(Handler h); + ++ /** ++ * Start LCE (Link Capacity Estimation) service with a desired reporting interval. ++ * ++ * @param reportIntervalMs ++ * LCE info reporting interval (ms). ++ * ++ * @param result Callback message contains the current LCE status. ++ * {byte status, int actualIntervalMs} ++ */ ++ public void startLceService(int reportIntervalMs, boolean pullMode, Message result); ++ ++ /** ++ * Stop LCE service. ++ * ++ * @param result Callback message contains the current LCE status: ++ * {byte status, int actualIntervalMs} ++ * ++ */ ++ public void stopLceService(Message result); ++ ++ /** ++ * Pull LCE service for capacity data. ++ * ++ * @param result Callback message contains the capacity info: ++ * {int capacityKbps, byte confidenceLevel, byte lceSuspendedTemporarily} ++ */ ++ public void pullLceData(Message result); ++ + /** + * Register a LCE info listener. + * +diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java +index cf81125aab..176d2b9e34 100644 +--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java ++++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java +@@ -3150,6 +3150,7 @@ public class GsmCdmaPhone extends Phone { + + handleNullCipherEnabledChange(); + handleIdentifierDisclosureNotificationPreferenceChange(); ++ startLceAfterRadioIsAvailable(); + } + + private void handleRadioOn() { +@@ -4585,6 +4586,7 @@ public class GsmCdmaPhone extends Phone { + } else { + loge("deleteAndCreatePhone: newVoiceRadioTech=" + newVoiceRadioTech + + " is not CDMA or GSM (error) - aborting!"); ++ return; + } + } + +diff --git a/src/java/com/android/internal/telephony/Phone.java b/src/java/com/android/internal/telephony/Phone.java +index d94473824e..454377dca8 100644 +--- a/src/java/com/android/internal/telephony/Phone.java ++++ b/src/java/com/android/internal/telephony/Phone.java +@@ -220,6 +220,7 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { + private static final int EVENT_UNSOL_OEM_HOOK_RAW = 34; + protected static final int EVENT_GET_RADIO_CAPABILITY = 35; + protected static final int EVENT_SS = 36; ++ private static final int EVENT_CONFIG_LCE = 37; + private static final int EVENT_CHECK_FOR_NETWORK_AUTOMATIC = 38; + protected static final int EVENT_VOICE_RADIO_TECH_CHANGED = 39; + protected static final int EVENT_REQUEST_VOICE_RADIO_TECH_DONE = 40; +@@ -380,6 +381,9 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { + private final AtomicReference mRadioCapability = + new AtomicReference(); + ++ private static final int DEFAULT_REPORT_INTERVAL_MS = 200; ++ private static final boolean LCE_PULL_MODE = true; ++ private int mLceStatus = RILConstants.LCE_NOT_AVAILABLE; + protected TelephonyComponentFactory mTelephonyComponentFactory; + + private int mPreferredUsageSetting = SubscriptionManager.USAGE_SETTING_UNKNOWN; +@@ -664,6 +668,8 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { + if (getPhoneType() != PhoneConstants.PHONE_TYPE_SIP) { + mCi.registerForSrvccStateChanged(this, EVENT_SRVCC_STATE_CHANGED, null); + } ++ mCi.startLceService(DEFAULT_REPORT_INTERVAL_MS, LCE_PULL_MODE, ++ obtainMessage(EVENT_CONFIG_LCE)); + //Initialize Telephony Analytics + if (mFeatureFlags.enableTelephonyAnalytics()) { + mTelephonyAnalytics = new TelephonyAnalytics(this); +@@ -847,6 +853,16 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { + // deprecated, ignore + break; + ++ case EVENT_CONFIG_LCE: ++ ar = (AsyncResult) msg.obj; ++ if (ar.exception != null) { ++ Rlog.d(LOG_TAG, "config LCE service failed: " + ar.exception); ++ } else { ++ final ArrayList statusInfo = (ArrayList)ar.result; ++ mLceStatus = statusInfo.get(0); ++ } ++ break; ++ + case EVENT_CHECK_FOR_NETWORK_AUTOMATIC: { + onCheckForNetworkSelectionModeAutomatic(msg); + break; +@@ -2749,6 +2765,47 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { + mCi.queryAvailableBandMode(response); + } + ++ /** ++ * Invokes RIL_REQUEST_OEM_HOOK_RAW on RIL implementation. ++ * ++ * @param data The data for the request. ++ * @param response On success, ++ * (byte[])(((AsyncResult)response.obj).result) ++ * On failure, ++ * (((AsyncResult)response.obj).result) == null and ++ * (((AsyncResult)response.obj).exception) being an instance of ++ * com.android.internal.telephony.gsm.CommandException ++ * ++ * @see #invokeOemRilRequestRaw(byte[], android.os.Message) ++ * @deprecated OEM needs a vendor-extension hal and their apps should use that instead ++ */ ++ @UnsupportedAppUsage ++ @Deprecated ++ public void invokeOemRilRequestRaw(byte[] data, Message response) { ++ mCi.invokeOemRilRequestRaw(data, response); ++ } ++ ++ /** ++ * Invokes RIL_REQUEST_OEM_HOOK_Strings on RIL implementation. ++ * ++ * @param strings The strings to make available as the request data. ++ * @param response On success, "response" bytes is ++ * made available as: ++ * (String[])(((AsyncResult)response.obj).result). ++ * On failure, ++ * (((AsyncResult)response.obj).result) == null and ++ * (((AsyncResult)response.obj).exception) being an instance of ++ * com.android.internal.telephony.gsm.CommandException ++ * ++ * @see #invokeOemRilRequestStrings(java.lang.String[], android.os.Message) ++ * @deprecated OEM needs a vendor-extension hal and their apps should use that instead ++ */ ++ @UnsupportedAppUsage ++ @Deprecated ++ public void invokeOemRilRequestStrings(String[] strings, Message response) { ++ mCi.invokeOemRilRequestStrings(strings, response); ++ } ++ + /** + * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. + * Used for device configuration by some CDMA operators. +@@ -4514,6 +4571,13 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { + return false; + } + ++ /** ++ * Returns the status of Link Capacity Estimation (LCE) service. ++ */ ++ public int getLceStatus() { ++ return mLceStatus; ++ } ++ + /** + * Returns the modem activity information + */ +@@ -4521,6 +4585,15 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { + mCi.getModemActivityInfo(response, workSource); + } + ++ /** ++ * Starts LCE service after radio becomes available. ++ * LCE service state may get destroyed on the modem when radio becomes unavailable. ++ */ ++ public void startLceAfterRadioIsAvailable() { ++ mCi.startLceService(DEFAULT_REPORT_INTERVAL_MS, LCE_PULL_MODE, ++ obtainMessage(EVENT_CONFIG_LCE)); ++ } ++ + /** + * Control the data throttling at modem. + * +diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java +index d34201117a..2c6fbdaa91 100644 +--- a/src/java/com/android/internal/telephony/RIL.java ++++ b/src/java/com/android/internal/telephony/RIL.java +@@ -1287,6 +1287,16 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ @Override ++ public void getIccSlotsStatus(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ ++ @Override ++ public void setLogicalToPhysicalSlotMapping(int[] physicalSlots, Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ + @Override + public void supplyIccPin(String pin, Message result) { + supplyIccPinForApp(pin, null, result); +@@ -1476,7 +1486,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); + if (!canMakeRequest("supplySimDepersonalization", simProxy, result, +- RADIO_HAL_VERSION_1_5)) { ++ RADIO_HAL_VERSION_1_4)) { + return; + } + +@@ -1993,8 +2003,9 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + @Override +- public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean allowRoaming, +- int reason, LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, ++ public void setupDataCall(int accessNetworkType, DataProfile dataProfile, ++ boolean isRoaming /* unused */, boolean allowRoaming, int reason, ++ LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, + TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); + if (!canMakeRequest("setupDataCall", dataProxy, result, RADIO_HAL_VERSION_1_4)) { +@@ -2630,6 +2641,16 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ /** ++ * @deprecated ++ */ ++ @Override ++ @Deprecated ++ public void getPDPContextList(Message result) { ++ // TODO(b/280900995): remove this and references ++ getDataCallList(result); ++ } ++ + @Override + public void getDataCallList(Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +@@ -2648,6 +2669,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) ++ @Override ++ public void invokeOemRilRequestRaw(byte[] data, Message response) { ++ // TODO(b/280900995): remove this and references ++ } ++ ++ @Override ++ public void invokeOemRilRequestStrings(String[] strings, Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ + @Override + public void setSuppServiceNotifications(boolean enable, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +@@ -3738,7 +3770,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + @Override +- public void setInitialAttachApn(DataProfile dataProfile, Message result) { ++ public void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming /* unused */, ++ Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); + if (!canMakeRequest("setInitialAttachApn", dataProxy, result, RADIO_HAL_VERSION_1_4)) { + return; +@@ -4026,6 +4059,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ /** ++ * Whether the device modem supports reporting the EID in either the slot or card status or ++ * through ATR. ++ * @return true if the modem supports EID. ++ */ ++ @Override ++ public boolean supportsEid() { ++ // TODO(b/280900995): remove this and references ++ return true; ++ } ++ + @Override + public void setDataAllowed(boolean allowed, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +@@ -4090,7 +4134,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + @Override +- public void setDataProfile(DataProfile[] dps, Message result) { ++ public void setDataProfile(DataProfile[] dps, boolean isRoaming /* unused */, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); + if (!canMakeRequest("setDataProfile", dataProxy, result, RADIO_HAL_VERSION_1_4)) { + return; +@@ -4168,6 +4212,16 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ @Override ++ public void startLceService(int reportIntervalMs, boolean pullMode, Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ ++ @Override ++ public void stopLceService(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ + /** + * Control the data throttling at modem. + * +@@ -4200,6 +4254,22 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ /** ++ * This will only be called if the LCE service is started in PULL mode, which is ++ * only enabled when using Radio HAL versions 1.1 and earlier. ++ * ++ * It is still possible for vendors to override this behavior and use the 1.1 version ++ * of LCE; however, this is strongly discouraged and this functionality will be removed ++ * when HAL 1.x support is dropped. ++ * ++ * @deprecated HAL 1.2 and later use an always-on LCE that relies on indications. ++ */ ++ @Deprecated ++ @Override ++ public void pullLceData(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ + @Override + public void getModemActivityInfo(Message result, WorkSource workSource) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +@@ -4430,6 +4500,33 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ @Override ++ public void getIMEI(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ ++ @Override ++ public void getIMEISV(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ ++ /** ++ * @deprecated ++ */ ++ @Deprecated ++ @Override ++ public void getLastPdpFailCause(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ ++ /** ++ * The preferred new alternative to getLastPdpFailCause ++ */ ++ @Override ++ public void getLastDataCallFailCause(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ + /** + * Enable or disable uicc applications on the SIM. + * +@@ -4490,6 +4587,11 @@ public class RIL extends BaseCommands implements CommandsInterface { + getRadioServiceProxy(RadioSimProxy.class), null, RADIO_HAL_VERSION_1_5); + } + ++ @Override ++ public void resetRadio(Message result) { ++ // TODO(b/280900995): remove this and references ++ } ++ + /** + * {@inheritDoc} + */ +diff --git a/src/java/com/android/internal/telephony/data/CellularDataService.java b/src/java/com/android/internal/telephony/data/CellularDataService.java +index 80d6b531b9..c5923aae01 100644 +--- a/src/java/com/android/internal/telephony/data/CellularDataService.java ++++ b/src/java/com/android/internal/telephony/data/CellularDataService.java +@@ -167,7 +167,6 @@ public class CellularDataService extends DataService { + boolean isRoaming, boolean allowRoaming, int reason, LinkProperties linkProperties, + int pduSessionId, NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, + boolean matchAllRuleAllowed, DataServiceCallback callback) { +- // TODO: remove isRoaming parameter + if (DBG) log("setupDataCall " + getSlotIndex()); + + Message message = null; +@@ -178,9 +177,9 @@ public class CellularDataService extends DataService { + mCallbackMap.put(message, callback); + } + +- mPhone.mCi.setupDataCall(accessNetworkType, dataProfile, allowRoaming, reason, +- linkProperties, pduSessionId, sliceInfo, trafficDescriptor, matchAllRuleAllowed, +- message); ++ mPhone.mCi.setupDataCall(accessNetworkType, dataProfile, isRoaming, allowRoaming, ++ reason, linkProperties, pduSessionId, sliceInfo, trafficDescriptor, ++ matchAllRuleAllowed, message); + } + + @Override +@@ -200,8 +199,7 @@ public class CellularDataService extends DataService { + + @Override + public void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming, +- DataServiceCallback callback) { +- // TODO: remove isRoaming parameter ++ DataServiceCallback callback) { + if (DBG) log("setInitialAttachApn " + getSlotIndex()); + + Message message = null; +@@ -212,13 +210,12 @@ public class CellularDataService extends DataService { + mCallbackMap.put(message, callback); + } + +- mPhone.mCi.setInitialAttachApn(dataProfile, message); ++ mPhone.mCi.setInitialAttachApn(dataProfile, isRoaming, message); + } + + @Override + public void setDataProfile(List dps, boolean isRoaming, +- DataServiceCallback callback) { +- // TODO: remove isRoaming parameter ++ DataServiceCallback callback) { + if (DBG) log("setDataProfile " + getSlotIndex()); + + Message message = null; +@@ -229,7 +226,7 @@ public class CellularDataService extends DataService { + mCallbackMap.put(message, callback); + } + +- mPhone.mCi.setDataProfile(dps.toArray(new DataProfile[dps.size()]), message); ++ mPhone.mCi.setDataProfile(dps.toArray(new DataProfile[dps.size()]), isRoaming, message); + } + + @Override +diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCommandInterface.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCommandInterface.java +index a7a9129196..71257636ef 100644 +--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCommandInterface.java ++++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCommandInterface.java +@@ -56,6 +56,14 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + public void getIccCardStatus(Message result) { + } + ++ @Override ++ public void getIccSlotsStatus(Message result) { ++ } ++ ++ @Override ++ public void setLogicalToPhysicalSlotMapping(int[] physicalSlots, Message result) { ++ } ++ + @Override + public void supplyIccPin(String pin, Message result) { + } +@@ -98,6 +106,10 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + public void getCurrentCalls(Message result) { + } + ++ @Override ++ @Deprecated public void getPDPContextList(Message result) { ++ } ++ + @Override + public void getDataCallList(Message result) { + } +@@ -121,6 +133,14 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + public void getIMSIForApp(String aid, Message result) { + } + ++ @Override ++ public void getIMEI(Message result) { ++ } ++ ++ @Override ++ public void getIMEISV(Message result) { ++ } ++ + @Override + public void hangupConnection (int gsmIndex, Message result) { + } +@@ -169,6 +189,15 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + public void getLastCallFailCause (Message result) { + } + ++ @Deprecated ++ @Override ++ public void getLastPdpFailCause (Message result) { ++ } ++ ++ @Override ++ public void getLastDataCallFailCause (Message result) { ++ } ++ + @Override + public void setMute (boolean enableMute, Message response) { + } +@@ -257,9 +286,10 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + } + + @Override +- public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean allowRoaming, +- int reason, LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, +- TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result) { ++ public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, ++ boolean allowRoaming, int reason, LinkProperties linkProperties, int pduSessionId, ++ NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, ++ boolean matchAllRuleAllowed, Message result) { + } + + @Override +@@ -385,6 +415,18 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + public void cancelPendingUssd (Message response) { + } + ++ @Override ++ public void resetRadio(Message result) { ++ } ++ ++ @Override ++ public void invokeOemRilRequestRaw(byte[] data, Message response) { ++ } ++ ++ @Override ++ public void invokeOemRilRequestStrings(String[] strings, Message response) { ++ } ++ + @Override + public void setBandMode (int bandMode, Message response) { + } +@@ -554,11 +596,11 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + } + + @Override +- public void setInitialAttachApn(DataProfile dataProfile, Message result) { ++ public void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming, Message result) { + } + + @Override +- public void setDataProfile(DataProfile[] dps, Message result) { ++ public void setDataProfile(DataProfile[] dps, boolean isRoaming, Message result) { + } + + @Override +@@ -597,6 +639,18 @@ class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface + public void getRadioCapability(Message response) { + } + ++ @Override ++ public void startLceService(int reportIntervalMs, boolean pullMode, Message result) { ++ } ++ ++ @Override ++ public void stopLceService(Message result) { ++ } ++ ++ @Override ++ public void pullLceData(Message result) { ++ } ++ + @Override + public void setCarrierInfoForImsiEncryption(ImsiEncryptionInfo imsiEncryptionInfo, + Message result) { +diff --git a/src/java/com/android/internal/telephony/uicc/UiccController.java b/src/java/com/android/internal/telephony/uicc/UiccController.java +index 0459bf676e..ec35774eda 100644 +--- a/src/java/com/android/internal/telephony/uicc/UiccController.java ++++ b/src/java/com/android/internal/telephony/uicc/UiccController.java +@@ -601,7 +601,7 @@ public class UiccController extends Handler { + if (phoneId == 0) { + if (DBG) { + log("Received EVENT_RADIO_AVAILABLE/EVENT_RADIO_ON for phoneId 0, " +- + "calling getSimSlotsStatus"); ++ + "calling getIccSlotsStatus"); + } + mRadioConfig.getSimSlotsStatus(obtainMessage(EVENT_GET_SLOT_STATUS_DONE, + phoneId)); +@@ -1045,6 +1045,11 @@ public class UiccController extends Handler { + slotId = index; + } + ++ if (!mCis[0].supportsEid()) { ++ // we will never get EID from the HAL, so set mDefaultEuiccCardId to UNSUPPORTED_CARD_ID ++ if (DBG) log("eid is not supported"); ++ mDefaultEuiccCardId = UNSUPPORTED_CARD_ID; ++ } + mPhoneIdToSlotId[index] = slotId; + + if (VDBG) logPhoneIdToSlotIdMapping(); +diff --git a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java +index 935da5ac7b..d36dcaeac0 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java +@@ -984,6 +984,9 @@ public class GsmCdmaPhoneTest extends TelephonyTest { + verify(mSimulatedCommandsVerifier).getBasebandVersion(nullable(Message.class)); + verify(mSimulatedCommandsVerifier).getDeviceIdentity(nullable(Message.class)); + verify(mSimulatedCommandsVerifier).getRadioCapability(nullable(Message.class)); ++ // once as part of constructor, and once on radio available ++ verify(mSimulatedCommandsVerifier, times(2)).startLceService(anyInt(), anyBoolean(), ++ nullable(Message.class)); + + // EVENT_RADIO_ON + verify(mSimulatedCommandsVerifier).getVoiceRadioTechnology(nullable(Message.class)); +@@ -1006,6 +1009,8 @@ public class GsmCdmaPhoneTest extends TelephonyTest { + // EVENT_RADIO_AVAILABLE + verify(mSimulatedCommandsVerifier, times(2)).getBasebandVersion(nullable(Message.class)); + verify(mSimulatedCommandsVerifier, times(2)).getDeviceIdentity(nullable(Message.class)); ++ verify(mSimulatedCommandsVerifier, times(3)).startLceService(anyInt(), anyBoolean(), ++ nullable(Message.class)); + + // EVENT_RADIO_ON + verify(mSimulatedCommandsVerifier, times(2)).getVoiceRadioTechnology( +diff --git a/tests/telephonytests/src/com/android/internal/telephony/RILTest.java b/tests/telephonytests/src/com/android/internal/telephony/RILTest.java +index bfe9649e78..b285f0f8d2 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/RILTest.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/RILTest.java +@@ -64,6 +64,7 @@ import static com.android.internal.telephony.RILConstants.RIL_REQUEST_NV_READ_IT + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_NV_RESET_CONFIG; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_NV_WRITE_ITEM; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_OPERATOR; ++import static com.android.internal.telephony.RILConstants.RIL_REQUEST_PULL_LCEDATA; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_RADIO_POWER; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_REPORT_SMS_MEMORY_STATUS; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING; +@@ -81,8 +82,10 @@ import static com.android.internal.telephony.RILConstants.RIL_REQUEST_SIGNAL_STR + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_SIM_AUTHENTICATION; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_SIM_CLOSE_CHANNEL; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_SIM_OPEN_CHANNEL; ++import static com.android.internal.telephony.RILConstants.RIL_REQUEST_START_LCE; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_START_NETWORK_SCAN; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM; ++import static com.android.internal.telephony.RILConstants.RIL_REQUEST_STOP_LCE; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_UDUB; + import static com.android.internal.telephony.RILConstants.RIL_REQUEST_VOICE_RADIO_TECH; +@@ -114,6 +117,7 @@ import android.content.Context; + import android.content.pm.ApplicationInfo; + import android.hardware.radio.V1_0.Carrier; + import android.hardware.radio.V1_0.CdmaSmsMessage; ++import android.hardware.radio.V1_0.DataProfileInfo; + import android.hardware.radio.V1_0.GsmSmsMessage; + import android.hardware.radio.V1_0.ImsSmsMessage; + import android.hardware.radio.V1_0.NvWriteItem; +@@ -497,6 +501,7 @@ public class RILTest extends TelephonyTest { + @FlakyTest + @Test + public void testSupplySimDepersonalization() throws Exception { ++ + String controlKey = "1234"; + PersoSubState persoType = PersoSubState.PERSOSUBSTATE_SIM_NETWORK_PUK; + +@@ -515,7 +520,11 @@ public class RILTest extends TelephonyTest { + mRILUnderTest.supplySimDepersonalization(persoType, controlKey, obtainMessage()); + verify(mRadioProxy).supplySimDepersonalization( + mSerialNumberCaptor.capture(), +- RILUtils.convertToHalPersoType(persoType), ++ eq((int) invokeMethod( ++ mRILInstance, ++ "convertPersoTypeToHalPersoType", ++ new Class[] {PersoSubState.class}, ++ new Object[] {persoType})), + eq(controlKey)); + verifyRILResponse( + mRILUnderTest, +@@ -549,7 +558,11 @@ public class RILTest extends TelephonyTest { + mRILUnderTest.supplySimDepersonalization(persoType, controlKey, obtainMessage()); + verify(mRadioProxy).supplySimDepersonalization( + mSerialNumberCaptor.capture(), +- RILUtils.convertToHalPersoType(persoType), ++ eq((int) invokeMethod( ++ mRILInstance, ++ "convertPersoTypeToHalPersoType", ++ new Class[] {PersoSubState.class}, ++ new Object[] {persoType})), + eq(controlKey)); + verifyRILResponse( + mRILUnderTest, +@@ -1143,11 +1156,18 @@ public class RILTest extends TelephonyTest { + .setApnSetting(apnSetting) + .setPreferred(false) + .build(); ++ boolean isRoaming = false; + +- mRILUnderTest.setInitialAttachApn(dataProfile, obtainMessage()); +- verify(mRadioProxy).setInitialAttachApn_1_4( ++ mRILUnderTest.setInitialAttachApn(dataProfile, isRoaming, obtainMessage()); ++ verify(mRadioProxy).setInitialAttachApn( + mSerialNumberCaptor.capture(), +- eq(RILUtils.convertToHalDataProfile14(dataProfile))); ++ eq((DataProfileInfo) invokeMethod( ++ mRILInstance, ++ "convertToHalDataProfile10", ++ new Class[] {DataProfile.class}, ++ new Object[] {dataProfile})), ++ eq(dataProfile.isPersistent()), ++ eq(isRoaming)); + verifyRILResponse( + mRILUnderTest, mSerialNumberCaptor.getValue(), RIL_REQUEST_SET_INITIAL_ATTACH_APN); + } +@@ -1288,7 +1308,11 @@ public class RILTest extends TelephonyTest { + mRILUnderTest.nvResetConfig(resetType, obtainMessage()); + verify(mRadioProxy).nvResetConfig( + mSerialNumberCaptor.capture(), +- RILUtils.convertToHalResetNvType(resetType)); ++ eq((Integer) invokeMethod( ++ mRILInstance, ++ "convertToHalResetNvType", ++ new Class[] {Integer.TYPE}, ++ new Object[] {resetType}))); + verifyRILResponse( + mRILUnderTest, mSerialNumberCaptor.getValue(), RIL_REQUEST_NV_RESET_CONFIG); + } +@@ -1341,6 +1365,33 @@ public class RILTest extends TelephonyTest { + mRILUnderTest, mSerialNumberCaptor.getValue(), RIL_REQUEST_GET_RADIO_CAPABILITY); + } + ++ @FlakyTest ++ @Test ++ public void testStartLceService() throws Exception { ++ int reportIntervalMs = 1000; ++ boolean pullMode = false; ++ mRILUnderTest.startLceService(reportIntervalMs, pullMode, obtainMessage()); ++ verify(mRadioProxy).startLceService( ++ mSerialNumberCaptor.capture(), eq(reportIntervalMs), eq(pullMode)); ++ verifyRILResponse(mRILUnderTest, mSerialNumberCaptor.getValue(), RIL_REQUEST_START_LCE); ++ } ++ ++ @FlakyTest ++ @Test ++ public void testStopLceService() throws Exception { ++ mRILUnderTest.stopLceService(obtainMessage()); ++ verify(mRadioProxy).stopLceService(mSerialNumberCaptor.capture()); ++ verifyRILResponse(mRILUnderTest, mSerialNumberCaptor.getValue(), RIL_REQUEST_STOP_LCE); ++ } ++ ++ @FlakyTest ++ @Test ++ public void testPullLceData() throws Exception { ++ mRILUnderTest.pullLceData(obtainMessage()); ++ verify(mRadioProxy).pullLceData(mSerialNumberCaptor.capture()); ++ verifyRILResponse(mRILUnderTest, mSerialNumberCaptor.getValue(), RIL_REQUEST_PULL_LCEDATA); ++ } ++ + @FlakyTest + @Test + public void testGetModemActivityInfo() throws Exception { +@@ -2580,8 +2631,9 @@ public class RILTest extends TelephonyTest { + .setPreferred(false) + .build(); + +- mRILUnderTest.setupDataCall(AccessNetworkConstants.AccessNetworkType.EUTRAN, dp, false, 0, +- null, DataCallResponse.PDU_SESSION_ID_NOT_SET, null, null, true, obtainMessage()); ++ mRILUnderTest.setupDataCall(AccessNetworkConstants.AccessNetworkType.EUTRAN, dp, false, ++ false, 0, null, DataCallResponse.PDU_SESSION_ID_NOT_SET, null, null, true, ++ obtainMessage()); + ArgumentCaptor dpiCaptor = ArgumentCaptor.forClass(DataProfile.class); + verify(mDataProxy).setupDataCall(mSerialNumberCaptor.capture(), + eq(AccessNetworkConstants.AccessNetworkType.EUTRAN), dpiCaptor.capture(), +diff --git a/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java b/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java +index 39c0cacf8a..e56b0a80a1 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java +@@ -77,6 +77,7 @@ import com.android.internal.telephony.uicc.AdnCapacity; + import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState; + import com.android.internal.telephony.uicc.IccCardStatus; + import com.android.internal.telephony.uicc.IccIoResult; ++import com.android.internal.telephony.uicc.IccSlotStatus; + import com.android.internal.telephony.uicc.ReceivedPhonebookRecords; + import com.android.internal.telephony.uicc.SimPhonebookRecord; + import com.android.telephony.Rlog; +@@ -89,6 +90,7 @@ import java.util.concurrent.atomic.AtomicInteger; + public class SimulatedCommands extends BaseCommands + implements CommandsInterface, SimulatedRadioControl { + private static final String LOG_TAG = "SimulatedCommands"; ++ private boolean mSupportsEid = true; + + private enum SimLockState { + NONE, +@@ -126,6 +128,9 @@ public class SimulatedCommands extends BaseCommands + // arrive and returning null to the callers. + public static final long ICC_SIM_CHALLENGE_TIMEOUT_MILLIS = 2500; + ++ private String mImei; ++ private String mImeiSv; ++ + //***** Instance Variables + + @UnsupportedAppUsage +@@ -163,6 +168,7 @@ public class SimulatedCommands extends BaseCommands + private boolean mShouldReturnCellInfo = true; + private int[] mImsRegState; + private IccCardStatus mIccCardStatus; ++ private IccSlotStatus mIccSlotStatus; + private IccIoResult mIccIoResultForApduLogicalChannel; + private int mChannelId = IccOpenLogicalChannelResponse.INVALID_CHANNEL; + +@@ -170,7 +176,7 @@ public class SimulatedCommands extends BaseCommands + private Object mVoiceRegStateResult; + + int mPausedResponseCount; +- ArrayList mPausedResponses = new ArrayList<>(); ++ ArrayList mPausedResponses = new ArrayList(); + + int mNextCallFailCause = CallFailCause.NORMAL_CLEARING; + +@@ -237,6 +243,26 @@ public class SimulatedCommands extends BaseCommands + } + } + ++ public void setIccSlotStatus(IccSlotStatus iccSlotStatus) { ++ mIccSlotStatus = iccSlotStatus; ++ } ++ ++ @Override ++ public void getIccSlotsStatus(Message result) { ++ SimulatedCommandsVerifier.getInstance().getIccSlotsStatus(result); ++ if (mIccSlotStatus != null) { ++ resultSuccess(result, mIccSlotStatus); ++ } else { ++ resultFail(result, null, ++ new CommandException(CommandException.Error.REQUEST_NOT_SUPPORTED)); ++ } ++ } ++ ++ @Override ++ public void setLogicalToPhysicalSlotMapping(int[] physicalSlots, Message result) { ++ unimplemented(result); ++ } ++ + @Override + public void supplyIccPin(String pin, Message result) { + if (mSimLockedState != SimLockState.REQUIRE_PIN) { +@@ -549,6 +575,15 @@ public class SimulatedCommands extends BaseCommands + } + } + ++ /** ++ * @deprecated ++ */ ++ @Deprecated ++ @Override ++ public void getPDPContextList(Message result) { ++ getDataCallList(result); ++ } ++ + /** + * returned message + * retMsg.obj = AsyncResult ar +@@ -625,6 +660,40 @@ public class SimulatedCommands extends BaseCommands + resultSuccess(result, "012345678901234"); + } + ++ public void setIMEI(String imei) { ++ mImei = imei; ++ } ++ ++ /** ++ * returned message ++ * retMsg.obj = AsyncResult ar ++ * ar.exception carries exception on failure ++ * ar.userObject contains the original value of result.obj ++ * ar.result is String containing IMEI on success ++ */ ++ @Override ++ public void getIMEI(Message result) { ++ SimulatedCommandsVerifier.getInstance().getIMEI(result); ++ resultSuccess(result, mImei != null ? mImei : FAKE_IMEI); ++ } ++ ++ public void setIMEISV(String imeisv) { ++ mImeiSv = imeisv; ++ } ++ ++ /** ++ * returned message ++ * retMsg.obj = AsyncResult ar ++ * ar.exception carries exception on failure ++ * ar.userObject contains the original value of result.obj ++ * ar.result is String containing IMEISV on success ++ */ ++ @Override ++ public void getIMEISV(Message result) { ++ SimulatedCommandsVerifier.getInstance().getIMEISV(result); ++ resultSuccess(result, mImeiSv != null ? mImeiSv : FAKE_IMEISV); ++ } ++ + /** + * Hang up one individual connection. + * returned message +@@ -832,6 +901,21 @@ public class SimulatedCommands extends BaseCommands + resultSuccess(result, mFailCause); + } + ++ /** ++ * @deprecated ++ */ ++ @Deprecated ++ @Override ++ public void getLastPdpFailCause (Message result) { ++ unimplemented(result); ++ } ++ ++ @Override ++ public void getLastDataCallFailCause(Message result) { ++ // ++ unimplemented(result); ++ } ++ + @Override + public void setMute (boolean enableMute, Message result) {unimplemented(result);} + +@@ -1128,13 +1212,14 @@ public class SimulatedCommands extends BaseCommands + } + + @Override +- public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean allowRoaming, +- int reason, LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, +- TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result) { ++ public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, ++ boolean allowRoaming, int reason, LinkProperties linkProperties, int pduSessionId, ++ NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, ++ boolean matchAllRuleAllowed, Message result) { + + SimulatedCommandsVerifier.getInstance().setupDataCall(accessNetworkType, dataProfile, +- allowRoaming, reason, linkProperties, pduSessionId, sliceInfo, trafficDescriptor, +- matchAllRuleAllowed, result); ++ isRoaming, allowRoaming, reason, linkProperties, pduSessionId, sliceInfo, ++ trafficDescriptor, matchAllRuleAllowed, result); + + if (mSetupDataCallResult == null) { + try { +@@ -1539,6 +1624,21 @@ public class SimulatedCommands extends BaseCommands + resultSuccess(response, null); + } + ++ ++ @Override ++ public void resetRadio(Message result) { ++ unimplemented(result); ++ } ++ ++ @Override ++ public void invokeOemRilRequestRaw(byte[] data, Message response) { ++ // Just echo back data ++ if (response != null) { ++ AsyncResult.forMessage(response).result = data; ++ response.sendToTarget(); ++ } ++ } ++ + @Override + public void setCarrierInfoForImsiEncryption(ImsiEncryptionInfo imsiEncryptionInfo, + Message response) { +@@ -1549,6 +1649,15 @@ public class SimulatedCommands extends BaseCommands + } + } + ++ @Override ++ public void invokeOemRilRequestStrings(String[] strings, Message response) { ++ // Just echo back data ++ if (response != null) { ++ AsyncResult.forMessage(response).result = strings; ++ response.sendToTarget(); ++ } ++ } ++ + //***** SimulatedRadioControl + + +@@ -2010,14 +2119,14 @@ public class SimulatedCommands extends BaseCommands + } + + @Override +- public void setInitialAttachApn(DataProfile dataProfile, Message result) { +- SimulatedCommandsVerifier.getInstance().setInitialAttachApn(dataProfile, result); ++ public void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming, Message result) { ++ SimulatedCommandsVerifier.getInstance().setInitialAttachApn(dataProfile, isRoaming, result); + resultSuccess(result, null); + } + + @Override +- public void setDataProfile(DataProfile[] dps, Message result) { +- SimulatedCommandsVerifier.getInstance().setDataProfile(dps, result); ++ public void setDataProfile(DataProfile[] dps, boolean isRoaming, Message result) { ++ SimulatedCommandsVerifier.getInstance().setDataProfile(dps, isRoaming, result); + resultSuccess(result, null); + } + +@@ -2121,6 +2230,22 @@ public class SimulatedCommands extends BaseCommands + setRadioState(TelephonyManager.RADIO_POWER_UNAVAILABLE, false /* forceNotifyRegistrants */); + } + ++ @Override ++ public void startLceService(int report_interval_ms, boolean pullMode, Message result) { ++ SimulatedCommandsVerifier.getInstance().startLceService(report_interval_ms, pullMode, ++ result); ++ } ++ ++ @Override ++ public void stopLceService(Message result) { ++ unimplemented(result); ++ } ++ ++ @Override ++ public void pullLceData(Message result) { ++ unimplemented(result); ++ } ++ + @Override + public void registerForLceInfo(Handler h, int what, Object obj) { + SimulatedCommandsVerifier.getInstance().registerForLceInfo(h, what, obj); +@@ -2439,6 +2564,15 @@ public class SimulatedCommands extends BaseCommands + new ReceivedPhonebookRecords(4, phonebookRecordInfoGroup), null)); + } + ++ public void setSupportsEid(boolean supportsEid) { ++ mSupportsEid = supportsEid; ++ } ++ ++ @Override ++ public boolean supportsEid() { ++ return mSupportsEid; ++ } ++ + @Override + public void getSimPhonebookCapacity(Message result) { + resultSuccess(result, new AdnCapacity(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); +diff --git a/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommandsVerifier.java b/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommandsVerifier.java +index 6fc56169f3..1883513218 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommandsVerifier.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommandsVerifier.java +@@ -687,6 +687,11 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + + } + ++ @Override ++ public void getPDPContextList(Message result) { ++ ++ } ++ + @Override + public void getDataCallList(Message result) { + +@@ -713,6 +718,16 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + + } + ++ @Override ++ public void getIMEI(Message result) { ++ ++ } ++ ++ @Override ++ public void getIMEISV(Message result) { ++ ++ } ++ + @Override + public void hangupConnection(int gsmIndex, Message result) { + +@@ -773,6 +788,16 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + + } + ++ @Override ++ public void getLastPdpFailCause(Message result) { ++ ++ } ++ ++ @Override ++ public void getLastDataCallFailCause(Message result) { ++ ++ } ++ + @Override + public void setMute(boolean enableMute, Message response) { + +@@ -1013,6 +1038,11 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + + } + ++ @Override ++ public void resetRadio(Message result) { ++ ++ } ++ + @Override + public void setBandMode(int bandMode, Message response) { + +@@ -1069,6 +1099,26 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + + } + ++ @Override ++ public void invokeOemRilRequestRaw(byte[] data, Message response) { ++ ++ } ++ ++ @Override ++ public void invokeOemRilRequestStrings(String[] strings, Message response) { ++ ++ } ++ ++ @Override ++ public void setOnUnsolOemHookRaw(Handler h, int what, Object obj) { ++ ++ } ++ ++ @Override ++ public void unSetOnUnsolOemHookRaw(Handler h) { ++ ++ } ++ + @Override + public void sendTerminalResponse(String contents, Message response) { + +@@ -1160,9 +1210,10 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + } + + @Override +- public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean allowRoaming, +- int reason, LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, +- TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result) { ++ public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, ++ boolean allowRoaming, int reason, LinkProperties linkProperties, int pduSessionId, ++ NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, ++ boolean matchAllRuleAllowed, Message result) { + } + + @Override +@@ -1195,6 +1246,14 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + + } + ++ @Override ++ public void getIccSlotsStatus(Message result) { ++ } ++ ++ @Override ++ public void setLogicalToPhysicalSlotMapping(int[] physicalSlots, Message result) { ++ } ++ + @Override + public void requestIccSimAuthentication(int authContext, String data, String aid, + Message response) { +@@ -1225,12 +1284,12 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + } + + @Override +- public void setInitialAttachApn(DataProfile dataProfile, Message result) { ++ public void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming, Message result) { + + } + + @Override +- public void setDataProfile(DataProfile[] dps, Message result) { ++ public void setDataProfile(DataProfile[] dps, boolean isRoaming, Message result) { + + } + +@@ -1318,6 +1377,21 @@ public class SimulatedCommandsVerifier implements CommandsInterface { + + } + ++ @Override ++ public void startLceService(int reportIntervalMs, boolean pullMode, Message result) { ++ ++ } ++ ++ @Override ++ public void stopLceService(Message result) { ++ ++ } ++ ++ @Override ++ public void pullLceData(Message result) { ++ ++ } ++ + @Override + public void registerForLceInfo(Handler h, int what, Object obj) { + +diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java +index 2ceca0e618..96162f712f 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java +@@ -155,7 +155,7 @@ public class DataServiceManagerTest extends TelephonyTest { + message); + waitAndVerifyResult(message, DataServiceCallback.RESULT_SUCCESS); + verify(mSimulatedCommandsVerifier).setupDataCall(anyInt(), any(DataProfile.class), +- anyBoolean(), anyInt(), any(), anyInt(), any(), any(), anyBoolean(), ++ anyBoolean(), anyBoolean(), anyInt(), any(), anyInt(), any(), any(), anyBoolean(), + any(Message.class)); + } + +@@ -168,7 +168,7 @@ public class DataServiceManagerTest extends TelephonyTest { + message); + waitAndVerifyResult(message, DataServiceCallback.RESULT_ERROR_ILLEGAL_STATE); + verify(mSimulatedCommandsVerifier, never()).setupDataCall(anyInt(), any(DataProfile.class), +- anyBoolean(), anyInt(), any(), anyInt(), any(), any(), anyBoolean(), ++ anyBoolean(), anyBoolean(), anyInt(), any(), anyInt(), any(), any(), anyBoolean(), + any(Message.class)); + } + +@@ -199,7 +199,7 @@ public class DataServiceManagerTest extends TelephonyTest { + mDataServiceManagerUT.setInitialAttachApn(mGeneralPurposeDataProfile, false, message); + waitAndVerifyResult(message, DataServiceCallback.RESULT_SUCCESS); + verify(mSimulatedCommandsVerifier).setInitialAttachApn(any(DataProfile.class), +- any(Message.class)); ++ anyBoolean(), any(Message.class)); + } + + @Test +@@ -209,7 +209,7 @@ public class DataServiceManagerTest extends TelephonyTest { + mDataServiceManagerUT.setInitialAttachApn(mGeneralPurposeDataProfile, false, message); + waitAndVerifyResult(message, DataServiceCallback.RESULT_ERROR_ILLEGAL_STATE); + verify(mSimulatedCommandsVerifier, never()).setInitialAttachApn(any(DataProfile.class), +- any(Message.class)); ++ anyBoolean(), any(Message.class)); + } + + @Test +@@ -218,7 +218,7 @@ public class DataServiceManagerTest extends TelephonyTest { + Message message = mHandler.obtainMessage(1234); + mDataServiceManagerUT.setDataProfile(List.of(mGeneralPurposeDataProfile), false, message); + waitAndVerifyResult(message, DataServiceCallback.RESULT_SUCCESS); +- verify(mSimulatedCommandsVerifier).setDataProfile(any(DataProfile[].class), ++ verify(mSimulatedCommandsVerifier).setDataProfile(any(DataProfile[].class), anyBoolean(), + any(Message.class)); + } + +@@ -229,7 +229,7 @@ public class DataServiceManagerTest extends TelephonyTest { + mDataServiceManagerUT.setDataProfile(List.of(mGeneralPurposeDataProfile), false, message); + waitAndVerifyResult(message, DataServiceCallback.RESULT_ERROR_ILLEGAL_STATE); + verify(mSimulatedCommandsVerifier, never()).setDataProfile(any(DataProfile[].class), +- any(Message.class)); ++ anyBoolean(), any(Message.class)); + } + + @Test +diff --git a/tests/telephonytests/src/com/android/internal/telephony/uicc/UiccControllerTest.java b/tests/telephonytests/src/com/android/internal/telephony/uicc/UiccControllerTest.java +index 9265a62ccb..2ab23f3f19 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/uicc/UiccControllerTest.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/uicc/UiccControllerTest.java +@@ -495,6 +495,40 @@ public class UiccControllerTest extends TelephonyTest { + assertEquals(uiccCardInfo, mUiccControllerUT.getAllUiccCardInfos().get(0)); + } + ++ @Test ++ public void testEidNotSupported() { ++ // Give UiccController a real context so it can use shared preferences ++ mUiccControllerUT.mContext = InstrumentationRegistry.getContext(); ++ ++ // Mock out UiccSlots ++ mUiccControllerUT.mUiccSlots[0] = mMockSlot; ++ doReturn(true).when(mMockSlot).isEuicc(); ++ doReturn(mMockEuiccCard).when(mMockSlot).getUiccCard(); ++ doReturn(null).when(mMockEuiccCard).getEid(); ++ ++ // simulate card status loaded so that the UiccController sets the card ID ++ IccCardStatus ics = new IccCardStatus(); ++ ics.setCardState(1 /* present */); ++ ics.setUniversalPinState(3 /* disabled */); ++ ics.atr = "abcdef0123456789abcdef"; ++ ics.iccid = "123451234567890"; ++ ics.mSlotPortMapping = new IccSlotPortMapping(); ++ ics.mSlotPortMapping.mPhysicalSlotIndex = UiccController.INVALID_SLOT_ID; ++ // make it seem like EID is not supported by setting physical slot = -1 like on HAL < 1.2 ++ ++ mSimulatedCommands.setSupportsEid(false); ++ ++ AsyncResult ar = new AsyncResult(null, ics, null); ++ Message msg = Message.obtain(mUiccControllerUT, EVENT_GET_ICC_STATUS_DONE, ar); ++ mUiccControllerUT.handleMessage(msg); ++ ++ // assert that the default eUICC card Id is UNSUPPORTED_CARD_ID ++ assertEquals(TelephonyManager.UNSUPPORTED_CARD_ID, ++ mUiccControllerUT.getCardIdForDefaultEuicc()); ++ ++ mSimulatedCommands.setSupportsEid(true); ++ } ++ + /** + * The default eUICC should not be the removable slot if there is a built-in eUICC. + */ +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0006-Revert-Remove-deprecated-HAL-versions-for-IRadio.patch b/patches_treble_td/platform_frameworks_opt_telephony/0006-Revert-Remove-deprecated-HAL-versions-for-IRadio.patch new file mode 100644 index 0000000..20d88ce --- /dev/null +++ b/patches_treble_td/platform_frameworks_opt_telephony/0006-Revert-Remove-deprecated-HAL-versions-for-IRadio.patch @@ -0,0 +1,8469 @@ +From 3cbbcd5899aaf29fd03367e88813208c69e52d9b Mon Sep 17 00:00:00 2001 +From: Daniel Zhang +Date: Sat, 30 Mar 2024 14:44:57 -0400 +Subject: [PATCH 06/14] Revert "Remove deprecated HAL versions for IRadio" + +This reverts commit 50fc709cc1d87e5d1e6d75c856bc4b6894070a39. + +Change-Id: Ia3aa57286fb5cce42065f7db8133fa3caf1fcd61 +--- + Android.bp | 1 + + .../telephony/CellularNetworkService.java | 105 +- + .../internal/telephony/NetworkIndication.java | 5 +- + .../internal/telephony/NetworkResponse.java | 19 + + .../com/android/internal/telephony/RIL.java | 2374 +++++++++++------ + .../android/internal/telephony/RILUtils.java | 399 ++- + .../internal/telephony/RadioConfig.java | 9 +- + .../internal/telephony/RadioConfigProxy.java | 22 +- + .../internal/telephony/RadioDataProxy.java | 88 +- + .../internal/telephony/RadioIndication.java | 103 +- + .../telephony/RadioMessagingProxy.java | 4 +- + .../internal/telephony/RadioModemProxy.java | 12 +- + .../internal/telephony/RadioNetworkProxy.java | 92 +- + .../internal/telephony/RadioResponse.java | 327 ++- + .../internal/telephony/RadioServiceProxy.java | 10 +- + .../internal/telephony/RadioSimProxy.java | 80 +- + .../internal/telephony/RadioVoiceProxy.java | 8 +- + .../android/internal/telephony/RILTest.java | 1382 +++++----- + .../internal/telephony/SimulatedCommands.java | 31 +- + 19 files changed, 3395 insertions(+), 1676 deletions(-) + +diff --git a/Android.bp b/Android.bp +index 121236aa4d..a94ae98208 100644 +--- a/Android.bp ++++ b/Android.bp +@@ -100,6 +100,7 @@ java_library { + "android.hardware.radio.config-V1.1-java-shallow", + "android.hardware.radio.config-V1.2-java-shallow", + "android.hardware.radio.config-V1.3-java-shallow", ++ "android.hardware.radio.deprecated-V1.0-java-shallow", + "ecc-protos-lite", + "libphonenumber-nogeocoder", + "PlatformProperties", +diff --git a/src/java/com/android/internal/telephony/CellularNetworkService.java b/src/java/com/android/internal/telephony/CellularNetworkService.java +index bff1d41327..41cbb662e4 100644 +--- a/src/java/com/android/internal/telephony/CellularNetworkService.java ++++ b/src/java/com/android/internal/telephony/CellularNetworkService.java +@@ -286,6 +286,27 @@ public class CellularNetworkService extends NetworkService { + } else if (result instanceof android.hardware.radio.V1_5.RegStateResult) { + return getNetworkRegistrationInfo(domain, transportType, + (android.hardware.radio.V1_5.RegStateResult) result); ++ } else if (result instanceof android.hardware.radio.V1_0.VoiceRegStateResult) { ++ android.hardware.radio.V1_0.VoiceRegStateResult voiceRegState = ++ (android.hardware.radio.V1_0.VoiceRegStateResult) result; ++ int regState = getRegStateFromHalRegState(voiceRegState.regState); ++ int networkType = ServiceState.rilRadioTechnologyToNetworkType(voiceRegState.rat); ++ int reasonForDenial = voiceRegState.reasonForDenial; ++ boolean emergencyOnly = isEmergencyOnly(voiceRegState.regState); ++ boolean cssSupported = voiceRegState.cssSupported; ++ int roamingIndicator = voiceRegState.roamingIndicator; ++ int systemIsInPrl = voiceRegState.systemIsInPrl; ++ int defaultRoamingIndicator = voiceRegState.defaultRoamingIndicator; ++ List availableServices = getAvailableServices( ++ regState, domain, emergencyOnly); ++ CellIdentity cellIdentity = ++ RILUtils.convertHalCellIdentity(voiceRegState.cellIdentity); ++ final String rplmn = getPlmnFromCellIdentity(cellIdentity); ++ ++ return new NetworkRegistrationInfo(domain, transportType, regState, ++ networkType, reasonForDenial, emergencyOnly, availableServices, ++ cellIdentity, rplmn, cssSupported, roamingIndicator, systemIsInPrl, ++ defaultRoamingIndicator); + } else if (result instanceof android.hardware.radio.V1_2.VoiceRegStateResult) { + android.hardware.radio.V1_2.VoiceRegStateResult voiceRegState = + (android.hardware.radio.V1_2.VoiceRegStateResult) result; +@@ -316,6 +337,20 @@ public class CellularNetworkService extends NetworkService { + final int domain = NetworkRegistrationInfo.DOMAIN_PS; + final int transportType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN; + ++ int regState = NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN; ++ int networkType = TelephonyManager.NETWORK_TYPE_UNKNOWN; ++ int reasonForDenial = 0; ++ boolean emergencyOnly = false; ++ int maxDataCalls = 0; ++ CellIdentity cellIdentity; ++ boolean isEndcAvailable = false; ++ boolean isNrAvailable = false; ++ boolean isDcNrRestricted = false; ++ ++ LteVopsSupportInfo lteVopsSupportInfo = ++ new LteVopsSupportInfo(LteVopsSupportInfo.LTE_STATUS_NOT_AVAILABLE, ++ LteVopsSupportInfo.LTE_STATUS_NOT_AVAILABLE); ++ + if (result instanceof android.hardware.radio.network.RegStateResult) { + return getNetworkRegistrationInfoAidl(domain, transportType, + (android.hardware.radio.network.RegStateResult) result); +@@ -325,46 +360,66 @@ public class CellularNetworkService extends NetworkService { + } else if (result instanceof android.hardware.radio.V1_5.RegStateResult) { + return getNetworkRegistrationInfo(domain, transportType, + (android.hardware.radio.V1_5.RegStateResult) result); ++ } else if (result instanceof android.hardware.radio.V1_0.DataRegStateResult) { ++ android.hardware.radio.V1_0.DataRegStateResult dataRegState = ++ (android.hardware.radio.V1_0.DataRegStateResult) result; ++ regState = getRegStateFromHalRegState(dataRegState.regState); ++ networkType = ServiceState.rilRadioTechnologyToNetworkType(dataRegState.rat); ++ reasonForDenial = dataRegState.reasonDataDenied; ++ emergencyOnly = isEmergencyOnly(dataRegState.regState); ++ maxDataCalls = dataRegState.maxDataCalls; ++ cellIdentity = RILUtils.convertHalCellIdentity(dataRegState.cellIdentity); ++ } else if (result instanceof android.hardware.radio.V1_2.DataRegStateResult) { ++ android.hardware.radio.V1_2.DataRegStateResult dataRegState = ++ (android.hardware.radio.V1_2.DataRegStateResult) result; ++ regState = getRegStateFromHalRegState(dataRegState.regState); ++ networkType = ServiceState.rilRadioTechnologyToNetworkType(dataRegState.rat); ++ reasonForDenial = dataRegState.reasonDataDenied; ++ emergencyOnly = isEmergencyOnly(dataRegState.regState); ++ maxDataCalls = dataRegState.maxDataCalls; ++ cellIdentity = RILUtils.convertHalCellIdentity(dataRegState.cellIdentity); + } else if (result instanceof android.hardware.radio.V1_4.DataRegStateResult) { + android.hardware.radio.V1_4.DataRegStateResult dataRegState = + (android.hardware.radio.V1_4.DataRegStateResult) result; +- LteVopsSupportInfo lteVopsSupportInfo; ++ regState = getRegStateFromHalRegState(dataRegState.base.regState); ++ networkType = ServiceState.rilRadioTechnologyToNetworkType(dataRegState.base.rat); ++ ++ reasonForDenial = dataRegState.base.reasonDataDenied; ++ emergencyOnly = isEmergencyOnly(dataRegState.base.regState); ++ maxDataCalls = dataRegState.base.maxDataCalls; ++ cellIdentity = RILUtils.convertHalCellIdentity(dataRegState.base.cellIdentity); ++ android.hardware.radio.V1_4.NrIndicators nrIndicators = dataRegState.nrIndicators; ++ + // Check for lteVopsInfo only if its initialized and RAT is EUTRAN + if (dataRegState.vopsInfo.getDiscriminator() == hidl_discriminator.lteVopsInfo + && ServiceState.rilRadioTechnologyToAccessNetworkType(dataRegState.base.rat) + == AccessNetworkType.EUTRAN) { + android.hardware.radio.V1_4.LteVopsInfo vopsSupport = + dataRegState.vopsInfo.lteVopsInfo(); +- lteVopsSupportInfo = convertHalLteVopsSupportInfo( +- vopsSupport.isVopsSupported, vopsSupport.isEmcBearerSupported); ++ lteVopsSupportInfo = convertHalLteVopsSupportInfo(vopsSupport.isVopsSupported, ++ vopsSupport.isEmcBearerSupported); + } else { +- lteVopsSupportInfo = new LteVopsSupportInfo( +- LteVopsSupportInfo.LTE_STATUS_NOT_AVAILABLE, +- LteVopsSupportInfo.LTE_STATUS_NOT_AVAILABLE); ++ lteVopsSupportInfo = ++ new LteVopsSupportInfo(LteVopsSupportInfo.LTE_STATUS_NOT_AVAILABLE, ++ LteVopsSupportInfo.LTE_STATUS_NOT_AVAILABLE); + } +- int regState = getRegStateFromHalRegState(dataRegState.base.regState); +- int networkType = +- ServiceState.rilRadioTechnologyToNetworkType(dataRegState.base.rat); +- int reasonForDenial = dataRegState.base.reasonDataDenied; +- boolean emergencyOnly = isEmergencyOnly(dataRegState.base.regState); +- int maxDataCalls = dataRegState.base.maxDataCalls; +- CellIdentity cellIdentity = +- RILUtils.convertHalCellIdentity(dataRegState.base.cellIdentity); +- android.hardware.radio.V1_4.NrIndicators nrIndicators = dataRegState.nrIndicators; +- boolean isEndcAvailable = nrIndicators.isEndcAvailable; +- boolean isNrAvailable = nrIndicators.isNrAvailable; +- boolean isDcNrRestricted = nrIndicators.isDcNrRestricted; +- String rplmn = getPlmnFromCellIdentity(cellIdentity); +- List availableServices = getAvailableServices( +- regState, domain, emergencyOnly); +- return new NetworkRegistrationInfo(domain, transportType, regState, networkType, +- reasonForDenial, emergencyOnly, availableServices, cellIdentity, rplmn, +- maxDataCalls, isDcNrRestricted, isNrAvailable, isEndcAvailable, +- lteVopsSupportInfo); ++ ++ isEndcAvailable = nrIndicators.isEndcAvailable; ++ isNrAvailable = nrIndicators.isNrAvailable; ++ isDcNrRestricted = nrIndicators.isDcNrRestricted; + } else { + loge("Unknown type of DataRegStateResult " + result); + return null; + } ++ ++ String rplmn = getPlmnFromCellIdentity(cellIdentity); ++ List availableServices = getAvailableServices( ++ regState, domain, emergencyOnly); ++ ++ return new NetworkRegistrationInfo(domain, transportType, regState, networkType, ++ reasonForDenial, emergencyOnly, availableServices, cellIdentity, rplmn, ++ maxDataCalls, isDcNrRestricted, isNrAvailable, isEndcAvailable, ++ lteVopsSupportInfo); + } + + private @NonNull NetworkRegistrationInfo getNetworkRegistrationInfo( +diff --git a/src/java/com/android/internal/telephony/NetworkIndication.java b/src/java/com/android/internal/telephony/NetworkIndication.java +index d86c09090a..091783d3d2 100644 +--- a/src/java/com/android/internal/telephony/NetworkIndication.java ++++ b/src/java/com/android/internal/telephony/NetworkIndication.java +@@ -131,7 +131,7 @@ public class NetworkIndication extends IRadioNetworkIndication.Stub { + android.hardware.radio.network.LinkCapacityEstimate lce) { + mRil.processIndication(HAL_SERVICE_NETWORK, indicationType); + +- List response = RILUtils.convertHalLinkCapacityEstimate(lce); ++ List response = RILUtils.convertHalLceData(lce); + + if (mRil.isLogOrTrace()) mRil.unsljLogRet(RIL_UNSOL_LCEDATA_RECV, response); + +@@ -210,8 +210,9 @@ public class NetworkIndication extends IRadioNetworkIndication.Stub { + android.hardware.radio.network.SignalStrength signalStrength) { + mRil.processIndication(HAL_SERVICE_NETWORK, indicationType); + +- SignalStrength ss = RILUtils.convertHalSignalStrength(signalStrength); ++ SignalStrength ssInitial = RILUtils.convertHalSignalStrength(signalStrength); + ++ SignalStrength ss = mRil.fixupSignalStrength10(ssInitial); + // Note this is set to "verbose" because it happens frequently + if (mRil.isLogvOrTrace()) mRil.unsljLogvRet(RIL_UNSOL_SIGNAL_STRENGTH, ss); + +diff --git a/src/java/com/android/internal/telephony/NetworkResponse.java b/src/java/com/android/internal/telephony/NetworkResponse.java +index eb2cd16cca..7501e50f56 100644 +--- a/src/java/com/android/internal/telephony/NetworkResponse.java ++++ b/src/java/com/android/internal/telephony/NetworkResponse.java +@@ -25,10 +25,12 @@ import android.os.AsyncResult; + import android.telephony.BarringInfo; + import android.telephony.CellInfo; + import android.telephony.EmergencyRegResult; ++import android.telephony.LinkCapacityEstimate; + import android.telephony.RadioAccessSpecifier; + import android.telephony.SignalStrength; + + import java.util.ArrayList; ++import java.util.List; + + /** + * Interface declaring response functions to solicited radio requests for network APIs. +@@ -265,6 +267,23 @@ public class NetworkResponse extends IRadioNetworkResponse.Stub { + } + } + ++ /** ++ * @param responseInfo Response info struct containing response type, serial no. and error ++ * @param lceInfo LceDataInfo indicating LCE data ++ */ ++ public void pullLceDataResponse(RadioResponseInfo responseInfo, ++ android.hardware.radio.network.LceDataInfo lceInfo) { ++ RILRequest rr = mRil.processResponse(HAL_SERVICE_NETWORK, responseInfo); ++ ++ if (rr != null) { ++ List ret = RILUtils.convertHalLceData(lceInfo); ++ if (responseInfo.error == RadioError.NONE) { ++ RadioResponse.sendMessageResponse(rr.mResult, ret); ++ } ++ mRil.processResponseDone(rr, responseInfo, ret); ++ } ++ } ++ + /** + * @param responseInfo Response info struct containing response type, serial no. and error + */ +diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java +index 2c6fbdaa91..3a8ce141ae 100644 +--- a/src/java/com/android/internal/telephony/RIL.java ++++ b/src/java/com/android/internal/telephony/RIL.java +@@ -59,6 +59,13 @@ import android.telephony.AccessNetworkConstants; + import android.telephony.AccessNetworkConstants.AccessNetworkType; + import android.telephony.BarringInfo; + import android.telephony.CarrierRestrictionRules; ++import android.telephony.CellInfo; ++import android.telephony.CellSignalStrengthCdma; ++import android.telephony.CellSignalStrengthGsm; ++import android.telephony.CellSignalStrengthLte; ++import android.telephony.CellSignalStrengthNr; ++import android.telephony.CellSignalStrengthTdscdma; ++import android.telephony.CellSignalStrengthWcdma; + import android.telephony.ClientRequestStats; + import android.telephony.DomainSelectionService; + import android.telephony.ImsiEncryptionInfo; +@@ -67,6 +74,8 @@ import android.telephony.NeighboringCellInfo; + import android.telephony.NetworkScanRequest; + import android.telephony.RadioAccessFamily; + import android.telephony.RadioAccessSpecifier; ++import android.telephony.ServiceState; ++import android.telephony.SignalStrength; + import android.telephony.SignalThresholdInfo; + import android.telephony.SubscriptionManager; + import android.telephony.TelephonyHistogram; +@@ -116,6 +125,7 @@ import java.util.concurrent.atomic.AtomicLong; + + /** + * RIL implementation of the CommandsInterface. ++ * + * {@hide} + */ + public class RIL extends BaseCommands implements CommandsInterface { +@@ -128,7 +138,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + static final int RIL_HISTOGRAM_BUCKET_COUNT = 5; + + /** +- * Wake lock timeout should be longer than the longest timeout in the vendor ril. ++ * Wake lock timeout should be longer than the longest timeout in ++ * the vendor ril. + */ + private static final int DEFAULT_WAKE_LOCK_TIMEOUT_MS = 60000; + +@@ -149,6 +160,18 @@ public class RIL extends BaseCommands implements CommandsInterface { + /** @hide */ + public static final HalVersion RADIO_HAL_VERSION_UNKNOWN = HalVersion.UNKNOWN; + ++ /** @hide */ ++ public static final HalVersion RADIO_HAL_VERSION_1_0 = new HalVersion(1, 0); ++ ++ /** @hide */ ++ public static final HalVersion RADIO_HAL_VERSION_1_1 = new HalVersion(1, 1); ++ ++ /** @hide */ ++ public static final HalVersion RADIO_HAL_VERSION_1_2 = new HalVersion(1, 2); ++ ++ /** @hide */ ++ public static final HalVersion RADIO_HAL_VERSION_1_3 = new HalVersion(1, 3); ++ + /** @hide */ + public static final HalVersion RADIO_HAL_VERSION_1_4 = new HalVersion(1, 4); + +@@ -179,7 +202,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public final WakeLock mAckWakeLock; // Wake lock associated with ack sent + final int mWakeLockTimeout; // Timeout associated with request/response + final int mAckWakeLockTimeout; // Timeout associated with ack sent +- // The number of wakelock requests currently active. Don't release the lock until dec'd to 0. ++ // The number of wakelock requests currently active. Don't release the lock ++ // until dec'd to 0 + int mWakeLockCount; + + // Variables used to identify releasing of WL on wakelock timeouts +@@ -314,10 +338,11 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + if (RILJ_LOGD) { + int count = mRequestList.size(); +- riljLog("WAKE_LOCK_TIMEOUT mRequestList=" + count); ++ Rlog.d(RILJ_LOG_TAG, "WAKE_LOCK_TIMEOUT " + ++ " mRequestList=" + count); + for (int i = 0; i < count; i++) { + rr = mRequestList.valueAt(i); +- riljLog(i + ": [" + rr.mSerial + "] " ++ Rlog.d(RILJ_LOG_TAG, i + ": [" + rr.mSerial + "] " + + RILUtils.requestToString(rr.mRequest)); + } + } +@@ -328,7 +353,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + case EVENT_ACK_WAKE_LOCK_TIMEOUT: + if (msg.arg1 == mAckWlSequenceNum && clearWakeLock(FOR_ACK_WAKELOCK)) { + if (RILJ_LOGV) { +- riljLog("ACK_WAKE_LOCK_TIMEOUT"); ++ Rlog.d(RILJ_LOG_TAG, "ACK_WAKE_LOCK_TIMEOUT"); + } + } + break; +@@ -587,10 +612,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + @VisibleForTesting + public void setCompatVersion(int rilRequest, @NonNull HalVersion halVersion) { + HalVersion oldVersion = getCompatVersion(rilRequest); +- // Do not allow to set same or greater versions ++ // Do not allow to set same or greater verions + if (oldVersion != null && halVersion.greaterOrEqual(oldVersion)) { +- riljLoge("setCompatVersion with equal or greater one, ignored, halVersion=" + halVersion +- + ", oldVersion=" + oldVersion); ++ riljLoge("setCompatVersion with equal or greater one, ignored, halVerion=" + halVersion ++ + ", oldVerion=" + oldVersion); + return; + } + mCompatOverrides.put(rilRequest, halVersion); +@@ -650,7 +675,39 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + if (mRadioProxy == null) { +- riljLoge("IRadio <1.4 is no longer supported."); ++ try { ++ mRadioProxy = android.hardware.radio.V1_3.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true); ++ mHalVersion.put(HAL_SERVICE_RADIO, RADIO_HAL_VERSION_1_3); ++ } catch (NoSuchElementException e) { ++ } ++ } ++ ++ if (mRadioProxy == null) { ++ try { ++ mRadioProxy = android.hardware.radio.V1_2.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true); ++ mHalVersion.put(HAL_SERVICE_RADIO, RADIO_HAL_VERSION_1_2); ++ } catch (NoSuchElementException e) { ++ } ++ } ++ ++ if (mRadioProxy == null) { ++ try { ++ mRadioProxy = android.hardware.radio.V1_1.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true); ++ mHalVersion.put(HAL_SERVICE_RADIO, RADIO_HAL_VERSION_1_1); ++ } catch (NoSuchElementException e) { ++ } ++ } ++ ++ if (mRadioProxy == null) { ++ try { ++ mRadioProxy = android.hardware.radio.V1_0.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true); ++ mHalVersion.put(HAL_SERVICE_RADIO, RADIO_HAL_VERSION_1_0); ++ } catch (NoSuchElementException e) { ++ } + } + + if (mRadioProxy != null) { +@@ -881,7 +938,46 @@ public class RIL extends BaseCommands implements CommandsInterface { + + if (serviceProxy.isEmpty() + && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) { +- riljLoge("IRadio <1.4 is no longer supported."); ++ try { ++ mHalVersion.put(service, RADIO_HAL_VERSION_1_3); ++ serviceProxy.setHidl(mHalVersion.get(service), ++ android.hardware.radio.V1_3.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true)); ++ } catch (NoSuchElementException e) { ++ } ++ } ++ ++ if (serviceProxy.isEmpty() ++ && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) { ++ try { ++ mHalVersion.put(service, RADIO_HAL_VERSION_1_2); ++ serviceProxy.setHidl(mHalVersion.get(service), ++ android.hardware.radio.V1_2.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true)); ++ } catch (NoSuchElementException e) { ++ } ++ } ++ ++ if (serviceProxy.isEmpty() ++ && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) { ++ try { ++ mHalVersion.put(service, RADIO_HAL_VERSION_1_1); ++ serviceProxy.setHidl(mHalVersion.get(service), ++ android.hardware.radio.V1_1.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true)); ++ } catch (NoSuchElementException e) { ++ } ++ } ++ ++ if (serviceProxy.isEmpty() ++ && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) { ++ try { ++ mHalVersion.put(service, RADIO_HAL_VERSION_1_0); ++ serviceProxy.setHidl(mHalVersion.get(service), ++ android.hardware.radio.V1_0.IRadio.getService( ++ HIDL_SERVICE_NAME[mPhoneId], true)); ++ } catch (NoSuchElementException e) { ++ } + } + + if (!serviceProxy.isEmpty()) { +@@ -931,7 +1027,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + break; + } + } else { +- if (mHalVersion.get(service).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ if (mHalVersion.get(service) ++ .greaterOrEqual(RADIO_HAL_VERSION_2_0)) { + throw new AssertionError("serviceProxy shouldn't be HIDL with HAL 2.0"); + } + if (!mIsRadioProxyInitialized) { +@@ -1269,14 +1366,34 @@ public class RIL extends BaseCommands implements CommandsInterface { + return true; + } + ++ private void handleRadioServiceNotAvailable(RadioServiceProxy proxy, Message result) { ++ if (result != null) { ++ riljLoge("RadioService is not available, " + proxy); ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(RADIO_NOT_AVAILABLE)); ++ result.sendToTarget(); ++ } ++ } ++ ++ private void handleRadioProxyNotAvailable(Message result) { ++ if (result != null) { ++ riljLoge("RadioProxy is not available"); ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(RADIO_NOT_AVAILABLE)); ++ result.sendToTarget(); ++ } ++ } ++ + @Override + public void getIccCardStatus(Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("getIccCardStatus", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_SIM_STATUS, result, mRILDefaultWorkSource); ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_SIM_STATUS, result, ++ mRILDefaultWorkSource); + + if (RILJ_LOGD) { + riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); +@@ -1289,12 +1406,24 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void getIccSlotsStatus(Message result) { +- // TODO(b/280900995): remove this and references ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "getIccSlotsStatus: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } + + @Override + public void setLogicalToPhysicalSlotMapping(int[] physicalSlots, Message result) { +- // TODO(b/280900995): remove this and references ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "setLogicalToPhysicalSlotMapping: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } + + @Override +@@ -1305,7 +1434,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void supplyIccPinForApp(String pin, String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("supplyIccPinForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -1330,7 +1460,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void supplyIccPukForApp(String puk, String newPin, String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("supplyIccPukForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -1357,7 +1488,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void supplyIccPin2ForApp(String pin, String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("supplyIccPin2ForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -1382,7 +1514,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void supplyIccPuk2ForApp(String puk, String newPin2, String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("supplyIccPuk2ForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -1408,7 +1541,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void changeIccPinForApp(String oldPin, String newPin, String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("changeIccPinForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -1435,7 +1569,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void changeIccPin2ForApp(String oldPin2, String newPin2, String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("changeIccPin2ForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -1457,8 +1592,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void supplyNetworkDepersonalization(String netpin, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("supplyNetworkDepersonalization", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -1479,35 +1614,45 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void supplySimDepersonalization(PersoSubState persoType, String controlKey, + Message result) { +- if (mHalVersion.get(HAL_SERVICE_SIM).less(RADIO_HAL_VERSION_1_5) +- && PersoSubState.PERSOSUBSTATE_SIM_NETWORK == persoType) { +- supplyNetworkDepersonalization(controlKey, result); +- return; +- } + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("supplySimDepersonalization", simProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_5)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_ENTER_SIM_DEPERSONALIZATION, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_ENTER_SIM_DEPERSONALIZATION, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " controlKey = " + controlKey + " persoType" + persoType); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " controlKey = " + controlKey + " persoType" + persoType); ++ radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "supplySimDepersonalization", () -> { ++ simProxy.supplySimDepersonalization(rr.mSerial, persoType, ++ RILUtils.convertNullToEmptyString(controlKey)); ++ }); ++ } else { ++ if (PersoSubState.PERSOSUBSTATE_SIM_NETWORK == persoType) { ++ supplyNetworkDepersonalization(controlKey, result); ++ return; ++ } ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "supplySimDepersonalization: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "supplySimDepersonalization", () -> { +- simProxy.supplySimDepersonalization(rr.mSerial, persoType, +- RILUtils.convertNullToEmptyString(controlKey)); +- }); + } + + @Override + public void getCurrentCalls(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("getCurrentCalls", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1532,93 +1677,131 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void enableModem(boolean enable, Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("enableModem", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_MODEM).greaterOrEqual(RADIO_HAL_VERSION_1_3)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_MODEM, result, mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_MODEM, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " enable = " + enable); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " enable = " + enable); ++ radioServiceInvokeHelper(HAL_SERVICE_MODEM, rr, "enableModem", () -> { ++ modemProxy.enableModem(rr.mSerial, enable); ++ }); ++ } else { ++ if (RILJ_LOGV) riljLog("enableModem: not supported."); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_MODEM, rr, "enableModem", () -> { +- modemProxy.enableModem(rr.mSerial, enable); +- }); + } + + @Override + public void setSystemSelectionChannels(@NonNull List specifiers, + Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setSystemSelectionChannels", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_3)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_SYSTEM_SELECTION_CHANNELS, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_SYSTEM_SELECTION_CHANNELS, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " setSystemSelectionChannels_1.3= " + specifiers); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " setSystemSelectionChannels= " + specifiers); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setSystemSelectionChannels", () -> { ++ networkProxy.setSystemSelectionChannels(rr.mSerial, specifiers); ++ }); ++ } else { ++ if (RILJ_LOGV) riljLog("setSystemSelectionChannels: not supported."); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setSystemSelectionChannels", () -> { +- networkProxy.setSystemSelectionChannels(rr.mSerial, specifiers); +- }); + } + + @Override + public void getSystemSelectionChannels(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getSystemSelectionChannels", networkProxy, result, +- RADIO_HAL_VERSION_1_6)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_SYSTEM_SELECTION_CHANNELS, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_SYSTEM_SELECTION_CHANNELS, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " getSystemSelectionChannels"); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " getSystemSelectionChannels"); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "getSystemSelectionChannels", () -> { ++ networkProxy.getSystemSelectionChannels(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGV) riljLog("getSystemSelectionChannels: not supported."); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "getSystemSelectionChannels", () -> { +- networkProxy.getSystemSelectionChannels(rr.mSerial); +- }); + } + + @Override + public void getModemStatus(Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("getModemStatus", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_MODEM).greaterOrEqual(RADIO_HAL_VERSION_1_3)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_MODEM_STATUS, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_MODEM_STATUS, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_MODEM, rr, "getModemStatus", () -> { ++ modemProxy.getModemStackStatus(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGV) riljLog("getModemStatus: not supported."); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_MODEM, rr, "getModemStatus", () -> { +- modemProxy.getModemStackStatus(rr.mSerial); +- }); + } + + @Override + public void dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, + boolean hasKnownUserIntentEmergency, int clirMode, UUSInfo uusInfo, Message result) { +- if (isEmergencyCall && emergencyNumberInfo != null) { ++ if (isEmergencyCall ++ && mHalVersion.get(HAL_SERVICE_VOICE).greaterOrEqual(RADIO_HAL_VERSION_1_4) ++ && emergencyNumberInfo != null) { + emergencyDial(address, emergencyNumberInfo, hasKnownUserIntentEmergency, clirMode, + uusInfo, result); + return; + } + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("dial", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1637,21 +1820,26 @@ public class RIL extends BaseCommands implements CommandsInterface { + private void emergencyDial(String address, EmergencyNumber emergencyNumberInfo, + boolean hasKnownUserIntentEmergency, int clirMode, UUSInfo uusInfo, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("emergencyDial", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_VOICE).greaterOrEqual(RADIO_HAL_VERSION_1_4)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_EMERGENCY_DIAL, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_EMERGENCY_DIAL, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ // Do not log function arg for privacy ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- // Do not log function arg for privacy +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_VOICE, rr, "emergencyDial", () -> { ++ voiceProxy.emergencyDial(rr.mSerial, RILUtils.convertNullToEmptyString(address), ++ emergencyNumberInfo, hasKnownUserIntentEmergency, clirMode, uusInfo); ++ }); ++ } else { ++ riljLoge("emergencyDial is not supported with 1.4 below IRadio"); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_VOICE, rr, "emergencyDial", () -> { +- voiceProxy.emergencyDial(rr.mSerial, RILUtils.convertNullToEmptyString(address), +- emergencyNumberInfo, hasKnownUserIntentEmergency, clirMode, uusInfo); +- }); + } + + @Override +@@ -1662,7 +1850,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getIMSIForApp(String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("getIMSIForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -1680,7 +1869,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void hangupConnection(int gsmIndex, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("hangupConnection", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1700,11 +1890,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void hangupWaitingOrBackground(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("hangupWaitingOrBackground", voiceProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } +- + RILRequest rr = obtainRequest(RIL_REQUEST_HANGUP_WAITING_OR_BACKGROUND, result, + mRILDefaultWorkSource); + +@@ -1721,8 +1910,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void hangupForegroundResumeBackground(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("hangupForegroundResumeBackground", voiceProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1741,8 +1930,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void switchWaitingOrHoldingAndActive(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("switchWaitingOrHoldingAndActive", voiceProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1761,10 +1950,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void conference(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("conference", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } +- + RILRequest rr = obtainRequest(RIL_REQUEST_CONFERENCE, result, mRILDefaultWorkSource); + + if (RILJ_LOGD) { +@@ -1779,7 +1968,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void rejectCall(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("rejectCall", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1797,7 +1987,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getLastCallFailCause(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("getLastCallFailCause", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1816,7 +2007,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getSignalStrength(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getSignalStrength", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -1834,8 +2026,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getVoiceRegistrationState(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getVoiceRegistrationState", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -1859,8 +2051,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getDataRegistrationState(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getDataRegistrationState", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -1884,7 +2076,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getOperator(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getOperator", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -1904,7 +2097,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setRadioPower(boolean on, boolean forEmergencyCall, + boolean preferredForEmergencyCall, Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("setRadioPower", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -1925,7 +2119,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendDtmf(char c, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("sendDtmf", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -1943,8 +2138,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void sendSMS(String smscPdu, String pdu, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("sendSMS", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -1982,8 +2179,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void sendSMSExpectMore(String smscPdu, String pdu, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("sendSMSExpectMore", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -2003,12 +2202,13 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + @Override +- public void setupDataCall(int accessNetworkType, DataProfile dataProfile, +- boolean isRoaming /* unused */, boolean allowRoaming, int reason, +- LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, +- TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result) { ++ public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean isRoaming, ++ boolean allowRoaming, int reason, LinkProperties linkProperties, int pduSessionId, ++ NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, ++ boolean matchAllRuleAllowed, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("setupDataCall", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } + +@@ -2018,16 +2218,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) + + ",reason=" + RILUtils.setupDataReasonToString(reason) + + ",accessNetworkType=" + AccessNetworkType.toString(accessNetworkType) +- + ",dataProfile=" + dataProfile + ",allowRoaming=" + allowRoaming ++ + ",dataProfile=" + dataProfile + ",isRoaming=" + isRoaming ++ + ",allowRoaming=" + allowRoaming + + ",linkProperties=" + linkProperties + ",pduSessionId=" + pduSessionId + + ",sliceInfo=" + sliceInfo + ",trafficDescriptor=" + trafficDescriptor + + ",matchAllRuleAllowed=" + matchAllRuleAllowed); + } + + radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "setupDataCall", () -> { +- dataProxy.setupDataCall(rr.mSerial, accessNetworkType, dataProfile, allowRoaming, +- reason, linkProperties, pduSessionId, sliceInfo, trafficDescriptor, +- matchAllRuleAllowed); ++ dataProxy.setupDataCall(rr.mSerial, mPhoneId, accessNetworkType, dataProfile, ++ isRoaming, allowRoaming, reason, linkProperties, pduSessionId, sliceInfo, ++ trafficDescriptor, matchAllRuleAllowed); + }); + } + +@@ -2041,7 +2242,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void iccIOForApp(int command, int fileId, String path, int p1, int p2, int p3, + String data, String pin2, String aid, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("iccIOForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -2070,8 +2272,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void sendUSSD(String ussd, Message result) { +- RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("sendUSSD", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioVoiceProxy voiceProxy = ++ getRadioServiceProxy(RadioVoiceProxy.class); ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2091,8 +2295,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void cancelPendingUssd(Message result) { +- RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("cancelPendingUssd", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioVoiceProxy voiceProxy = ++ getRadioServiceProxy(RadioVoiceProxy.class); ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2110,7 +2316,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getCLIR(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("getCLIR", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2128,7 +2335,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setCLIR(int clirMode, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("setCLIR", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2148,7 +2356,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void queryCallForwardStatus(int cfReason, int serviceClass, String number, + Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("queryCallForwardStatus", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2157,7 +2366,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + + if (RILJ_LOGD) { + riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " cfReason = " + cfReason + " serviceClass = " + serviceClass); ++ + " cfreason = " + cfReason + " serviceClass = " + serviceClass); + } + + radioServiceInvokeHelper(HAL_SERVICE_VOICE, rr, "queryCallForwardStatus", () -> { +@@ -2169,7 +2378,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setCallForward(int action, int cfReason, int serviceClass, String number, + int timeSeconds, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("setCallForward", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2190,7 +2400,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void queryCallWaiting(int serviceClass, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("queryCallWaiting", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2210,7 +2421,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setCallWaiting(boolean enable, int serviceClass, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("setCallWaiting", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2228,9 +2440,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void acknowledgeLastIncomingGsmSms(boolean success, int cause, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("acknowledgeLastIncomingGsmSms", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -2241,15 +2454,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + + " success = " + success + " cause = " + cause); + } + +- radioServiceInvokeHelper(HAL_SERVICE_MESSAGING, rr, "acknowledgeLastIncomingGsmSms", () -> { +- messagingProxy.acknowledgeLastIncomingGsmSms(rr.mSerial, success, cause); +- }); ++ radioServiceInvokeHelper( ++ HAL_SERVICE_MESSAGING, rr, "acknowledgeLastIncomingGsmSms", () -> { ++ messagingProxy.acknowledgeLastIncomingGsmSms(rr.mSerial, success, cause); ++ }); + } + + @Override + public void acceptCall(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("acceptCall", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2268,7 +2483,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void deactivateDataCall(int cid, int reason, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("deactivateDataCall", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } + +@@ -2297,7 +2513,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void queryFacilityLockForApp(String facility, String password, int serviceClass, + String appId, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("queryFacilityLockForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -2313,8 +2530,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "queryFacilityLockForApp", () -> { + simProxy.getFacilityLockForApp(rr.mSerial, + RILUtils.convertNullToEmptyString(facility), +- RILUtils.convertNullToEmptyString(password), serviceClass, +- RILUtils.convertNullToEmptyString(appId)); ++ RILUtils.convertNullToEmptyString(password), ++ serviceClass, RILUtils.convertNullToEmptyString(appId)); + }); + + } +@@ -2329,7 +2546,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setFacilityLockForApp(String facility, boolean lockState, String password, + int serviceClass, String appId, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("setFacilityLockForApp", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -2353,7 +2571,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void changeBarringPassword(String facility, String oldPwd, String newPwd, + Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("changeBarringPassword", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2377,8 +2596,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getNetworkSelectionMode(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getNetworkSelectionMode", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2397,8 +2616,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setNetworkSelectionModeAutomatic(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setNetworkSelectionModeAutomatic", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2409,8 +2628,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); + } + +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setNetworkSelectionModeAutomatic", +- () -> { ++ radioServiceInvokeHelper( ++ HAL_SERVICE_NETWORK, rr, "setNetworkSelectionModeAutomatic", () -> { + networkProxy.setNetworkSelectionModeAutomatic(rr.mSerial); + }); + } +@@ -2418,8 +2637,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setNetworkSelectionModeManual(String operatorNumeric, int ran, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setNetworkSelectionModeManual", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2446,7 +2665,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getAvailableNetworks(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getAvailableNetworks", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2471,50 +2691,70 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void startNetworkScan(NetworkScanRequest networkScanRequest, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("startNetworkScan", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_1)) { ++ HalVersion overrideHalVersion = getCompatVersion(RIL_REQUEST_START_NETWORK_SCAN); ++ if (RILJ_LOGD) { ++ riljLog("startNetworkScan: overrideHalVersion=" + overrideHalVersion); ++ } + +- HalVersion overrideHalVersion = getCompatVersion(RIL_REQUEST_START_NETWORK_SCAN); +- if (RILJ_LOGD) { +- riljLog("startNetworkScan: overrideHalVersion=" + overrideHalVersion); +- } ++ RILRequest rr = obtainRequest(RIL_REQUEST_START_NETWORK_SCAN, result, ++ mRILDefaultWorkSource, networkScanRequest); + +- RILRequest rr = obtainRequest(RIL_REQUEST_START_NETWORK_SCAN, result, +- mRILDefaultWorkSource, networkScanRequest); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "startNetworkScan", () -> { ++ networkProxy.startNetworkScan(rr.mSerial, networkScanRequest, overrideHalVersion, ++ result); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "startNetworkScan: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "startNetworkScan", () -> { +- networkProxy.startNetworkScan(rr.mSerial, networkScanRequest, overrideHalVersion, +- result); +- }); + } + + @Override + public void stopNetworkScan(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("stopNetworkScan", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_STOP_NETWORK_SCAN, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_STOP_NETWORK_SCAN, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "stopNetworkScan", () -> { ++ networkProxy.stopNetworkScan(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "stopNetworkScan: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "stopNetworkScan", () -> { +- networkProxy.stopNetworkScan(rr.mSerial); +- }); + } + + @Override + public void startDtmf(char c, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("startDtmf", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2533,7 +2773,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void stopDtmf(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("stopDtmf", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2551,7 +2792,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void separateConnection(int gsmIndex, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("separateConnection", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2571,7 +2813,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getBasebandVersion(Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("getBasebandVersion", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -2589,7 +2832,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setMute(boolean enableMute, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("setMute", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2608,7 +2852,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getMute(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("getMute", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2626,7 +2871,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void queryCLIP(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("queryCLIP", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2647,14 +2893,14 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + @Deprecated + public void getPDPContextList(Message result) { +- // TODO(b/280900995): remove this and references + getDataCallList(result); + } + + @Override + public void getDataCallList(Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("getDataCallList", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } + +@@ -2669,22 +2915,22 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + ++ // TODO(b/171260715) Remove when HAL definition is removed + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Override + public void invokeOemRilRequestRaw(byte[] data, Message response) { +- // TODO(b/280900995): remove this and references + } + ++ // TODO(b/171260715) Remove when HAL definition is removed + @Override + public void invokeOemRilRequestStrings(String[] strings, Message result) { +- // TODO(b/280900995): remove this and references + } + + @Override + public void setSuppServiceNotifications(boolean enable, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setSuppServiceNotifications", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2703,8 +2949,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void writeSmsToSim(int status, String smsc, String pdu, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("writeSmsToSim", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -2724,8 +2972,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void deleteSmsOnSim(int index, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("deleteSmsOnSim", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -2744,7 +2994,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setBandMode(int bandMode, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setBandMode", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2763,8 +3014,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void queryAvailableBandMode(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("queryAvailableBandMode", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2783,7 +3034,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendEnvelope(String contents, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("sendEnvelope", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -2803,7 +3055,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendTerminalResponse(String contents, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("sendTerminalResponse", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -2825,7 +3078,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendEnvelopeWithStatus(String contents, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("sendEnvelopeWithStatus", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -2846,7 +3100,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void explicitCallTransfer(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("explicitCallTransfer", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -2865,8 +3120,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setPreferredNetworkType(@PrefNetworkMode int networkType , Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setPreferredNetworkType", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2888,8 +3143,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getPreferredNetworkType(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getPreferredNetworkType", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2908,18 +3163,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setAllowedNetworkTypesBitmap( + @TelephonyManager.NetworkTypeBitMask int networkTypeBitmask, Message result) { ++ RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); ++ return; ++ } + if (mHalVersion.get(HAL_SERVICE_NETWORK).less(RADIO_HAL_VERSION_1_6)) { + // For older HAL, redirects the call to setPreferredNetworkType. + setPreferredNetworkType( + RadioAccessFamily.getNetworkTypeFromRaf(networkTypeBitmask), result); + return; + } +- RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setAllowedNetworkTypesBitmap", networkProxy, result, +- RADIO_HAL_VERSION_1_6)) { +- return; +- } +- + RILRequest rr = obtainRequest(RIL_REQUEST_SET_ALLOWED_NETWORK_TYPES_BITMAP, result, + mRILDefaultWorkSource); + +@@ -2936,8 +3190,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getAllowedNetworkTypesBitmap(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getAllowedNetworkTypesBitmap", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2956,7 +3210,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setLocationUpdates(boolean enable, WorkSource workSource, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setLocationUpdates", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -2979,21 +3234,31 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void isNrDualConnectivityEnabled(Message result, WorkSource workSource) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("isNrDualConnectivityEnabled", networkProxy, result, +- RADIO_HAL_VERSION_1_6)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED, result, ++ getDefaultWorkSourceIfInvalid(workSource)); + +- RILRequest rr = obtainRequest(RIL_REQUEST_IS_NR_DUAL_CONNECTIVITY_ENABLED, result, +- getDefaultWorkSourceIfInvalid(workSource)); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "isNrDualConnectivityEnabled", () -> { ++ networkProxy.isNrDualConnectivityEnabled(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "isNrDualConnectivityEnabled: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "isNrDualConnectivityEnabled", () -> { +- networkProxy.isNrDualConnectivityEnabled(rr.mSerial); +- }); + } + + /** +@@ -3011,22 +3276,30 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setNrDualConnectivityState(int nrDualConnectivityState, Message result, + WorkSource workSource) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setNrDualConnectivityState", networkProxy, result, +- RADIO_HAL_VERSION_1_6)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY, result, ++ getDefaultWorkSourceIfInvalid(workSource)); + +- RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_NR_DUAL_CONNECTIVITY, result, +- getDefaultWorkSourceIfInvalid(workSource)); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " enable = " + nrDualConnectivityState); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " enable = " + nrDualConnectivityState); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setNrDualConnectivityState", () -> { ++ networkProxy.setNrDualConnectivityState(rr.mSerial, (byte) nrDualConnectivityState); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "enableNrDualConnectivity: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setNrDualConnectivityState", () -> { +- networkProxy.setNrDualConnectivityState(rr.mSerial, (byte) nrDualConnectivityState); +- }); + } + + private void setVoNrEnabled(boolean enabled) { +@@ -3043,26 +3316,28 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void isVoNrEnabled(Message result, WorkSource workSource) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- // Send null result so errors aren't sent in canMakeRequest +- if (!canMakeRequest("isVoNrEnabled", voiceProxy, null, RADIO_HAL_VERSION_2_0)) { +- boolean isEnabled = isVoNrEnabled(); +- if (result != null) { +- AsyncResult.forMessage(result, isEnabled, null); +- result.sendToTarget(); +- } ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_VOICE).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_IS_VONR_ENABLED, result, ++ getDefaultWorkSourceIfInvalid(workSource)); + +- RILRequest rr = obtainRequest(RIL_REQUEST_IS_VONR_ENABLED, result, +- getDefaultWorkSourceIfInvalid(workSource)); +- +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); +- } ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- radioServiceInvokeHelper(HAL_SERVICE_VOICE, rr, "isVoNrEnabled", () -> { +- voiceProxy.isVoNrEnabled(rr.mSerial); +- }); ++ radioServiceInvokeHelper(HAL_SERVICE_VOICE, rr, "isVoNrEnabled", () -> { ++ voiceProxy.isVoNrEnabled(rr.mSerial); ++ }); ++ } else { ++ boolean isEnabled = isVoNrEnabled(); ++ if (result != null) { ++ AsyncResult.forMessage(result, isEnabled, null); ++ result.sendToTarget(); ++ } ++ } + } + + /** +@@ -3073,8 +3348,22 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setVoNrEnabled(boolean enabled, Message result, WorkSource workSource) { + setVoNrEnabled(enabled); + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- // Send null result so errors aren't sent in canMakeRequest +- if (!canMakeRequest("setVoNrEnabled", voiceProxy, null, RADIO_HAL_VERSION_2_0)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); ++ return; ++ } ++ if (mHalVersion.get(HAL_SERVICE_VOICE).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_VONR, result, ++ getDefaultWorkSourceIfInvalid(workSource)); ++ ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } ++ ++ radioServiceInvokeHelper(HAL_SERVICE_VOICE, rr, "setVoNrEnabled", () -> { ++ voiceProxy.setVoNrEnabled(rr.mSerial, enabled); ++ }); ++ } else { + /* calling a query api to let HAL know that VoNREnabled state is updated. + This is a work around as new AIDL API is not allowed for older HAL version devices. + HAL can check the value of PROPERTY_IS_VONR_ENABLED property to determine +@@ -3085,25 +3374,14 @@ public class RIL extends BaseCommands implements CommandsInterface { + AsyncResult.forMessage(result, null, null); + result.sendToTarget(); + } +- return; +- } +- +- RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_VONR, result, +- getDefaultWorkSourceIfInvalid(workSource)); +- +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_VOICE, rr, "setVoNrEnabled", () -> { +- voiceProxy.setVoNrEnabled(rr.mSerial, enabled); +- }); + } + + @Override + public void setCdmaSubscriptionSource(int cdmaSubscription, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("setCdmaSubscriptionSource", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3123,8 +3401,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void queryCdmaRoamingPreference(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("queryCdmaRoamingPreference", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -3143,8 +3421,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setCdmaRoamingPreference(int cdmaRoamingType, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setCdmaRoamingPreference", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -3164,7 +3442,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void queryTTYMode(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("queryTTYMode", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -3182,7 +3461,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setTTYMode(int ttyMode, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("setTTYMode", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -3201,8 +3481,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setPreferredVoicePrivacy(boolean enable, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("setPreferredVoicePrivacy", voiceProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -3222,8 +3502,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getPreferredVoicePrivacy(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("getPreferredVoicePrivacy", voiceProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -3242,7 +3522,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendCDMAFeatureCode(String featureCode, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("sendCDMAFeatureCode", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -3262,7 +3543,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendBurstDtmf(String dtmfString, int on, int off, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("sendBurstDtmf", voiceProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -3281,9 +3563,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void sendCdmaSMSExpectMore(byte[] pdu, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("sendCdmaSMSExpectMore", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3307,8 +3590,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void sendCdmaSms(byte[] pdu, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("sendCdmaSms", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3328,9 +3613,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void acknowledgeLastIncomingCdmaSms(boolean success, int cause, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("acknowledgeLastIncomingCdmaSms", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3342,17 +3628,18 @@ public class RIL extends BaseCommands implements CommandsInterface { + + " success = " + success + " cause = " + cause); + } + +- radioServiceInvokeHelper(HAL_SERVICE_MESSAGING, rr, "acknowledgeLastIncomingCdmaSms", +- () -> { ++ radioServiceInvokeHelper( ++ HAL_SERVICE_MESSAGING, rr, "acknowledgeLastIncomingCdmaSms", () -> { + messagingProxy.acknowledgeLastIncomingCdmaSms(rr.mSerial, success, cause); + }); + } + + @Override + public void getGsmBroadcastConfig(Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("getGsmBroadcastConfig", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3370,9 +3657,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void setGsmBroadcastConfig(SmsBroadcastConfigInfo[] config, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("setGsmBroadcastConfig", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3394,9 +3682,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void setGsmBroadcastActivation(boolean activate, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("setGsmBroadcastActivation", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3415,9 +3704,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void getCdmaBroadcastConfig(Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("getCdmaBroadcastConfig", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3435,9 +3725,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void setCdmaBroadcastConfig(CdmaSmsBroadcastConfigInfo[] configs, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("setCdmaBroadcastConfig", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3459,9 +3750,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void setCdmaBroadcastActivation(boolean activate, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("setCdmaBroadcastActivation", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3481,7 +3773,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getCDMASubscription(Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("getCDMASubscription", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3498,8 +3791,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void writeSmsToRuim(int status, byte[] pdu, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("writeSmsToRuim", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3518,8 +3813,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void deleteSmsOnRuim(int index, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("deleteSmsOnRuim", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3539,11 +3836,13 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getDeviceIdentity(Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("getDeviceIdentity", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +- RILRequest rr = obtainRequest(RIL_REQUEST_DEVICE_IDENTITY, result, mRILDefaultWorkSource); ++ RILRequest rr = obtainRequest(RIL_REQUEST_DEVICE_IDENTITY, result, ++ mRILDefaultWorkSource); + + if (RILJ_LOGD) { + riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); +@@ -3557,26 +3856,38 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getImei(Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("getImei", modemProxy, result, RADIO_HAL_VERSION_2_1)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_MODEM).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_DEVICE_IMEI, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_DEVICE_IMEI, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_MODEM, rr, "getImei", () -> { ++ modemProxy.getImei(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.e(RILJ_LOG_TAG, "getImei: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_MODEM, rr, "getImei", () -> { +- modemProxy.getImei(rr.mSerial); +- }); + } + + @Override + public void exitEmergencyCallbackMode(Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("exitEmergencyCallbackMode", voiceProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -3594,12 +3905,15 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void getSmscAddress(Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("getSmscAddress", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_SMSC_ADDRESS, result, mRILDefaultWorkSource); ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_SMSC_ADDRESS, result, ++ mRILDefaultWorkSource); + + if (RILJ_LOGD) { + riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); +@@ -3612,8 +3926,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void setSmscAddress(String address, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("setSmscAddress", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3625,15 +3941,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + radioServiceInvokeHelper(HAL_SERVICE_MESSAGING, rr, "setSmscAddress", () -> { +- messagingProxy.setSmscAddress(rr.mSerial, RILUtils.convertNullToEmptyString(address)); ++ messagingProxy.setSmscAddress(rr.mSerial, ++ RILUtils.convertNullToEmptyString(address)); + }); + } + + @Override + public void reportSmsMemoryStatus(boolean available, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("reportSmsMemoryStatus", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3653,7 +3971,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void reportStkServiceIsRunning(Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("reportStkServiceIsRunning", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3672,7 +3991,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getCdmaSubscriptionSource(Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("getCdmaSubscriptionSource", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3690,9 +4010,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("acknowledgeIncomingGsmSmsWithPdu", messagingProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3704,8 +4025,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + + " success = " + success); + } + +- radioServiceInvokeHelper(HAL_SERVICE_MESSAGING, rr, "acknowledgeIncomingGsmSmsWithPdu", +- () -> { ++ radioServiceInvokeHelper( ++ HAL_SERVICE_MESSAGING, rr, "acknowledgeIncomingGsmSmsWithPdu", () -> { + messagingProxy.acknowledgeIncomingGsmSmsWithPdu(rr.mSerial, success, + RILUtils.convertNullToEmptyString(ackPdu)); + }); +@@ -3714,8 +4035,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getVoiceRadioTechnology(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getVoiceRadioTechnology", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -3733,7 +4054,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getCellInfoList(Message result, WorkSource workSource) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getCellInfoList", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -3752,7 +4074,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setCellInfoListRate(int rateInMillis, Message result, WorkSource workSource) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setCellInfoListRate", networkProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -3770,10 +4093,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + @Override +- public void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming /* unused */, +- Message result) { ++ public void setInitialAttachApn(DataProfile dataProfile, boolean isRoaming, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("setInitialAttachApn", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } + +@@ -3781,19 +4104,20 @@ public class RIL extends BaseCommands implements CommandsInterface { + mRILDefaultWorkSource); + + if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) + dataProfile); ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + dataProfile); + } + + radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "setInitialAttachApn", () -> { +- dataProxy.setInitialAttachApn(rr.mSerial, dataProfile); ++ dataProxy.setInitialAttachApn(rr.mSerial, dataProfile, isRoaming); + }); + } + + @Override + public void getImsRegistrationState(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getImsRegistrationState", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -3812,8 +4136,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendImsGsmSms(String smscPdu, String pdu, int retry, int messageRef, + Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("sendImsGsmSms", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3833,8 +4159,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void sendImsCdmaSms(byte[] pdu, int retry, int messageRef, Message result) { +- RadioMessagingProxy messagingProxy = getRadioServiceProxy(RadioMessagingProxy.class); +- if (!canMakeRequest("sendImsCdmaSms", messagingProxy, result, RADIO_HAL_VERSION_1_4)) { ++ RadioMessagingProxy messagingProxy = ++ getRadioServiceProxy(RadioMessagingProxy.class); ++ if (messagingProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(messagingProxy, result); + return; + } + +@@ -3856,8 +4184,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void iccTransmitApduBasicChannel(int cla, int instruction, int p1, int p2, int p3, + String data, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("iccTransmitApduBasicChannel", simProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3876,14 +4204,16 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "iccTransmitApduBasicChannel", () -> { +- simProxy.iccTransmitApduBasicChannel(rr.mSerial, cla, instruction, p1, p2, p3, data); ++ simProxy.iccTransmitApduBasicChannel( ++ rr.mSerial, cla, instruction, p1, p2, p3, data); + }); + } + + @Override + public void iccOpenLogicalChannel(String aid, int p2, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("iccOpenLogicalChannel", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3899,14 +4229,16 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "iccOpenLogicalChannel", () -> { +- simProxy.iccOpenLogicalChannel(rr.mSerial, RILUtils.convertNullToEmptyString(aid), p2); ++ simProxy.iccOpenLogicalChannel(rr.mSerial, RILUtils.convertNullToEmptyString(aid), ++ p2); + }); + } + + @Override + public void iccCloseLogicalChannel(int channel, boolean isEs10, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("iccCloseLogicalChannel", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3930,8 +4262,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("iccTransmitApduLogicalChannel", simProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -3952,15 +4284,16 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "iccTransmitApduLogicalChannel", () -> { +- simProxy.iccTransmitApduLogicalChannel(rr.mSerial, channel, cla, instruction, p1, p2, +- p3, data, isEs10Command); ++ simProxy.iccTransmitApduLogicalChannel( ++ rr.mSerial, channel, cla, instruction, p1, p2, p3, data, isEs10Command); + }); + } + + @Override + public void nvReadItem(int itemID, Message result, WorkSource workSource) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("nvReadItem", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -3980,7 +4313,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void nvWriteItem(int itemId, String itemValue, Message result, WorkSource workSource) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("nvWriteItem", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4001,7 +4335,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void nvWriteCdmaPrl(byte[] preferredRoamingList, Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("nvWriteCdmaPrl", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4021,7 +4356,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void nvResetConfig(int resetType, Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("nvResetConfig", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4041,7 +4377,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setUiccSubscription(int slotId, int appIndex, int subId, int subStatus, + Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("setUiccSubscription", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -4066,14 +4403,17 @@ public class RIL extends BaseCommands implements CommandsInterface { + */ + @Override + public boolean supportsEid() { +- // TODO(b/280900995): remove this and references +- return true; ++ // EID should be supported as long as HAL >= 1.2. ++ // - in HAL 1.2 we have EID through ATR ++ // - in later HAL versions we also have EID through slot / card status. ++ return mHalVersion.get(HAL_SERVICE_RADIO).greaterOrEqual(RADIO_HAL_VERSION_1_2); + } + + @Override + public void setDataAllowed(boolean allowed, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("setDataAllowed", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } + +@@ -4092,7 +4432,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getHardwareConfig(Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("getHardwareConfig", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4113,8 +4454,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void requestIccSimAuthentication(int authContext, String data, String aid, + Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("requestIccSimAuthentication", simProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -4134,9 +4475,10 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + @Override +- public void setDataProfile(DataProfile[] dps, boolean isRoaming /* unused */, Message result) { ++ public void setDataProfile(DataProfile[] dps, boolean isRoaming, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("setDataProfile", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } + +@@ -4151,14 +4493,15 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "setDataProfile", () -> { +- dataProxy.setDataProfile(rr.mSerial, dps); ++ dataProxy.setDataProfile(rr.mSerial, dps, isRoaming); + }); + } + + @Override + public void requestShutdown(Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("requestShutdown", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4176,7 +4519,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getRadioCapability(Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("getRadioCapability", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4195,7 +4539,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setRadioCapability(RadioCapability rc, Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("setRadioCapability", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4214,12 +4559,65 @@ public class RIL extends BaseCommands implements CommandsInterface { + + @Override + public void startLceService(int reportIntervalMs, boolean pullMode, Message result) { +- // TODO(b/280900995): remove this and references ++ if (mHalVersion.get(HAL_SERVICE_RADIO).greaterOrEqual(RADIO_HAL_VERSION_1_2)) { ++ // We have a 1.2 or later radio, so the LCE 1.0 LCE service control path is unused. ++ // Instead the LCE functionality is always-on and provides unsolicited indications. ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "startLceService: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } ++ return; ++ } ++ ++ IRadio radioProxy = getRadioProxy(); ++ if (radioProxy == null) { ++ handleRadioProxyNotAvailable(result); ++ return; ++ } ++ ++ RILRequest rr = obtainRequest(RIL_REQUEST_START_LCE, result, mRILDefaultWorkSource); ++ ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " reportIntervalMs = " + reportIntervalMs + " pullMode = " + pullMode); ++ } ++ ++ radioServiceInvokeHelper(HAL_SERVICE_RADIO, rr, "startLceService", () -> { ++ radioProxy.startLceService(rr.mSerial, reportIntervalMs, pullMode); ++ }); + } + + @Override + public void stopLceService(Message result) { +- // TODO(b/280900995): remove this and references ++ if (mHalVersion.get(HAL_SERVICE_RADIO).greaterOrEqual(RADIO_HAL_VERSION_1_2)) { ++ // We have a 1.2 or later radio, so the LCE 1.0 LCE service control is unused. ++ // Instead the LCE functionality is always-on and provides unsolicited indications. ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "stopLceService: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } ++ return; ++ } ++ ++ IRadio radioProxy = getRadioProxy(); ++ if (radioProxy == null) { ++ handleRadioProxyNotAvailable(result); ++ return; ++ } ++ ++ RILRequest rr = obtainRequest(RIL_REQUEST_STOP_LCE, result, mRILDefaultWorkSource); ++ ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } ++ ++ radioServiceInvokeHelper(HAL_SERVICE_RADIO, rr, "stopLceService", () -> { ++ radioProxy.stopLceService(rr.mSerial); ++ }); + } + + /** +@@ -4235,23 +4633,33 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setDataThrottling(Message result, WorkSource workSource, int dataThrottlingAction, + long completionWindowMillis) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("setDataThrottling", dataProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_DATA_THROTTLING, result, ++ getDefaultWorkSourceIfInvalid(workSource)); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_DATA_THROTTLING, result, +- getDefaultWorkSourceIfInvalid(workSource)); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " ++ + RILUtils.requestToString(rr.mRequest) ++ + " dataThrottlingAction = " + dataThrottlingAction ++ + " completionWindowMillis " + completionWindowMillis); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " dataThrottlingAction = " + dataThrottlingAction +- + " completionWindowMillis " + completionWindowMillis); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "setDataThrottling", () -> { ++ dataProxy.setDataThrottling(rr.mSerial, (byte) dataThrottlingAction, ++ completionWindowMillis); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "setDataThrottling: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "setDataThrottling", () -> { +- dataProxy.setDataThrottling(rr.mSerial, (byte) dataThrottlingAction, +- completionWindowMillis); +- }); + } + + /** +@@ -4267,13 +4675,40 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Deprecated + @Override + public void pullLceData(Message result) { +- // TODO(b/280900995): remove this and references ++ if (mHalVersion.get(HAL_SERVICE_RADIO).greaterOrEqual(RADIO_HAL_VERSION_1_2)) { ++ // We have a 1.2 or later radio, so the LCE 1.0 LCE service control path is unused. ++ // Instead the LCE functionality is always-on and provides unsolicited indications. ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "pullLceData: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } ++ return; ++ } ++ ++ IRadio radioProxy = getRadioProxy(); ++ if (radioProxy == null) { ++ handleRadioProxyNotAvailable(result); ++ return; ++ } ++ ++ RILRequest rr = obtainRequest(RIL_REQUEST_PULL_LCEDATA, result, mRILDefaultWorkSource); ++ ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } ++ ++ radioServiceInvokeHelper(HAL_SERVICE_RADIO, rr, "pullLceData", () -> { ++ radioProxy.pullLceData(rr.mSerial); ++ }); + } + + @Override + public void getModemActivityInfo(Message result, WorkSource workSource) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("getModemActivityInfo", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4286,7 +4721,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + + radioServiceInvokeHelper(HAL_SERVICE_MODEM, rr, "getModemActivityInfo", () -> { + modemProxy.getModemActivityInfo(rr.mSerial); +- Message msg = mRilHandler.obtainMessage(EVENT_BLOCKING_RESPONSE_TIMEOUT, rr.mSerial); ++ Message msg = ++ mRilHandler.obtainMessage(EVENT_BLOCKING_RESPONSE_TIMEOUT, rr.mSerial); + mRilHandler.sendMessageDelayed(msg, DEFAULT_BLOCKING_MESSAGE_RESPONSE_TIMEOUT_MS); + }); + } +@@ -4297,7 +4733,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + Objects.requireNonNull(carrierRestrictionRules, "Carrier restriction cannot be null."); + + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("setAllowedCarriers", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -4310,14 +4747,15 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "setAllowedCarriers", () -> { +- simProxy.setAllowedCarriers(rr.mSerial, carrierRestrictionRules); ++ simProxy.setAllowedCarriers(rr.mSerial, carrierRestrictionRules, result); + }); + } + + @Override + public void getAllowedCarriers(Message result, WorkSource workSource) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("getAllowedCarriers", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -4336,7 +4774,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void sendDeviceState(int stateType, boolean state, Message result) { + RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class); +- if (!canMakeRequest("sendDeviceState", modemProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (modemProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(modemProxy, result); + return; + } + +@@ -4355,8 +4794,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setUnsolResponseFilter(int filter, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setUnsolResponseFilter", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } + +@@ -4377,23 +4816,26 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setSignalStrengthReportingCriteria( + @NonNull List signalThresholdInfos, @Nullable Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setSignalStrengthReportingCriteria", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_2)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_SIGNAL_STRENGTH_REPORTING_CRITERIA, ++ result, mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_SIGNAL_STRENGTH_REPORTING_CRITERIA, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper( ++ HAL_SERVICE_NETWORK, rr, "setSignalStrengthReportingCriteria", () -> { ++ networkProxy.setSignalStrengthReportingCriteria(rr.mSerial, ++ signalThresholdInfos); ++ }); ++ } else { ++ riljLoge("setSignalStrengthReportingCriteria ignored on IRadio version less than 1.2"); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setSignalStrengthReportingCriteria", +- () -> { +- networkProxy.setSignalStrengthReportingCriteria(rr.mSerial, +- signalThresholdInfos); +- }); + } + + @Override +@@ -4401,30 +4843,35 @@ public class RIL extends BaseCommands implements CommandsInterface { + int hysteresisUlKbps, int[] thresholdsDlKbps, int[] thresholdsUlKbps, int ran, + Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setLinkCapacityReportingCriteria", networkProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_2)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_LINK_CAPACITY_REPORTING_CRITERIA, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_LINK_CAPACITY_REPORTING_CRITERIA, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper( ++ HAL_SERVICE_NETWORK, rr, "setLinkCapacityReportingCriteria", () -> { ++ networkProxy.setLinkCapacityReportingCriteria(rr.mSerial, hysteresisMs, ++ hysteresisDlKbps, hysteresisUlKbps, thresholdsDlKbps, ++ thresholdsUlKbps, ++ ran); ++ }); ++ } else { ++ riljLoge("setLinkCapacityReportingCriteria ignored on IRadio version less than 1.2"); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setLinkCapacityReportingCriteria", +- () -> { +- networkProxy.setLinkCapacityReportingCriteria(rr.mSerial, hysteresisMs, +- hysteresisDlKbps, hysteresisUlKbps, thresholdsDlKbps, thresholdsUlKbps, +- ran); +- }); + } + + @Override + public void setSimCardPower(int state, Message result, WorkSource workSource) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("setSimCardPower", simProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } + +@@ -4437,7 +4884,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + + radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "setSimCardPower", () -> { +- simProxy.setSimCardPower(rr.mSerial, state); ++ simProxy.setSimCardPower(rr.mSerial, state, result); + }); + } + +@@ -4446,20 +4893,30 @@ public class RIL extends BaseCommands implements CommandsInterface { + Message result) { + Objects.requireNonNull(imsiEncryptionInfo, "ImsiEncryptionInfo cannot be null."); + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("setCarrierInfoForImsiEncryption", simProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION, result, ++ mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION, result, +- mRILDefaultWorkSource); +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "setCarrierInfoForImsiEncryption", () -> { ++ simProxy.setCarrierInfoForImsiEncryption(rr.mSerial, imsiEncryptionInfo); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "setCarrierInfoForImsiEncryption: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "setCarrierInfoForImsiEncryption", () -> { +- simProxy.setCarrierInfoForImsiEncryption(rr.mSerial, imsiEncryptionInfo); +- }); + } + + @Override +@@ -4467,47 +4924,67 @@ public class RIL extends BaseCommands implements CommandsInterface { + int intervalMillis, Message result) { + Objects.requireNonNull(packetData, "KeepaliveRequest cannot be null."); + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("startNattKeepalive", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_START_KEEPALIVE, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_START_KEEPALIVE, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "startNattKeepalive", () -> { ++ dataProxy.startKeepalive(rr.mSerial, contextId, packetData, intervalMillis, result); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "startNattKeepalive: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "startNattKeepalive", () -> { +- dataProxy.startKeepalive(rr.mSerial, contextId, packetData, intervalMillis, result); +- }); + } + + @Override + public void stopNattKeepalive(int sessionHandle, Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("stopNattKeepalive", dataProxy, result, RADIO_HAL_VERSION_1_4)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_STOP_KEEPALIVE, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_STOP_KEEPALIVE, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "stopNattKeepalive", () -> { ++ dataProxy.stopKeepalive(rr.mSerial, sessionHandle); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "stopNattKeepalive: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "stopNattKeepalive", () -> { +- dataProxy.stopKeepalive(rr.mSerial, sessionHandle); +- }); + } + + @Override + public void getIMEI(Message result) { +- // TODO(b/280900995): remove this and references ++ throw new RuntimeException("getIMEI not expected to be called"); + } + + @Override + public void getIMEISV(Message result) { +- // TODO(b/280900995): remove this and references ++ throw new RuntimeException("getIMEISV not expected to be called"); + } + + /** +@@ -4516,7 +4993,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Deprecated + @Override + public void getLastPdpFailCause(Message result) { +- // TODO(b/280900995): remove this and references ++ throw new RuntimeException("getLastPdpFailCause not expected to be called"); + } + + /** +@@ -4524,7 +5001,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + */ + @Override + public void getLastDataCallFailCause(Message result) { +- // TODO(b/280900995): remove this and references ++ throw new RuntimeException("getLastDataCallFailCause not expected to be called"); + } + + /** +@@ -4536,21 +5013,30 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void enableUiccApplications(boolean enable, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("enableUiccApplications", simProxy, result, RADIO_HAL_VERSION_1_5)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_5)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_UICC_APPLICATIONS, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_ENABLE_UICC_APPLICATIONS, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " " + enable); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " " + enable); ++ radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "enableUiccApplications", () -> { ++ simProxy.enableUiccApplications(rr.mSerial, enable); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "enableUiccApplications: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "enableUiccApplications", () -> { +- simProxy.enableUiccApplications(rr.mSerial, enable); +- }); + } + + /** +@@ -4561,21 +5047,31 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void areUiccApplicationsEnabled(Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("areUiccApplicationsEnabled", simProxy, result, +- RADIO_HAL_VERSION_1_5)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_5)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_UICC_APPLICATIONS_ENABLEMENT, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_UICC_APPLICATIONS_ENABLEMENT, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "areUiccApplicationsEnabled", () -> { ++ simProxy.areUiccApplicationsEnabled(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "areUiccApplicationsEnabled: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "areUiccApplicationsEnabled", () -> { +- simProxy.areUiccApplicationsEnabled(rr.mSerial); +- }); + } + + /** +@@ -4583,13 +5079,13 @@ public class RIL extends BaseCommands implements CommandsInterface { + */ + @Override + public boolean canToggleUiccApplicationsEnablement() { +- return canMakeRequest("canToggleUiccApplicationsEnablement", +- getRadioServiceProxy(RadioSimProxy.class), null, RADIO_HAL_VERSION_1_5); ++ return !getRadioServiceProxy(RadioSimProxy.class).isEmpty() ++ && mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_5); + } + + @Override + public void resetRadio(Message result) { +- // TODO(b/280900995): remove this and references ++ throw new RuntimeException("resetRadio not expected to be called"); + } + + /** +@@ -4598,8 +5094,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void handleCallSetupRequestFromSim(boolean accept, Message result) { + RadioVoiceProxy voiceProxy = getRadioServiceProxy(RadioVoiceProxy.class); +- if (!canMakeRequest("handleCallSetupRequestFromSim", voiceProxy, result, +- RADIO_HAL_VERSION_1_4)) { ++ if (voiceProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(voiceProxy, result); + return; + } + +@@ -4621,19 +5117,29 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getBarringInfo(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getBarringInfo", networkProxy, result, RADIO_HAL_VERSION_1_5)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_1_5)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_BARRING_INFO, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_BARRING_INFO, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "getBarringInfo", () -> { ++ networkProxy.getBarringInfo(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "getBarringInfo: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "getBarringInfo", () -> { +- networkProxy.getBarringInfo(rr.mSerial); +- }); + } + + /** +@@ -4642,19 +5148,26 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void allocatePduSessionId(Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("allocatePduSessionId", dataProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_ALLOCATE_PDU_SESSION_ID, result, ++ mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- RILRequest rr = obtainRequest(RIL_REQUEST_ALLOCATE_PDU_SESSION_ID, result, +- mRILDefaultWorkSource); +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "allocatePduSessionId", () -> { ++ dataProxy.allocatePduSessionId(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "allocatePduSessionId: REQUEST_NOT_SUPPORTED"); ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "allocatePduSessionId", () -> { +- dataProxy.allocatePduSessionId(rr.mSerial); +- }); + } + + /** +@@ -4663,19 +5176,26 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void releasePduSessionId(Message result, int pduSessionId) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("releasePduSessionId", dataProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_RELEASE_PDU_SESSION_ID, result, ++ mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- RILRequest rr = obtainRequest(RIL_REQUEST_RELEASE_PDU_SESSION_ID, result, +- mRILDefaultWorkSource); +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "releasePduSessionId", () -> { ++ dataProxy.releasePduSessionId(rr.mSerial, pduSessionId); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "releasePduSessionId: REQUEST_NOT_SUPPORTED"); ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "releasePduSessionId", () -> { +- dataProxy.releasePduSessionId(rr.mSerial, pduSessionId); +- }); + } + + /** +@@ -4684,18 +5204,28 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void startHandover(Message result, int callId) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("startHandover", dataProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_START_HANDOVER, result, ++ mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- RILRequest rr = obtainRequest(RIL_REQUEST_START_HANDOVER, result, mRILDefaultWorkSource); +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); +- } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "startHandover", () -> { +- dataProxy.startHandover(rr.mSerial, callId); +- }); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "startHandover", () -> { ++ dataProxy.startHandover(rr.mSerial, callId); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "startHandover: REQUEST_NOT_SUPPORTED"); ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } ++ } + } + + /** +@@ -4704,18 +5234,26 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void cancelHandover(Message result, int callId) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("cancelHandover", dataProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_CANCEL_HANDOVER, result, ++ mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- RILRequest rr = obtainRequest(RIL_REQUEST_CANCEL_HANDOVER, result, mRILDefaultWorkSource); +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "cancelHandover", () -> { ++ dataProxy.cancelHandover(rr.mSerial, callId); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "cancelHandover: REQUEST_NOT_SUPPORTED"); ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "cancelHandover", () -> { +- dataProxy.cancelHandover(rr.mSerial, callId); +- }); + } + + /** +@@ -4724,78 +5262,118 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getSlicingConfig(Message result) { + RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class); +- if (!canMakeRequest("getSlicingConfig", dataProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (dataProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(dataProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_DATA).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_SLICING_CONFIG, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_SLICING_CONFIG, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "getSlicingConfig", () -> { ++ dataProxy.getSlicingConfig(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) Rlog.d(RILJ_LOG_TAG, "getSlicingConfig: REQUEST_NOT_SUPPORTED"); ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); + } +- +- radioServiceInvokeHelper(HAL_SERVICE_DATA, rr, "getSlicingConfig", () -> { +- dataProxy.getSlicingConfig(rr.mSerial); +- }); + } + + @Override + public void getSimPhonebookRecords(Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("getSimPhonebookRecords", simProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_SIM_PHONEBOOK_RECORDS, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_SIM_PHONEBOOK_RECORDS, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "getSimPhonebookRecords", () -> { ++ simProxy.getSimPhonebookRecords(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "getSimPhonebookRecords: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "getSimPhonebookRecords", () -> { +- simProxy.getSimPhonebookRecords(rr.mSerial); +- }); + } + + @Override + public void getSimPhonebookCapacity(Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("getSimPhonebookCapacity", simProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_SIM_PHONEBOOK_CAPACITY, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_SIM_PHONEBOOK_CAPACITY, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "getSimPhonebookCapacity", () -> { ++ simProxy.getSimPhonebookCapacity(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "getSimPhonebookCapacity: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "getSimPhonebookCapacity", () -> { +- simProxy.getSimPhonebookCapacity(rr.mSerial); +- }); + } + + @Override + public void updateSimPhonebookRecord(SimPhonebookRecord phonebookRecord, Message result) { + RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class); +- if (!canMakeRequest("updateSimPhonebookRecord", simProxy, result, RADIO_HAL_VERSION_1_6)) { ++ if (simProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(simProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_SIM).greaterOrEqual(RADIO_HAL_VERSION_1_6)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_UPDATE_SIM_PHONEBOOK_RECORD, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_UPDATE_SIM_PHONEBOOK_RECORD, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " with " + phonebookRecord.toString()); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " with " + phonebookRecord.toString()); ++ radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "updateSimPhonebookRecord", () -> { ++ simProxy.updateSimPhonebookRecords(rr.mSerial, phonebookRecord); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "updateSimPhonebookRecords: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_SIM, rr, "updateSimPhonebookRecord", () -> { +- simProxy.updateSimPhonebookRecords(rr.mSerial, phonebookRecord); +- }); + } + + /** +@@ -4808,19 +5386,31 @@ public class RIL extends BaseCommands implements CommandsInterface { + public void setUsageSetting(Message result, + /* @TelephonyManager.UsageSetting */ int usageSetting) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setUsageSetting", networkProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_USAGE_SETTING, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_USAGE_SETTING, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setUsageSetting", () -> { ++ networkProxy.setUsageSetting(rr.mSerial, usageSetting); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "setUsageSetting: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setUsageSetting", () -> { +- networkProxy.setUsageSetting(rr.mSerial, usageSetting); +- }); + } + + /** +@@ -4831,39 +5421,63 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void getUsageSetting(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("getUsageSetting", networkProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_GET_USAGE_SETTING, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_GET_USAGE_SETTING, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "getUsageSetting", () -> { ++ networkProxy.getUsageSetting(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "getUsageSetting: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "getUsageSetting", () -> { +- networkProxy.getUsageSetting(rr.mSerial); +- }); + } + + @Override + public void setSrvccCallInfo(SrvccConnection[] srvccConnections, Message result) { + RadioImsProxy imsProxy = getRadioServiceProxy(RadioImsProxy.class); +- if (!canMakeRequest("setSrvccCallInfo", imsProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (imsProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(imsProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_IMS).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_SRVCC_CALL_INFO, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_SRVCC_CALL_INFO, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ // Do not log function arg for privacy ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- // Do not log function arg for privacy +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "setSrvccCallInfo", () -> { ++ imsProxy.setSrvccCallInfo(rr.mSerial, ++ RILUtils.convertToHalSrvccCall(srvccConnections)); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "setSrvccCallInfo: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "setSrvccCallInfo", () -> { +- imsProxy.setSrvccCallInfo(rr.mSerial, RILUtils.convertToHalSrvccCall(srvccConnections)); +- }); + } + + @Override +@@ -4873,108 +5487,168 @@ public class RIL extends BaseCommands implements CommandsInterface { + @RegistrationManager.SuggestedAction int suggestedAction, + int capabilities, Message result) { + RadioImsProxy imsProxy = getRadioServiceProxy(RadioImsProxy.class); +- if (!canMakeRequest("updateImsRegistrationInfo", imsProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (imsProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(imsProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_IMS).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_UPDATE_IMS_REGISTRATION_INFO, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_UPDATE_IMS_REGISTRATION_INFO, result, +- mRILDefaultWorkSource); +- +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " state=" + state + ", radioTech=" + imsRadioTech +- + ", suggested=" + suggestedAction + ", cap=" + capabilities); +- } ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " state=" + state + ", radioTech=" + imsRadioTech ++ + ", suggested=" + suggestedAction + ", cap=" + capabilities); ++ } + +- android.hardware.radio.ims.ImsRegistration registrationInfo = +- new android.hardware.radio.ims.ImsRegistration(); +- registrationInfo.regState = RILUtils.convertImsRegistrationState(state); +- registrationInfo.accessNetworkType = RILUtils.convertImsRegistrationTech(imsRadioTech); +- registrationInfo.suggestedAction = suggestedAction; +- registrationInfo.capabilities = RILUtils.convertImsCapability(capabilities); ++ android.hardware.radio.ims.ImsRegistration registrationInfo = ++ new android.hardware.radio.ims.ImsRegistration(); ++ registrationInfo.regState = RILUtils.convertImsRegistrationState(state); ++ registrationInfo.accessNetworkType = RILUtils.convertImsRegistrationTech(imsRadioTech); ++ registrationInfo.suggestedAction = suggestedAction; ++ registrationInfo.capabilities = RILUtils.convertImsCapability(capabilities); + +- radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "updateImsRegistrationInfo", () -> { +- imsProxy.updateImsRegistrationInfo(rr.mSerial, registrationInfo); +- }); ++ radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "updateImsRegistrationInfo", () -> { ++ imsProxy.updateImsRegistrationInfo(rr.mSerial, registrationInfo); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "updateImsRegistrationInfo: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } ++ } + } + + @Override +- public void startImsTraffic(int token, int trafficType, int accessNetworkType, +- int trafficDirection, Message result) { ++ public void startImsTraffic(int token, ++ int trafficType, int accessNetworkType, int trafficDirection, Message result) { + RadioImsProxy imsProxy = getRadioServiceProxy(RadioImsProxy.class); +- if (!canMakeRequest("startImsTraffic", imsProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (imsProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(imsProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_IMS).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_START_IMS_TRAFFIC, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_START_IMS_TRAFFIC, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + "{" + token + ", " + trafficType + ", " ++ + accessNetworkType + ", " + trafficDirection + "}"); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + "{" + token + ", " + trafficType + ", " +- + accessNetworkType + ", " + trafficDirection + "}"); ++ radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "startImsTraffic", () -> { ++ imsProxy.startImsTraffic(rr.mSerial, token, ++ RILUtils.convertImsTrafficType(trafficType), accessNetworkType, ++ RILUtils.convertImsTrafficDirection(trafficDirection)); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "startImsTraffic: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "startImsTraffic", () -> { +- imsProxy.startImsTraffic(rr.mSerial, token, RILUtils.convertImsTrafficType(trafficType), +- accessNetworkType, RILUtils.convertImsTrafficDirection(trafficDirection)); +- }); + } + + @Override + public void stopImsTraffic(int token, Message result) { + RadioImsProxy imsProxy = getRadioServiceProxy(RadioImsProxy.class); +- if (!canMakeRequest("stopImsTraffic", imsProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (imsProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(imsProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_IMS).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_STOP_IMS_TRAFFIC, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_STOP_IMS_TRAFFIC, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + "{" + token + "}"); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + "{" + token + "}"); ++ radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "stopImsTraffic", () -> { ++ imsProxy.stopImsTraffic(rr.mSerial, token); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "stopImsTraffic: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "stopImsTraffic", () -> { +- imsProxy.stopImsTraffic(rr.mSerial, token); +- }); + } + + @Override + public void triggerEpsFallback(int reason, Message result) { + RadioImsProxy imsProxy = getRadioServiceProxy(RadioImsProxy.class); +- if (!canMakeRequest("triggerEpsFallback", imsProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (imsProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(imsProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_IMS).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_TRIGGER_EPS_FALLBACK, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_TRIGGER_EPS_FALLBACK, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " reason=" + reason); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " reason=" + reason); ++ radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "triggerEpsFallback", () -> { ++ imsProxy.triggerEpsFallback(rr.mSerial, reason); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "triggerEpsFallback: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "triggerEpsFallback", () -> { +- imsProxy.triggerEpsFallback(rr.mSerial, reason); +- }); + } + + @Override +- public void sendAnbrQuery(int mediaType, int direction, int bitsPerSecond, Message result) { ++ public void sendAnbrQuery(int mediaType, int direction, int bitsPerSecond, ++ Message result) { + RadioImsProxy imsProxy = getRadioServiceProxy(RadioImsProxy.class); +- if (!canMakeRequest("sendAnbrQuery", imsProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (imsProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(imsProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_IMS).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SEND_ANBR_QUERY, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SEND_ANBR_QUERY, result, mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "sendAnbrQuery", () -> { ++ imsProxy.sendAnbrQuery(rr.mSerial, mediaType, direction, bitsPerSecond); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "sendAnbrQuery: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "sendAnbrQuery", () -> { +- imsProxy.sendAnbrQuery(rr.mSerial, mediaType, direction, bitsPerSecond); +- }); + } + + /** +@@ -4983,21 +5657,32 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setEmergencyMode(int emcMode, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setEmergencyMode", networkProxy, result, RADIO_HAL_VERSION_2_1)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_EMERGENCY_MODE, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_EMERGENCY_MODE, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " mode=" + EmergencyConstants.emergencyModeToString(emcMode)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " mode=" + EmergencyConstants.emergencyModeToString(emcMode)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setEmergencyMode", () -> { ++ networkProxy.setEmergencyMode(rr.mSerial, emcMode); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "setEmergencyMode: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setEmergencyMode", () -> { +- networkProxy.setEmergencyMode(rr.mSerial, emcMode); +- }); + } + + /** +@@ -5008,24 +5693,34 @@ public class RIL extends BaseCommands implements CommandsInterface { + @NonNull @AccessNetworkConstants.RadioAccessNetworkType int[] accessNetwork, + @DomainSelectionService.EmergencyScanType int scanType, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("triggerEmergencyNetworkScan", networkProxy, result, +- RADIO_HAL_VERSION_2_1)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_TRIGGER_EMERGENCY_NETWORK_SCAN, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_TRIGGER_EMERGENCY_NETWORK_SCAN, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " networkType=" + RILUtils.accessNetworkTypesToString(accessNetwork) ++ + ", scanType=" + RILUtils.scanTypeToString(scanType)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " networkType=" + RILUtils.accessNetworkTypesToString(accessNetwork) +- + ", scanType=" + RILUtils.scanTypeToString(scanType)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "triggerEmergencyNetworkScan", () -> { ++ networkProxy.triggerEmergencyNetworkScan(rr.mSerial, ++ RILUtils.convertEmergencyNetworkScanTrigger(accessNetwork, scanType)); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "triggerEmergencyNetworkScan: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "triggerEmergencyNetworkScan", () -> { +- networkProxy.triggerEmergencyNetworkScan(rr.mSerial, +- RILUtils.convertEmergencyNetworkScanTrigger(accessNetwork, scanType)); +- }); + } + + /** +@@ -5034,22 +5729,32 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void cancelEmergencyNetworkScan(boolean resetScan, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("cancelEmergencyNetworkScan", networkProxy, result, +- RADIO_HAL_VERSION_2_1)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_CANCEL_EMERGENCY_NETWORK_SCAN, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_CANCEL_EMERGENCY_NETWORK_SCAN, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " resetScan=" + resetScan); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " resetScan=" + resetScan); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "cancelEmergencyNetworkScan", () -> { ++ networkProxy.cancelEmergencyNetworkScan(rr.mSerial, resetScan); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "cancelEmergencyNetworkScan: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "cancelEmergencyNetworkScan", () -> { +- networkProxy.cancelEmergencyNetworkScan(rr.mSerial, resetScan); +- }); + } + + /** +@@ -5058,20 +5763,31 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void exitEmergencyMode(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("exitEmergencyMode", networkProxy, result, RADIO_HAL_VERSION_2_1)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_EXIT_EMERGENCY_MODE, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_EXIT_EMERGENCY_MODE, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "exitEmergencyMode", () -> { ++ networkProxy.exitEmergencyMode(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "exitEmergencyMode: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "exitEmergencyMode", () -> { +- networkProxy.exitEmergencyMode(rr.mSerial); +- }); + } + + /** +@@ -5083,22 +5799,32 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setNullCipherAndIntegrityEnabled(boolean enabled, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setNullCipherAndIntegrityEnabled", networkProxy, result, +- RADIO_HAL_VERSION_2_1)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_NULL_CIPHER_AND_INTEGRITY_ENABLED, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_NULL_CIPHER_AND_INTEGRITY_ENABLED, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper( ++ HAL_SERVICE_NETWORK, rr, "setNullCipherAndIntegrityEnabled", () -> { ++ networkProxy.setNullCipherAndIntegrityEnabled(rr.mSerial, enabled); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "setNullCipherAndIntegrityEnabled: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setNullCipherAndIntegrityEnabled", +- () -> { +- networkProxy.setNullCipherAndIntegrityEnabled(rr.mSerial, enabled); +- }); + } + + /** +@@ -5109,21 +5835,31 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void isNullCipherAndIntegrityEnabled(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("isNullCipherAndIntegrityEnabled", networkProxy, result, +- RADIO_HAL_VERSION_2_1)) { +- return; +- } ++ if (networkProxy.isEmpty()) return; ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_IS_NULL_CIPHER_AND_INTEGRITY_ENABLED, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_IS_NULL_CIPHER_AND_INTEGRITY_ENABLED, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ try { ++ networkProxy.isNullCipherAndIntegrityEnabled(rr.mSerial); ++ } catch (RemoteException | RuntimeException e) { ++ handleRadioProxyExceptionForRR( ++ HAL_SERVICE_NETWORK, "isNullCipherAndIntegrityEnabled", e); ++ } ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "isNullCipherAndIntegrityEnabled: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "isNullCipherAndIntegrityEnabled", () -> { +- networkProxy.isNullCipherAndIntegrityEnabled(rr.mSerial); +- }); + } + + /** +@@ -5132,20 +5868,31 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void updateImsCallStatus(@NonNull List imsCallInfo, Message result) { + RadioImsProxy imsProxy = getRadioServiceProxy(RadioImsProxy.class); +- if (!canMakeRequest("updateImsCallStatus", imsProxy, result, RADIO_HAL_VERSION_2_0)) { ++ if (imsProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(imsProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_IMS).greaterOrEqual(RADIO_HAL_VERSION_2_0)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_UPDATE_IMS_CALL_STATUS, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_UPDATE_IMS_CALL_STATUS, result, +- mRILDefaultWorkSource); +- +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " " + imsCallInfo); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " " + imsCallInfo); ++ } ++ radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "updateImsCallStatus", () -> { ++ imsProxy.updateImsCallStatus(rr.mSerial, RILUtils.convertImsCallInfo(imsCallInfo)); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "updateImsCallStatus: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- radioServiceInvokeHelper(HAL_SERVICE_IMS, rr, "updateImsCallStatus", () -> { +- imsProxy.updateImsCallStatus(rr.mSerial, RILUtils.convertImsCallInfo(imsCallInfo)); +- }); + } + + /** +@@ -5154,21 +5901,32 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void setN1ModeEnabled(boolean enable, Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("setN1ModeEnabled", networkProxy, result, RADIO_HAL_VERSION_2_1)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_SET_N1_MODE_ENABLED, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_SET_N1_MODE_ENABLED, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) ++ + " enable=" + enable); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) +- + " enable=" + enable); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setN1ModeEnabled", () -> { ++ networkProxy.setN1ModeEnabled(rr.mSerial, enable); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "setN1ModeEnabled: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setN1ModeEnabled", () -> { +- networkProxy.setN1ModeEnabled(rr.mSerial, enable); +- }); + } + + /** +@@ -5177,20 +5935,31 @@ public class RIL extends BaseCommands implements CommandsInterface { + @Override + public void isN1ModeEnabled(Message result) { + RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class); +- if (!canMakeRequest("isN1ModeEnabled", networkProxy, result, RADIO_HAL_VERSION_2_1)) { ++ if (networkProxy.isEmpty()) { ++ handleRadioServiceNotAvailable(networkProxy, result); + return; + } ++ if (mHalVersion.get(HAL_SERVICE_NETWORK).greaterOrEqual(RADIO_HAL_VERSION_2_1)) { ++ RILRequest rr = obtainRequest(RIL_REQUEST_IS_N1_MODE_ENABLED, result, ++ mRILDefaultWorkSource); + +- RILRequest rr = obtainRequest(RIL_REQUEST_IS_N1_MODE_ENABLED, result, +- mRILDefaultWorkSource); ++ if (RILJ_LOGD) { ++ riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ } + +- if (RILJ_LOGD) { +- riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest)); ++ radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "isN1ModeEnabled", () -> { ++ networkProxy.isN1ModeEnabled(rr.mSerial); ++ }); ++ } else { ++ if (RILJ_LOGD) { ++ Rlog.d(RILJ_LOG_TAG, "isN1ModeEnabled: REQUEST_NOT_SUPPORTED"); ++ } ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } + } +- +- radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "isN1ModeEnabled", () -> { +- networkProxy.isN1ModeEnabled(rr.mSerial); +- }); + } + + /** +@@ -5254,7 +6023,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + }); + } + +- /** ++ /** + * {@inheritDoc} + */ + @Override +@@ -5279,7 +6048,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + radioServiceInvokeHelper(HAL_SERVICE_NETWORK, rr, "setSecurityAlgorithmsUpdatedEnabled", + () -> { + networkProxy.setSecurityAlgorithmsUpdatedEnabled(rr.mSerial, enable); +- }); ++ }); + } + + /** +@@ -5331,7 +6100,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + rr = mRequestList.get(serial); + } + if (rr == null) { +- riljLogw("processRequestAck: Unexpected solicited ack response! serial: " + serial); ++ Rlog.w(RILJ_LOG_TAG, "processRequestAck: Unexpected solicited ack response! " ++ + "serial: " + serial); + } else { + decrementWakeLock(rr); + if (RILJ_LOGD) { +@@ -5389,7 +6159,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + rr = mRequestList.get(serial); + } + if (rr == null) { +- riljLogw("Unexpected solicited ack response! sn: " + serial); ++ Rlog.w(RILJ_LOG_TAG, "Unexpected solicited ack response! sn: " + serial); + } else { + decrementWakeLock(rr); + if (mRadioBugDetector != null) { +@@ -5405,8 +6175,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + + rr = findAndRemoveRequestFromList(serial); + if (rr == null) { +- riljLoge("processResponse: Unexpected response! serial: " + serial +- + ", error: " + error); ++ Rlog.e(RILJ_LOG_TAG, "processResponse: Unexpected response! serial: " + serial ++ + " ,error: " + error); + return null; + } + Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_NETWORK, "RIL", rr.mSerial); +@@ -5592,7 +6362,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + riljLoge("sendAck: " + e); + } + } else { +- riljLoge("Error trying to send ack, radioProxy = null"); ++ Rlog.e(RILJ_LOG_TAG, "Error trying to send ack, radioProxy = null"); + } + } else { + RadioServiceProxy serviceProxy = getRadioServiceProxy(service); +@@ -5604,7 +6374,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + riljLoge("sendAck: " + e); + } + } else { +- riljLoge("Error trying to send ack, serviceProxy is empty"); ++ Rlog.e(RILJ_LOG_TAG, "Error trying to send ack, serviceProxy is empty"); + } + } + rr.release(); +@@ -5631,11 +6401,11 @@ public class RIL extends BaseCommands implements CommandsInterface { + private void acquireWakeLock(RILRequest rr, int wakeLockType) { + synchronized (rr) { + if (rr.mWakeLockType != INVALID_WAKELOCK) { +- riljLog("Failed to acquire wakelock for " + rr.serialString()); ++ Rlog.d(RILJ_LOG_TAG, "Failed to aquire wakelock for " + rr.serialString()); + return; + } + +- switch (wakeLockType) { ++ switch(wakeLockType) { + case FOR_WAKELOCK: + synchronized (mWakeLock) { + mWakeLock.acquire(); +@@ -5667,7 +6437,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + } + break; + default: //WTF +- riljLogw("Acquiring Invalid Wakelock type " + wakeLockType); ++ Rlog.w(RILJ_LOG_TAG, "Acquiring Invalid Wakelock type " + wakeLockType); + return; + } + rr.mWakeLockType = wakeLockType; +@@ -5721,7 +6491,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + case INVALID_WAKELOCK: + break; + default: +- riljLogw("Decrementing Invalid Wakelock type " + rr.mWakeLockType); ++ Rlog.w(RILJ_LOG_TAG, "Decrementing Invalid Wakelock type " + rr.mWakeLockType); + } + rr.mWakeLockType = INVALID_WAKELOCK; + } +@@ -5732,7 +6502,8 @@ public class RIL extends BaseCommands implements CommandsInterface { + if (wakeLockType == FOR_WAKELOCK) { + synchronized (mWakeLock) { + if (mWakeLockCount == 0 && !mWakeLock.isHeld()) return false; +- riljLog("NOTE: mWakeLockCount is " + mWakeLockCount + " at time of clearing"); ++ Rlog.d(RILJ_LOG_TAG, "NOTE: mWakeLockCount is " + mWakeLockCount ++ + " at time of clearing"); + mWakeLockCount = 0; + mWakeLock.release(); + mClientWakelockTracker.stopTrackingAll(); +@@ -5759,14 +6530,15 @@ public class RIL extends BaseCommands implements CommandsInterface { + synchronized (mRequestList) { + int count = mRequestList.size(); + if (RILJ_LOGD && loggable) { +- riljLog("clearRequestList " + " mWakeLockCount=" + mWakeLockCount +- + " mRequestList=" + count); ++ Rlog.d(RILJ_LOG_TAG, "clearRequestList " + " mWakeLockCount=" ++ + mWakeLockCount + " mRequestList=" + count); + } + + for (int i = 0; i < count; i++) { + rr = mRequestList.valueAt(i); + if (RILJ_LOGD && loggable) { +- riljLog(i + ": [" + rr.mSerial + "] " + RILUtils.requestToString(rr.mRequest)); ++ Rlog.d(RILJ_LOG_TAG, i + ": [" + rr.mSerial + "] " ++ + RILUtils.requestToString(rr.mRequest)); + } + rr.onError(error, null); + decrementWakeLock(rr); +@@ -6044,22 +6816,18 @@ public class RIL extends BaseCommands implements CommandsInterface { + Rlog.v(RILJ_LOG_TAG, msg + (" [PHONE" + mPhoneId + "]")); + } + +- void riljLogw(String msg) { +- Rlog.w(RILJ_LOG_TAG, msg + (" [PHONE" + mPhoneId + "]")); +- } +- + boolean isLogOrTrace() { +- return RILJ_LOGD || Trace.isTagEnabled(Trace.TRACE_TAG_NETWORK); ++ return RIL.RILJ_LOGD || Trace.isTagEnabled(Trace.TRACE_TAG_NETWORK); + } + + boolean isLogvOrTrace() { +- return RILJ_LOGV || Trace.isTagEnabled(Trace.TRACE_TAG_NETWORK); ++ return RIL.RILJ_LOGV || Trace.isTagEnabled(Trace.TRACE_TAG_NETWORK); + } + + @UnsupportedAppUsage + void unsljLog(int response) { + String logStr = RILUtils.responseToString(response); +- if (RILJ_LOGD) { ++ if (RIL.RILJ_LOGD) { + riljLog("[UNSL]< " + logStr); + } + Trace.instantForTrack(Trace.TRACE_TAG_NETWORK, "RIL", logStr); +@@ -6068,7 +6836,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + @UnsupportedAppUsage + void unsljLogMore(int response, String more) { + String logStr = RILUtils.responseToString(response) + " " + more; +- if (RILJ_LOGD) { ++ if (RIL.RILJ_LOGD) { + riljLog("[UNSL]< " + logStr); + } + Trace.instantForTrack(Trace.TRACE_TAG_NETWORK, "RIL", logStr); +@@ -6077,7 +6845,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + @UnsupportedAppUsage + void unsljLogRet(int response, Object ret) { + String logStr = RILUtils.responseToString(response) + " " + retToString(response, ret); +- if (RILJ_LOGD) { ++ if (RIL.RILJ_LOGD) { + riljLog("[UNSL]< " + logStr); + } + Trace.instantForTrack(Trace.TRACE_TAG_NETWORK, "RIL", logStr); +@@ -6086,7 +6854,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + @UnsupportedAppUsage + void unsljLogvRet(int response, Object ret) { + String logStr = RILUtils.responseToString(response) + " " + retToString(response, ret); +- if (RILJ_LOGV) { ++ if (RIL.RILJ_LOGV) { + riljLogv("[UNSL]< " + logStr); + } + Trace.instantForTrack(Trace.TRACE_TAG_NETWORK, "RIL", logStr); +@@ -6139,6 +6907,58 @@ public class RIL extends BaseCommands implements CommandsInterface { + return mClientWakelockTracker.getClientRequestStats(); + } + ++ /** ++ * Fixup for SignalStrength 1.0 to Assume GSM to WCDMA when ++ * The current RAT type is one of the UMTS RATs. ++ * @param signalStrength the initial signal strength ++ * @return a new SignalStrength if RAT is UMTS or existing SignalStrength ++ */ ++ public SignalStrength fixupSignalStrength10(SignalStrength signalStrength) { ++ List gsmList = signalStrength.getCellSignalStrengths( ++ CellSignalStrengthGsm.class); ++ // If GSM is not the primary type, then bail out; no fixup needed. ++ if (gsmList.isEmpty() || !gsmList.get(0).isValid()) { ++ return signalStrength; ++ } ++ ++ CellSignalStrengthGsm gsmStrength = gsmList.get(0); ++ ++ // Use the voice RAT which is a guarantee in GSM and UMTS ++ int voiceRat = ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN; ++ Phone phone = PhoneFactory.getPhone(mPhoneId); ++ if (phone != null) { ++ ServiceState ss = phone.getServiceState(); ++ if (ss != null) { ++ voiceRat = ss.getRilVoiceRadioTechnology(); ++ } ++ } ++ switch (voiceRat) { ++ case ServiceState.RIL_RADIO_TECHNOLOGY_UMTS: /* fallthrough */ ++ case ServiceState.RIL_RADIO_TECHNOLOGY_HSDPA: /* fallthrough */ ++ case ServiceState.RIL_RADIO_TECHNOLOGY_HSUPA: /* fallthrough */ ++ case ServiceState.RIL_RADIO_TECHNOLOGY_HSPA: /* fallthrough */ ++ case ServiceState.RIL_RADIO_TECHNOLOGY_HSPAP: /* fallthrough */ ++ break; ++ default: ++ // If we are not currently on WCDMA/HSPA, then we don't need to do a fixup. ++ return signalStrength; ++ } ++ ++ // The service state reports WCDMA, and the SignalStrength is reported for GSM, so at this ++ // point we take an educated guess that the GSM SignalStrength report is actually for ++ // WCDMA. Also, if we are in WCDMA/GSM we can safely assume that there are no other valid ++ // signal strength reports (no SRLTE, which is the only supported case in HAL 1.0). ++ // Thus, we just construct a new SignalStrength and migrate RSSI and BER from the ++ // GSM report to the WCDMA report, leaving everything else empty. ++ return new SignalStrength( ++ new CellSignalStrengthCdma(), new CellSignalStrengthGsm(), ++ new CellSignalStrengthWcdma(gsmStrength.getRssi(), ++ gsmStrength.getBitErrorRate(), ++ CellInfo.UNAVAILABLE, CellInfo.UNAVAILABLE), ++ new CellSignalStrengthTdscdma(), new CellSignalStrengthLte(), ++ new CellSignalStrengthNr()); ++ } ++ + void notifyBarringInfoChanged(@NonNull BarringInfo barringInfo) { + mLastBarringInfo = barringInfo; + mBarringInfoChangedRegistrants.notifyRegistrants(new AsyncResult(null, barringInfo, null)); +diff --git a/src/java/com/android/internal/telephony/RILUtils.java b/src/java/com/android/internal/telephony/RILUtils.java +index 94f2e962ee..5f61159a4e 100644 +--- a/src/java/com/android/internal/telephony/RILUtils.java ++++ b/src/java/com/android/internal/telephony/RILUtils.java +@@ -876,6 +876,41 @@ public class RILUtils { + return new SmsMessage(addr, env); + } + ++ /** ++ * Convert to DataProfileInfo defined in radio/1.0/types.hal ++ * @param dp Data profile ++ * @return The converted DataProfileInfo ++ */ ++ public static android.hardware.radio.V1_0.DataProfileInfo convertToHalDataProfile10( ++ DataProfile dp) { ++ android.hardware.radio.V1_0.DataProfileInfo dpi = ++ new android.hardware.radio.V1_0.DataProfileInfo(); ++ ++ dpi.profileId = dp.getProfileId(); ++ dpi.apn = dp.getApn(); ++ dpi.protocol = ApnSetting.getProtocolStringFromInt(dp.getProtocolType()); ++ dpi.roamingProtocol = ApnSetting.getProtocolStringFromInt(dp.getRoamingProtocolType()); ++ dpi.authType = dp.getAuthType(); ++ dpi.user = TextUtils.emptyIfNull(dp.getUserName()); ++ dpi.password = TextUtils.emptyIfNull(dp.getPassword()); ++ dpi.type = dp.getType(); ++ dpi.maxConnsTime = dp.getMaxConnectionsTime(); ++ dpi.maxConns = dp.getMaxConnections(); ++ dpi.waitTime = dp.getWaitTime(); ++ dpi.enabled = dp.isEnabled(); ++ dpi.supportedApnTypesBitmap = dp.getSupportedApnTypesBitmask(); ++ // Shift by 1 bit due to the discrepancy between ++ // android.hardware.radio.V1_0.RadioAccessFamily and the bitmask version of ++ // ServiceState.RIL_RADIO_TECHNOLOGY_XXXX. ++ dpi.bearerBitmap = ServiceState.convertNetworkTypeBitmaskToBearerBitmask( ++ dp.getBearerBitmask()) << 1; ++ dpi.mtu = dp.getMtuV4(); ++ dpi.mvnoType = android.hardware.radio.V1_0.MvnoType.NONE; ++ dpi.mvnoMatchData = ""; ++ ++ return dpi; ++ } ++ + /** + * Convert to DataProfileInfo defined in radio/1.4/types.hal + * @param dp Data profile +@@ -2170,15 +2205,21 @@ public class RILUtils { + } + + /** +- * Convert LinkCapacityEstimate defined in radio/1.2, 1.6/types.hal to +- * a list of LinkCapacityEstimates +- * @param lceObj LinkCapacityEstimate defined in radio/1.2, 1.6/types.hal ++ * Convert LceDataInfo defined in radio/1.0/types.hal and LinkCapacityEstimate defined in ++ * radio/1.2, 1.6/types.hal to a list of LinkCapacityEstimates ++ * @param lceObj LceDataInfo defined in radio/1.0/types.hal or LinkCapacityEstimate defined in ++ * radio/1.2, 1.6/types.hal + * @return The converted list of LinkCapacityEstimates + */ +- public static List convertHalLinkCapacityEstimate(Object lceObj) { ++ public static List convertHalLceData(Object lceObj) { + final List lceList = new ArrayList<>(); + if (lceObj == null) return lceList; +- if (lceObj instanceof android.hardware.radio.V1_2.LinkCapacityEstimate) { ++ if (lceObj instanceof android.hardware.radio.V1_0.LceDataInfo) { ++ android.hardware.radio.V1_0.LceDataInfo lce = ++ (android.hardware.radio.V1_0.LceDataInfo) lceObj; ++ lceList.add(new LinkCapacityEstimate(LinkCapacityEstimate.LCE_TYPE_COMBINED, ++ lce.lastHopCapacityKbps, LinkCapacityEstimate.INVALID)); ++ } else if (lceObj instanceof android.hardware.radio.V1_2.LinkCapacityEstimate) { + android.hardware.radio.V1_2.LinkCapacityEstimate lce = + (android.hardware.radio.V1_2.LinkCapacityEstimate) lceObj; + lceList.add(new LinkCapacityEstimate(LinkCapacityEstimate.LCE_TYPE_COMBINED, +@@ -2206,13 +2247,26 @@ public class RILUtils { + return lceList; + } + ++ /** ++ * Convert LceDataInfo defined in LceDataInfo.aidl to a list of LinkCapacityEstimates ++ * @param lce LceDataInfo defined in LceDataInfo.aidl ++ * @return The converted list of LinkCapacityEstimates ++ */ ++ public static List convertHalLceData( ++ android.hardware.radio.network.LceDataInfo lce) { ++ final List lceList = new ArrayList<>(); ++ lceList.add(new LinkCapacityEstimate(LinkCapacityEstimate.LCE_TYPE_COMBINED, ++ lce.lastHopCapacityKbps, LinkCapacityEstimate.INVALID)); ++ return lceList; ++ } ++ + /** + * Convert LinkCapacityEstimate defined in LinkCapacityEstimate.aidl to a list of + * LinkCapacityEstimates + * @param lce LinkCapacityEstimate defined in LinkCapacityEstimate.aidl + * @return The converted list of LinkCapacityEstimates + */ +- public static List convertHalLinkCapacityEstimate( ++ public static List convertHalLceData( + android.hardware.radio.network.LinkCapacityEstimate lce) { + final List lceList = new ArrayList<>(); + int primaryDownlinkCapacityKbps = lce.downlinkCapacityKbps; +@@ -2236,9 +2290,9 @@ public class RILUtils { + + + /** +- * Convert a list of CellInfo defined in radio/1.4, 1.5, 1.6/types.hal to a list of ++ * Convert a list of CellInfo defined in radio/1.0, 1.2, 1.4, 1.5, 1.6/types.hal to a list of + * CellInfos +- * @param records List of CellInfo defined in radio/1.4, 1.5, 1.6/types.hal ++ * @param records List of CellInfo defined in radio/1.0, 1.2, 1.4, 1.5, 1.6/types.hal + * @return The converted list of CellInfos + */ + public static ArrayList convertHalCellInfoList(ArrayList records) { +@@ -2268,8 +2322,8 @@ public class RILUtils { + } + + /** +- * Convert a CellInfo defined in radio/1.4, 1.5, 1.6/types.hal to CellInfo +- * @param cellInfo CellInfo defined in radio/1.4, 1.5, 1.6/types.hal ++ * Convert a CellInfo defined in radio/1.0, 1.2, 1.4, 1.5, 1.6/types.hal to CellInfo ++ * @param cellInfo CellInfo defined in radio/1.0, 1.2, 1.4, 1.5, 1.6/types.hal + * @param nanotime time the CellInfo was created + * @return The converted CellInfo + */ +@@ -2291,7 +2345,87 @@ public class RILUtils { + CellSignalStrengthTdscdma tdscdmaSs = null; + CellIdentityNr nrCi = null; + CellSignalStrengthNr nrSs = null; +- if (cellInfo instanceof android.hardware.radio.V1_4.CellInfo) { ++ if (cellInfo instanceof android.hardware.radio.V1_0.CellInfo) { ++ final android.hardware.radio.V1_0.CellInfo record = ++ (android.hardware.radio.V1_0.CellInfo) cellInfo; ++ connectionStatus = CellInfo.CONNECTION_UNKNOWN; ++ registered = record.registered; ++ switch (record.cellInfoType) { ++ case android.hardware.radio.V1_0.CellInfoType.GSM: ++ type = CellInfo.TYPE_GSM; ++ android.hardware.radio.V1_0.CellInfoGsm gsm = record.gsm.get(0); ++ gsmCi = convertHalCellIdentityGsm(gsm.cellIdentityGsm); ++ gsmSs = convertHalGsmSignalStrength(gsm.signalStrengthGsm); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.CDMA: ++ type = CellInfo.TYPE_CDMA; ++ android.hardware.radio.V1_0.CellInfoCdma cdma = record.cdma.get(0); ++ cdmaCi = convertHalCellIdentityCdma(cdma.cellIdentityCdma); ++ cdmaSs = convertHalCdmaSignalStrength( ++ cdma.signalStrengthCdma, cdma.signalStrengthEvdo); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.LTE: ++ type = CellInfo.TYPE_LTE; ++ android.hardware.radio.V1_0.CellInfoLte lte = record.lte.get(0); ++ lteCi = convertHalCellIdentityLte(lte.cellIdentityLte); ++ lteSs = convertHalLteSignalStrength(lte.signalStrengthLte); ++ lteCc = new CellConfigLte(); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.WCDMA: ++ type = CellInfo.TYPE_WCDMA; ++ android.hardware.radio.V1_0.CellInfoWcdma wcdma = record.wcdma.get(0); ++ wcdmaCi = convertHalCellIdentityWcdma(wcdma.cellIdentityWcdma); ++ wcdmaSs = convertHalWcdmaSignalStrength(wcdma.signalStrengthWcdma); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.TD_SCDMA: ++ type = CellInfo.TYPE_TDSCDMA; ++ android.hardware.radio.V1_0.CellInfoTdscdma tdscdma = record.tdscdma.get(0); ++ tdscdmaCi = convertHalCellIdentityTdscdma(tdscdma.cellIdentityTdscdma); ++ tdscdmaSs = convertHalTdscdmaSignalStrength(tdscdma.signalStrengthTdscdma); ++ break; ++ default: return null; ++ } ++ } else if (cellInfo instanceof android.hardware.radio.V1_2.CellInfo) { ++ final android.hardware.radio.V1_2.CellInfo record = ++ (android.hardware.radio.V1_2.CellInfo) cellInfo; ++ connectionStatus = record.connectionStatus; ++ registered = record.registered; ++ switch(record.cellInfoType) { ++ case android.hardware.radio.V1_0.CellInfoType.GSM: ++ type = CellInfo.TYPE_GSM; ++ android.hardware.radio.V1_2.CellInfoGsm gsm = record.gsm.get(0); ++ gsmCi = convertHalCellIdentityGsm(gsm.cellIdentityGsm); ++ gsmSs = convertHalGsmSignalStrength(gsm.signalStrengthGsm); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.CDMA: ++ type = CellInfo.TYPE_CDMA; ++ android.hardware.radio.V1_2.CellInfoCdma cdma = record.cdma.get(0); ++ cdmaCi = convertHalCellIdentityCdma(cdma.cellIdentityCdma); ++ cdmaSs = convertHalCdmaSignalStrength( ++ cdma.signalStrengthCdma, cdma.signalStrengthEvdo); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.LTE: ++ type = CellInfo.TYPE_LTE; ++ android.hardware.radio.V1_2.CellInfoLte lte = record.lte.get(0); ++ lteCi = convertHalCellIdentityLte(lte.cellIdentityLte); ++ lteSs = convertHalLteSignalStrength(lte.signalStrengthLte); ++ lteCc = new CellConfigLte(); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.WCDMA: ++ type = CellInfo.TYPE_WCDMA; ++ android.hardware.radio.V1_2.CellInfoWcdma wcdma = record.wcdma.get(0); ++ wcdmaCi = convertHalCellIdentityWcdma(wcdma.cellIdentityWcdma); ++ wcdmaSs = convertHalWcdmaSignalStrength(wcdma.signalStrengthWcdma); ++ break; ++ case android.hardware.radio.V1_0.CellInfoType.TD_SCDMA: ++ type = CellInfo.TYPE_TDSCDMA; ++ android.hardware.radio.V1_2.CellInfoTdscdma tdscdma = record.tdscdma.get(0); ++ tdscdmaCi = convertHalCellIdentityTdscdma(tdscdma.cellIdentityTdscdma); ++ tdscdmaSs = convertHalTdscdmaSignalStrength(tdscdma.signalStrengthTdscdma); ++ break; ++ default: return null; ++ } ++ } else if (cellInfo instanceof android.hardware.radio.V1_4.CellInfo) { + final android.hardware.radio.V1_4.CellInfo record = + (android.hardware.radio.V1_4.CellInfo) cellInfo; + connectionStatus = record.connectionStatus; +@@ -2521,13 +2655,43 @@ public class RILUtils { + } + + /** +- * Convert a CellIdentity defined in radio/1.2, 1.5/types.hal to CellIdentity +- * @param halCi CellIdentity defined in radio/1.2, 1.5/types.hal ++ * Convert a CellIdentity defined in radio/1.0, 1.2, 1.5/types.hal to CellIdentity ++ * @param halCi CellIdentity defined in radio/1.0, 1.2, 1.5/types.hal + * @return The converted CellIdentity + */ + public static CellIdentity convertHalCellIdentity(Object halCi) { + if (halCi == null) return null; +- if (halCi instanceof android.hardware.radio.V1_2.CellIdentity) { ++ if (halCi instanceof android.hardware.radio.V1_0.CellIdentity) { ++ android.hardware.radio.V1_0.CellIdentity ci = ++ (android.hardware.radio.V1_0.CellIdentity) halCi; ++ switch (ci.cellInfoType) { ++ case CellInfo.TYPE_GSM: ++ if (ci.cellIdentityGsm.size() == 1) { ++ return convertHalCellIdentityGsm(ci.cellIdentityGsm.get(0)); ++ } ++ break; ++ case CellInfo.TYPE_CDMA: ++ if (ci.cellIdentityCdma.size() == 1) { ++ return convertHalCellIdentityCdma(ci.cellIdentityCdma.get(0)); ++ } ++ break; ++ case CellInfo.TYPE_LTE: ++ if (ci.cellIdentityLte.size() == 1) { ++ return convertHalCellIdentityLte(ci.cellIdentityLte.get(0)); ++ } ++ break; ++ case CellInfo.TYPE_WCDMA: ++ if (ci.cellIdentityWcdma.size() == 1) { ++ return convertHalCellIdentityWcdma(ci.cellIdentityWcdma.get(0)); ++ } ++ break; ++ case CellInfo.TYPE_TDSCDMA: ++ if (ci.cellIdentityTdscdma.size() == 1) { ++ return convertHalCellIdentityTdscdma(ci.cellIdentityTdscdma.get(0)); ++ } ++ break; ++ } ++ } else if (halCi instanceof android.hardware.radio.V1_2.CellIdentity) { + android.hardware.radio.V1_2.CellIdentity ci = + (android.hardware.radio.V1_2.CellIdentity) halCi; + switch (ci.cellInfoType) { +@@ -2604,13 +2768,19 @@ public class RILUtils { + } + + /** +- * Convert a CellIdentityGsm defined in radio/1.2, 1.5/types.hal to CellIdentityGsm +- * @param gsm CellIdentityGsm defined in radio/1.2, 1.5/types.hal ++ * Convert a CellIdentityGsm defined in radio/1.0, 1.2, 1.5/types.hal to CellIdentityGsm ++ * @param gsm CellIdentityGsm defined in radio/1.0, 1.2, 1.5/types.hal + * @return The converted CellIdentityGsm + */ + public static CellIdentityGsm convertHalCellIdentityGsm(Object gsm) { + if (gsm == null) return null; +- if (gsm instanceof android.hardware.radio.V1_2.CellIdentityGsm) { ++ if (gsm instanceof android.hardware.radio.V1_0.CellIdentityGsm) { ++ android.hardware.radio.V1_0.CellIdentityGsm ci = ++ (android.hardware.radio.V1_0.CellIdentityGsm) gsm; ++ return new CellIdentityGsm(ci.lac, ci.cid, ci.arfcn, ++ ci.bsic == (byte) 0xFF ? CellInfo.UNAVAILABLE : ci.bsic, ci.mcc, ci.mnc, "", "", ++ new ArraySet<>()); ++ } else if (gsm instanceof android.hardware.radio.V1_2.CellIdentityGsm) { + android.hardware.radio.V1_2.CellIdentityGsm ci = + (android.hardware.radio.V1_2.CellIdentityGsm) gsm; + return new CellIdentityGsm(ci.base.lac, ci.base.cid, ci.base.arfcn, +@@ -2643,13 +2813,18 @@ public class RILUtils { + } + + /** +- * Convert a CellIdentityCdma defined in radio/1.2/types.hal to CellIdentityCdma +- * @param cdma CellIdentityCdma defined in radio/1.2/types.hal ++ * Convert a CellIdentityCdma defined in radio/1.0, 1.2/types.hal to CellIdentityCdma ++ * @param cdma CellIdentityCdma defined in radio/1.0, 1.2/types.hal + * @return The converted CellIdentityCdma + */ + public static CellIdentityCdma convertHalCellIdentityCdma(Object cdma) { + if (cdma == null) return null; +- if (cdma instanceof android.hardware.radio.V1_2.CellIdentityCdma) { ++ if (cdma instanceof android.hardware.radio.V1_0.CellIdentityCdma) { ++ android.hardware.radio.V1_0.CellIdentityCdma ci = ++ (android.hardware.radio.V1_0.CellIdentityCdma) cdma; ++ return new CellIdentityCdma(ci.networkId, ci.systemId, ci.baseStationId, ci.longitude, ++ ci.latitude, "", ""); ++ } else if (cdma instanceof android.hardware.radio.V1_2.CellIdentityCdma) { + android.hardware.radio.V1_2.CellIdentityCdma ci = + (android.hardware.radio.V1_2.CellIdentityCdma) cdma; + return new CellIdentityCdma(ci.base.networkId, ci.base.systemId, ci.base.baseStationId, +@@ -2672,13 +2847,18 @@ public class RILUtils { + } + + /** +- * Convert a CellIdentityLte defined in radio/1.2, 1.5/types.hal to CellIdentityLte +- * @param lte CellIdentityLte defined in radio/1.2, 1.5/types.hal ++ * Convert a CellIdentityLte defined in radio/1.0, 1.2, 1.5/types.hal to CellIdentityLte ++ * @param lte CellIdentityLte defined in radio/1.0, 1.2, 1.5/types.hal + * @return The converted CellIdentityLte + */ + public static CellIdentityLte convertHalCellIdentityLte(Object lte) { + if (lte == null) return null; +- if (lte instanceof android.hardware.radio.V1_2.CellIdentityLte) { ++ if (lte instanceof android.hardware.radio.V1_0.CellIdentityLte) { ++ android.hardware.radio.V1_0.CellIdentityLte ci = ++ (android.hardware.radio.V1_0.CellIdentityLte) lte; ++ return new CellIdentityLte(ci.ci, ci.pci, ci.tac, ci.earfcn, new int[] {}, ++ CellInfo.UNAVAILABLE, ci.mcc, ci.mnc, "", "", new ArraySet<>(), null); ++ } else if (lte instanceof android.hardware.radio.V1_2.CellIdentityLte) { + android.hardware.radio.V1_2.CellIdentityLte ci = + (android.hardware.radio.V1_2.CellIdentityLte) lte; + return new CellIdentityLte(ci.base.ci, ci.base.pci, ci.base.tac, ci.base.earfcn, +@@ -2712,13 +2892,18 @@ public class RILUtils { + } + + /** +- * Convert a CellIdentityWcdma defined in radio/1.2, 1.5/types.hal to CellIdentityWcdma +- * @param wcdma CellIdentityWcdma defined in radio/1.2, 1.5/types.hal ++ * Convert a CellIdentityWcdma defined in radio/1.0, 1.2, 1.5/types.hal to CellIdentityWcdma ++ * @param wcdma CellIdentityWcdma defined in radio/1.0, 1.2, 1.5/types.hal + * @return The converted CellIdentityWcdma + */ + public static CellIdentityWcdma convertHalCellIdentityWcdma(Object wcdma) { + if (wcdma == null) return null; +- if (wcdma instanceof android.hardware.radio.V1_2.CellIdentityWcdma) { ++ if (wcdma instanceof android.hardware.radio.V1_0.CellIdentityWcdma) { ++ android.hardware.radio.V1_0.CellIdentityWcdma ci = ++ (android.hardware.radio.V1_0.CellIdentityWcdma) wcdma; ++ return new CellIdentityWcdma(ci.lac, ci.cid, ci.psc, ci.uarfcn, ci.mcc, ci.mnc, "", "", ++ new ArraySet<>(), null); ++ } else if (wcdma instanceof android.hardware.radio.V1_2.CellIdentityWcdma) { + android.hardware.radio.V1_2.CellIdentityWcdma ci = + (android.hardware.radio.V1_2.CellIdentityWcdma) wcdma; + return new CellIdentityWcdma(ci.base.lac, ci.base.cid, ci.base.psc, ci.base.uarfcn, +@@ -2750,13 +2935,18 @@ public class RILUtils { + } + + /** +- * Convert a CellIdentityTdscdma defined in radio/1.2, 1.5/types.hal to CellIdentityTdscdma +- * @param tdscdma CellIdentityTdscdma defined in radio/1.2, 1.5/types.hal ++ * Convert a CellIdentityTdscdma defined in radio/1.0, 1.2, 1.5/types.hal to CellIdentityTdscdma ++ * @param tdscdma CellIdentityTdscdma defined in radio/1.0, 1.2, 1.5/types.hal + * @return The converted CellIdentityTdscdma + */ + public static CellIdentityTdscdma convertHalCellIdentityTdscdma(Object tdscdma) { + if (tdscdma == null) return null; +- if (tdscdma instanceof android.hardware.radio.V1_2.CellIdentityTdscdma) { ++ if (tdscdma instanceof android.hardware.radio.V1_0.CellIdentityTdscdma) { ++ android.hardware.radio.V1_0.CellIdentityTdscdma ci = ++ (android.hardware.radio.V1_0.CellIdentityTdscdma) tdscdma; ++ return new CellIdentityTdscdma(ci.mcc, ci.mnc, ci.lac, ci.cid, ci.cpid, ++ CellInfo.UNAVAILABLE, "", "", Collections.emptyList(), null); ++ } else if (tdscdma instanceof android.hardware.radio.V1_2.CellIdentityTdscdma) { + android.hardware.radio.V1_2.CellIdentityTdscdma ci = + (android.hardware.radio.V1_2.CellIdentityTdscdma) tdscdma; + return new CellIdentityTdscdma(ci.base.mcc, ci.base.mnc, ci.base.lac, ci.base.cid, +@@ -2776,7 +2966,7 @@ public class RILUtils { + + /** + * Convert a CellIdentityTdscdma defined in CellIdentityTdscdma.aidl to CellIdentityTdscdma +- * @param cid CellIdentityTdscdma defined in radio/1.2, 1.5/types.hal ++ * @param cid CellIdentityTdscdma defined in radio/1.0, 1.2, 1.5/types.hal + * @return The converted CellIdentityTdscdma + */ + public static CellIdentityTdscdma convertHalCellIdentityTdscdma( +@@ -2825,13 +3015,31 @@ public class RILUtils { + } + + /** +- * Convert a SignalStrength defined in radio/1.4, 1.6/types.hal to SignalStrength +- * @param ss SignalStrength defined in radio/1.4, 1.6/types.hal ++ * Convert a SignalStrength defined in radio/1.0, 1.2, 1.4, 1.6/types.hal to SignalStrength ++ * @param ss SignalStrength defined in radio/1.0, 1.2, 1.4, 1.6/types.hal + * @return The converted SignalStrength + */ + public static SignalStrength convertHalSignalStrength(Object ss) { + if (ss == null) return null; +- if (ss instanceof android.hardware.radio.V1_4.SignalStrength) { ++ if (ss instanceof android.hardware.radio.V1_0.SignalStrength) { ++ android.hardware.radio.V1_0.SignalStrength signalStrength = ++ (android.hardware.radio.V1_0.SignalStrength) ss; ++ return new SignalStrength( ++ convertHalCdmaSignalStrength(signalStrength.cdma, signalStrength.evdo), ++ convertHalGsmSignalStrength(signalStrength.gw), new CellSignalStrengthWcdma(), ++ convertHalTdscdmaSignalStrength(signalStrength.tdScdma), ++ convertHalLteSignalStrength(signalStrength.lte), ++ new CellSignalStrengthNr()); ++ } else if (ss instanceof android.hardware.radio.V1_2.SignalStrength) { ++ android.hardware.radio.V1_2.SignalStrength signalStrength = ++ (android.hardware.radio.V1_2.SignalStrength) ss; ++ return new SignalStrength( ++ convertHalCdmaSignalStrength(signalStrength.cdma, signalStrength.evdo), ++ convertHalGsmSignalStrength(signalStrength.gsm), ++ convertHalWcdmaSignalStrength(signalStrength.wcdma), ++ convertHalTdscdmaSignalStrength(signalStrength.tdScdma), ++ convertHalLteSignalStrength(signalStrength.lte), new CellSignalStrengthNr()); ++ } else if (ss instanceof android.hardware.radio.V1_4.SignalStrength) { + android.hardware.radio.V1_4.SignalStrength signalStrength = + (android.hardware.radio.V1_4.SignalStrength) ss; + return new SignalStrength( +@@ -2979,19 +3187,29 @@ public class RILUtils { + } + + /** +- * Convert a WcdmaSignalStrength defined in radio/1.2/types.hal to CellSignalStrengthWcdma +- * @param wcdma WcdmaSignalStrength defined in radio/1.2/types.hal ++ * Convert a WcdmaSignalStrength defined in radio/1.0, 1.2/types.hal to CellSignalStrengthWcdma ++ * @param wcdma WcdmaSignalStrength defined in radio/1.0, 1.2/types.hal + * @return The converted CellSignalStrengthWcdma + */ + public static CellSignalStrengthWcdma convertHalWcdmaSignalStrength(Object wcdma) { + if (wcdma == null) return null; +- android.hardware.radio.V1_2.WcdmaSignalStrength ss = +- (android.hardware.radio.V1_2.WcdmaSignalStrength) wcdma; +- CellSignalStrengthWcdma ret = new CellSignalStrengthWcdma( +- CellSignalStrength.getRssiDbmFromAsu(ss.base.signalStrength), +- ss.base.bitErrorRate, CellSignalStrength.getRscpDbmFromAsu(ss.rscp), +- CellSignalStrength.getEcNoDbFromAsu(ss.ecno)); +- if (ret.getRssi() == CellInfo.UNAVAILABLE && ret.getRscp() == CellInfo.UNAVAILABLE) { ++ CellSignalStrengthWcdma ret = null; ++ if (wcdma instanceof android.hardware.radio.V1_0.WcdmaSignalStrength) { ++ android.hardware.radio.V1_0.WcdmaSignalStrength ss = ++ (android.hardware.radio.V1_0.WcdmaSignalStrength) wcdma; ++ ret = new CellSignalStrengthWcdma( ++ CellSignalStrength.getRssiDbmFromAsu(ss.signalStrength), ss.bitErrorRate, ++ CellInfo.UNAVAILABLE, CellInfo.UNAVAILABLE); ++ } else if (wcdma instanceof android.hardware.radio.V1_2.WcdmaSignalStrength) { ++ android.hardware.radio.V1_2.WcdmaSignalStrength ss = ++ (android.hardware.radio.V1_2.WcdmaSignalStrength) wcdma; ++ ret = new CellSignalStrengthWcdma( ++ CellSignalStrength.getRssiDbmFromAsu(ss.base.signalStrength), ++ ss.base.bitErrorRate, CellSignalStrength.getRscpDbmFromAsu(ss.rscp), ++ CellSignalStrength.getEcNoDbFromAsu(ss.ecno)); ++ } ++ if (ret != null && ret.getRssi() == CellInfo.UNAVAILABLE ++ && ret.getRscp() == CellInfo.UNAVAILABLE) { + ret.setDefaultValues(); + ret.updateLevel(null, null); + } +@@ -3017,18 +3235,29 @@ public class RILUtils { + } + + /** +- * Convert a TdscdmaSignalStrength defined in radio/1.2/types.hal to CellSignalStrengthTdscdma +- * @param tdscdma TdscdmaSignalStrength defined in radio/1.2/types.hal ++ * Convert a TdScdmaSignalStrength defined in radio/1.0/types.hal or TdscdmaSignalStrength ++ * defined in radio/1.2/types.hal to CellSignalStrengthTdscdma ++ * @param tdscdma TdScdmaSignalStrength defined in radio/1.0/types.hal or TdscdmaSignalStrength ++ * defined in radio/1.2/types.hal + * @return The converted CellSignalStrengthTdscdma + */ + public static CellSignalStrengthTdscdma convertHalTdscdmaSignalStrength(Object tdscdma) { + if (tdscdma == null) return null; +- android.hardware.radio.V1_2.TdscdmaSignalStrength ss = +- (android.hardware.radio.V1_2.TdscdmaSignalStrength) tdscdma; +- CellSignalStrengthTdscdma ret = new CellSignalStrengthTdscdma( +- CellSignalStrength.getRssiDbmFromAsu(ss.signalStrength), ss.bitErrorRate, +- CellSignalStrength.getRscpDbmFromAsu(ss.rscp)); +- if (ret.getRssi() == CellInfo.UNAVAILABLE && ret.getRscp() == CellInfo.UNAVAILABLE) { ++ CellSignalStrengthTdscdma ret = null; ++ if (tdscdma instanceof android.hardware.radio.V1_0.TdScdmaSignalStrength) { ++ android.hardware.radio.V1_0.TdScdmaSignalStrength ss = ++ (android.hardware.radio.V1_0.TdScdmaSignalStrength) tdscdma; ++ ret = new CellSignalStrengthTdscdma(CellInfo.UNAVAILABLE, CellInfo.UNAVAILABLE, ++ ss.rscp != CellInfo.UNAVAILABLE ? -ss.rscp : ss.rscp); ++ } else if (tdscdma instanceof android.hardware.radio.V1_2.TdscdmaSignalStrength) { ++ android.hardware.radio.V1_2.TdscdmaSignalStrength ss = ++ (android.hardware.radio.V1_2.TdscdmaSignalStrength) tdscdma; ++ ret = new CellSignalStrengthTdscdma( ++ CellSignalStrength.getRssiDbmFromAsu(ss.signalStrength), ss.bitErrorRate, ++ CellSignalStrength.getRscpDbmFromAsu(ss.rscp)); ++ } ++ if (ret != null && ret.getRssi() == CellInfo.UNAVAILABLE ++ && ret.getRscp() == CellInfo.UNAVAILABLE) { + ret.setDefaultValues(); + ret.updateLevel(null, null); + } +@@ -3213,9 +3442,9 @@ public class RILUtils { + } + + /** +- * Convert SetupDataCallResult defined in radio/1.4, 1.5, 1.6/types.hal into ++ * Convert SetupDataCallResult defined in radio/1.0, 1.4, 1.5, 1.6/types.hal into + * DataCallResponse +- * @param dcResult SetupDataCallResult defined in radio/1.4, 1.5, 1.6/types.hal ++ * @param dcResult SetupDataCallResult defined in radio/1.0, 1.4, 1.5, 1.6/types.hal + * @return The converted DataCallResponse + */ + @VisibleForTesting +@@ -3226,10 +3455,10 @@ public class RILUtils { + long suggestedRetryTime; + String ifname; + int protocolType; +- String[] addresses; +- String[] dnses; +- String[] gateways; +- String[] pcscfs; ++ String[] addresses = null; ++ String[] dnses = null; ++ String[] gateways = null; ++ String[] pcscfs = null; + Qos defaultQos = null; + @DataCallResponse.HandoverFailureMode + int handoverFailureMode = DataCallResponse.HANDOVER_FAILURE_MODE_LEGACY; +@@ -3239,7 +3468,34 @@ public class RILUtils { + NetworkSliceInfo sliceInfo = null; + List trafficDescriptors = new ArrayList<>(); + +- if (dcResult instanceof android.hardware.radio.V1_4.SetupDataCallResult) { ++ if (dcResult instanceof android.hardware.radio.V1_0.SetupDataCallResult) { ++ final android.hardware.radio.V1_0.SetupDataCallResult result = ++ (android.hardware.radio.V1_0.SetupDataCallResult) dcResult; ++ cause = result.status; ++ suggestedRetryTime = result.suggestedRetryTime; ++ cid = result.cid; ++ active = result.active; ++ protocolType = ApnSetting.getProtocolIntFromString(result.type); ++ ifname = result.ifname; ++ if (!TextUtils.isEmpty(result.addresses)) { ++ addresses = result.addresses.split("\\s+"); ++ } ++ if (!TextUtils.isEmpty(result.dnses)) { ++ dnses = result.dnses.split("\\s+"); ++ } ++ if (!TextUtils.isEmpty(result.gateways)) { ++ gateways = result.gateways.split("\\s+"); ++ } ++ if (!TextUtils.isEmpty(result.pcscf)) { ++ pcscfs = result.pcscf.split("\\s+"); ++ } ++ mtu = mtuV4 = mtuV6 = result.mtu; ++ if (addresses != null) { ++ for (String address : addresses) { ++ laList.add(convertToLinkAddress(address)); ++ } ++ } ++ } else if (dcResult instanceof android.hardware.radio.V1_4.SetupDataCallResult) { + final android.hardware.radio.V1_4.SetupDataCallResult result = + (android.hardware.radio.V1_4.SetupDataCallResult) dcResult; + cause = result.cause; +@@ -3792,10 +4048,10 @@ public class RILUtils { + } + + /** +- * Convert a list of SetupDataCallResult defined in radio/1.4, 1.5, 1.6/types.hal into ++ * Convert a list of SetupDataCallResult defined in radio/1.0, 1.4, 1.5, 1.6/types.hal into + * a list of DataCallResponse + * @param dataCallResultList List of SetupDataCallResult defined in +- * radio/1.4, 1.5, 1.6/types.hal ++ * radio/1.0, 1.4, 1.5, 1.6/types.hal + * @return The converted list of DataCallResponses + */ + @VisibleForTesting +@@ -3885,8 +4141,8 @@ public class RILUtils { + } + + /** +- * Convert Call defined in radio/1.2, 1.6/types.hal to DriverCall +- * @param halCall Call defined in radio/1.2, 1.6/types.hal ++ * Convert Call defined in radio/1.0, 1.2, 1.6/types.hal to DriverCall ++ * @param halCall Call defined in radio/1.0, 1.2, 1.6/types.hal + * @return The converted DriverCall + */ + public static DriverCall convertToDriverCall(Object halCall) { +@@ -3902,13 +4158,17 @@ public class RILUtils { + call16 = null; + call12 = (android.hardware.radio.V1_2.Call) halCall; + call10 = call12.base; ++ } else if (halCall instanceof android.hardware.radio.V1_0.Call) { ++ call16 = null; ++ call12 = null; ++ call10 = (android.hardware.radio.V1_0.Call) halCall; + } else { + call16 = null; + call12 = null; + call10 = null; + } + if (call10 != null) { +- dc.state = DriverCall.stateFromCLCC(call10.state); ++ dc.state = DriverCall.stateFromCLCC((int) (call10.state)); + dc.index = call10.index; + dc.TOA = call10.toa; + dc.isMpty = call10.isMpty; +@@ -3917,9 +4177,10 @@ public class RILUtils { + dc.isVoice = call10.isVoice; + dc.isVoicePrivacy = call10.isVoicePrivacy; + dc.number = call10.number; +- dc.numberPresentation = DriverCall.presentationFromCLIP(call10.numberPresentation); ++ dc.numberPresentation = DriverCall.presentationFromCLIP( ++ (int) (call10.numberPresentation)); + dc.name = call10.name; +- dc.namePresentation = DriverCall.presentationFromCLIP(call10.namePresentation); ++ dc.namePresentation = DriverCall.presentationFromCLIP((int) (call10.namePresentation)); + if (call10.uusInfo.size() == 1) { + dc.uusInfo = new UUSInfo(); + dc.uusInfo.setType(call10.uusInfo.get(0).uusType); +@@ -3933,7 +4194,7 @@ public class RILUtils { + dc.number = PhoneNumberUtils.stringFromStringAndTOA(dc.number, dc.TOA); + } + if (call12 != null) { +- dc.audioQuality = call12.audioQuality; ++ dc.audioQuality = (int) (call12.audioQuality); + } + if (call16 != null) { + dc.forwardedNumber = call16.forwardedNumber; +@@ -3948,7 +4209,7 @@ public class RILUtils { + */ + public static DriverCall convertToDriverCall(android.hardware.radio.voice.Call halCall) { + DriverCall dc = new DriverCall(); +- dc.state = DriverCall.stateFromCLCC(halCall.state); ++ dc.state = DriverCall.stateFromCLCC((int) halCall.state); + dc.index = halCall.index; + dc.TOA = halCall.toa; + dc.isMpty = halCall.isMpty; +@@ -3957,9 +4218,9 @@ public class RILUtils { + dc.isVoice = halCall.isVoice; + dc.isVoicePrivacy = halCall.isVoicePrivacy; + dc.number = halCall.number; +- dc.numberPresentation = DriverCall.presentationFromCLIP(halCall.numberPresentation); ++ dc.numberPresentation = DriverCall.presentationFromCLIP((int) halCall.numberPresentation); + dc.name = halCall.name; +- dc.namePresentation = DriverCall.presentationFromCLIP(halCall.namePresentation); ++ dc.namePresentation = DriverCall.presentationFromCLIP((int) halCall.namePresentation); + if (halCall.uusInfo.length == 1) { + dc.uusInfo = new UUSInfo(); + dc.uusInfo.setType(halCall.uusInfo[0].uusType); +@@ -3970,7 +4231,7 @@ public class RILUtils { + } + // Make sure there's a leading + on addresses with a TOA of 145 + dc.number = PhoneNumberUtils.stringFromStringAndTOA(dc.number, dc.TOA); +- dc.audioQuality = halCall.audioQuality; ++ dc.audioQuality = (int) halCall.audioQuality; + dc.forwardedNumber = halCall.forwardedNumber; + return dc; + } +diff --git a/src/java/com/android/internal/telephony/RadioConfig.java b/src/java/com/android/internal/telephony/RadioConfig.java +index 6bf0203cb8..3e2be1d6ae 100644 +--- a/src/java/com/android/internal/telephony/RadioConfig.java ++++ b/src/java/com/android/internal/telephony/RadioConfig.java +@@ -61,6 +61,7 @@ public class RadioConfig extends Handler { + static final int EVENT_HIDL_SERVICE_DEAD = 1; + static final int EVENT_AIDL_SERVICE_DEAD = 2; + static final HalVersion RADIO_CONFIG_HAL_VERSION_UNKNOWN = new HalVersion(-1, -1); ++ static final HalVersion RADIO_CONFIG_HAL_VERSION_1_0 = new HalVersion(1, 0); + static final HalVersion RADIO_CONFIG_HAL_VERSION_1_1 = new HalVersion(1, 1); + static final HalVersion RADIO_CONFIG_HAL_VERSION_1_3 = new HalVersion(1, 3); + static final HalVersion RADIO_CONFIG_HAL_VERSION_2_0 = new HalVersion(2, 0); +@@ -316,7 +317,13 @@ public class RadioConfig extends Handler { + } + + if (mRadioConfigProxy.isEmpty()) { +- loge("IRadioConfig <1.1 is no longer supported."); ++ try { ++ mRadioConfigProxy.setHidl(RADIO_CONFIG_HAL_VERSION_1_0, ++ android.hardware.radio.config.V1_0.IRadioConfig.getService(true)); ++ } catch (RemoteException | NoSuchElementException e) { ++ mRadioConfigProxy.clear(); ++ loge("getHidlRadioConfigProxy1_0: RadioConfigProxy getService | linkToDeath: " + e); ++ } + } + + if (!mRadioConfigProxy.isEmpty()) { +diff --git a/src/java/com/android/internal/telephony/RadioConfigProxy.java b/src/java/com/android/internal/telephony/RadioConfigProxy.java +index 9d05fc5fc3..edeb558b5d 100644 +--- a/src/java/com/android/internal/telephony/RadioConfigProxy.java ++++ b/src/java/com/android/internal/telephony/RadioConfigProxy.java +@@ -35,7 +35,7 @@ public class RadioConfigProxy { + private final RadioConfigHidlServiceDeathRecipient mRadioConfigHidlServiceDeathRecipient; + private final RadioConfigAidlServiceDeathRecipient mRadioConfigAidlServiceDeathRecipient; + +- private volatile android.hardware.radio.config.V1_1.IRadioConfig mHidlRadioConfigProxy = null; ++ private volatile android.hardware.radio.config.V1_0.IRadioConfig mHidlRadioConfigProxy = null; + private volatile android.hardware.radio.config.IRadioConfig mAidlRadioConfigProxy = null; + + private HalVersion mRadioConfigHalVersion = RadioConfig.RADIO_CONFIG_HAL_VERSION_UNKNOWN; +@@ -57,19 +57,27 @@ public class RadioConfigProxy { + */ + public void setHidl( + HalVersion radioConfigHalVersion, +- android.hardware.radio.config.V1_1.IRadioConfig radioConfig) { ++ android.hardware.radio.config.V1_0.IRadioConfig radioConfig) { + mRadioConfigHalVersion = radioConfigHalVersion; + mHidlRadioConfigProxy = radioConfig; + mIsAidl = false; + mRadioConfigHidlServiceDeathRecipient.setService(radioConfig); + } + ++ /** ++ * Get HIDL IRadioConfig V1_0 ++ * @return IRadioConfigV1_0 ++ */ ++ public android.hardware.radio.config.V1_0.IRadioConfig getHidl10() { ++ return mHidlRadioConfigProxy; ++ } ++ + /** + * Get HIDL IRadioConfig V1_1 + * @return IRadioConfigV1_1 + */ + public android.hardware.radio.config.V1_1.IRadioConfig getHidl11() { +- return mHidlRadioConfigProxy; ++ return (android.hardware.radio.config.V1_1.IRadioConfig) mHidlRadioConfigProxy; + } + + /** +@@ -184,7 +192,7 @@ public class RadioConfigProxy { + if (isAidl()) { + getAidl().getSimSlotsStatus(serial); + } else { +- getHidl11().getSimSlotsStatus(serial); ++ getHidl10().getSimSlotsStatus(serial); + } + } + +@@ -219,7 +227,7 @@ public class RadioConfigProxy { + if (isAidl()) { + getAidl().setSimSlotsMapping(serial, RILUtils.convertSimSlotsMapping(slotMapping)); + } else { +- getHidl11().setSimSlotsMapping(serial, ++ getHidl10().setSimSlotsMapping(serial, + RILUtils.convertSlotMappingToList(slotMapping)); + } + } +@@ -257,13 +265,13 @@ public class RadioConfigProxy { + private static final String TAG = "RadioConfigHidlSDR"; + + private final RadioConfig mRadioConfig; +- private android.hardware.radio.config.V1_1.IRadioConfig mService; ++ private android.hardware.radio.config.V1_0.IRadioConfig mService; + + RadioConfigHidlServiceDeathRecipient(RadioConfig radioConfig) { + mRadioConfig = radioConfig; + } + +- public void setService(android.hardware.radio.config.V1_1.IRadioConfig service) { ++ public void setService(android.hardware.radio.config.V1_0.IRadioConfig service) { + mService = service; + } + +diff --git a/src/java/com/android/internal/telephony/RadioDataProxy.java b/src/java/com/android/internal/telephony/RadioDataProxy.java +index 40db9e5b3d..9671077b0f 100644 +--- a/src/java/com/android/internal/telephony/RadioDataProxy.java ++++ b/src/java/com/android/internal/telephony/RadioDataProxy.java +@@ -22,7 +22,9 @@ import android.os.AsyncResult; + import android.os.Message; + import android.os.RemoteException; + import android.telephony.Rlog; ++import android.telephony.ServiceState; + import android.telephony.data.DataProfile; ++import android.telephony.data.DataService; + import android.telephony.data.NetworkSliceInfo; + import android.telephony.data.TrafficDescriptor; + +@@ -32,8 +34,8 @@ import java.net.InetAddress; + import java.util.ArrayList; + + /** +- * A holder for IRadioData. +- * Use getAidl to get IRadioData and call the AIDL implementations of the HAL APIs. ++ * A holder for IRadioData. Use getHidl to get IRadio 1.0 and call the HIDL implementations or ++ * getAidl to get IRadioData and call the AIDL implementations of the HAL APIs. + */ + public class RadioDataProxy extends RadioServiceProxy { + private static final String TAG = "RadioDataProxy"; +@@ -127,8 +129,12 @@ public class RadioDataProxy extends RadioServiceProxy { + if (isEmpty()) return; + if (isAidl()) { + mDataProxy.deactivateDataCall(serial, cid, reason); ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_2)) { ++ ((android.hardware.radio.V1_2.IRadio) mRadioProxy).deactivateDataCall_1_2( ++ serial, cid, reason); + } else { +- mRadioProxy.deactivateDataCall_1_2(serial, cid, reason); ++ mRadioProxy.deactivateDataCall(serial, cid, ++ reason == DataService.REQUEST_REASON_SHUTDOWN); + } + } + +@@ -210,9 +216,11 @@ public class RadioDataProxy extends RadioServiceProxy { + * Call IRadioData#setDataProfile + * @param serial Serial number of request + * @param profiles Array of DataProfiles to set ++ * @param isRoaming Whether or not the device is roaming + * @throws RemoteException + */ +- public void setDataProfile(int serial, DataProfile[] profiles) throws RemoteException { ++ public void setDataProfile(int serial, DataProfile[] profiles, boolean isRoaming) ++ throws RemoteException { + if (isEmpty()) return; + if (isAidl()) { + android.hardware.radio.data.DataProfileInfo[] dpis = +@@ -227,12 +235,22 @@ public class RadioDataProxy extends RadioServiceProxy { + dpis.add(RILUtils.convertToHalDataProfile15(dp)); + } + ((android.hardware.radio.V1_5.IRadio) mRadioProxy).setDataProfile_1_5(serial, dpis); +- } else { ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { + ArrayList dpis = new ArrayList<>(); + for (DataProfile dp : profiles) { + dpis.add(RILUtils.convertToHalDataProfile14(dp)); + } +- mRadioProxy.setDataProfile_1_4(serial, dpis); ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).setDataProfile_1_4(serial, dpis); ++ } else { ++ ArrayList dpis = new ArrayList<>(); ++ for (DataProfile dp : profiles) { ++ if (dp.isPersistent()) { ++ dpis.add(RILUtils.convertToHalDataProfile10(dp)); ++ } ++ } ++ if (!dpis.isEmpty()) { ++ mRadioProxy.setDataProfile(serial, dpis, isRoaming); ++ } + } + } + +@@ -259,9 +277,10 @@ public class RadioDataProxy extends RadioServiceProxy { + * Call IRadioData#setInitialAttachApn + * @param serial Serial number of request + * @param dataProfile Data profile containing APN settings ++ * @param isRoaming Whether or not the device is roaming + * @throws RemoteException + */ +- public void setInitialAttachApn(int serial, DataProfile dataProfile) ++ public void setInitialAttachApn(int serial, DataProfile dataProfile, boolean isRoaming) + throws RemoteException { + if (isEmpty()) return; + if (isAidl()) { +@@ -269,17 +288,22 @@ public class RadioDataProxy extends RadioServiceProxy { + } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_5)) { + ((android.hardware.radio.V1_5.IRadio) mRadioProxy).setInitialAttachApn_1_5(serial, + RILUtils.convertToHalDataProfile15(dataProfile)); +- } else { +- mRadioProxy.setInitialAttachApn_1_4(serial, ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).setInitialAttachApn_1_4(serial, + RILUtils.convertToHalDataProfile14(dataProfile)); ++ } else { ++ mRadioProxy.setInitialAttachApn(serial, RILUtils.convertToHalDataProfile10(dataProfile), ++ dataProfile.isPersistent(), isRoaming); + } + } + + /** + * Call IRadioData#setupDataCall + * @param serial Serial number of request ++ * @param phoneId Phone ID of the requestor + * @param accessNetwork Access network to setup the data call + * @param dataProfileInfo Data profile info ++ * @param isRoaming Whether or not the device is roaming + * @param roamingAllowed Whether or not data roaming is allowed by the user + * @param reason Request reason + * @param linkProperties LinkProperties containing address and DNS info +@@ -292,14 +316,15 @@ public class RadioDataProxy extends RadioServiceProxy { + * is allowed + * @throws RemoteException + */ +- public void setupDataCall(int serial, int accessNetwork, DataProfile dataProfileInfo, +- boolean roamingAllowed, int reason, LinkProperties linkProperties, int pduSessionId, +- NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, +- boolean matchAllRuleAllowed) throws RemoteException { ++ public void setupDataCall(int serial, int phoneId, int accessNetwork, ++ DataProfile dataProfileInfo, boolean isRoaming, boolean roamingAllowed, int reason, ++ LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, ++ TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed) ++ throws RemoteException { + if (isEmpty()) return; + ArrayList addresses = new ArrayList<>(); + ArrayList dnses = new ArrayList<>(); +- String[] dnsesArr; ++ String[] dnsesArr = null; + if (linkProperties != null) { + for (InetAddress address : linkProperties.getAddresses()) { + addresses.add(address.getHostAddress()); +@@ -336,10 +361,31 @@ public class RadioDataProxy extends RadioServiceProxy { + accessNetwork, RILUtils.convertToHalDataProfile15(dataProfileInfo), + roamingAllowed, reason, RILUtils.convertToHalLinkProperties15(linkProperties), + dnses); +- } else { +- mRadioProxy.setupDataCall_1_4(serial, accessNetwork, +- RILUtils.convertToHalDataProfile14(dataProfileInfo), ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).setupDataCall_1_4(serial, ++ accessNetwork, RILUtils.convertToHalDataProfile14(dataProfileInfo), + roamingAllowed, reason, addresses, dnses); ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_2)) { ++ ((android.hardware.radio.V1_2.IRadio) mRadioProxy).setupDataCall_1_2(serial, ++ accessNetwork, RILUtils.convertToHalDataProfile10(dataProfileInfo), ++ dataProfileInfo.isPersistent(), roamingAllowed, isRoaming, reason, addresses, ++ dnses); ++ } else { ++ // Getting data RAT here is just a workaround to support the older 1.0 vendor RIL. ++ // The new data service interface passes access network type instead of RAT for ++ // setup data request. It is impossible to convert access network type back to RAT here, ++ // so we directly get the data RAT from phone. ++ int dataRat = ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN; ++ Phone phone = PhoneFactory.getPhone(phoneId); ++ if (phone != null) { ++ ServiceState ss = phone.getServiceState(); ++ if (ss != null) { ++ dataRat = ss.getRilDataRadioTechnology(); ++ } ++ } ++ mRadioProxy.setupDataCall(serial, dataRat, ++ RILUtils.convertToHalDataProfile10(dataProfileInfo), ++ dataProfileInfo.isPersistent(), roamingAllowed, isRoaming); + } + } + +@@ -369,7 +415,7 @@ public class RadioDataProxy extends RadioServiceProxy { + */ + public void startKeepalive(int serial, int contextId, KeepalivePacketData packetData, + int intervalMillis, Message result) throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_1)) return; + if (isAidl()) { + android.hardware.radio.data.KeepaliveRequest req = + new android.hardware.radio.data.KeepaliveRequest(); +@@ -430,7 +476,7 @@ public class RadioDataProxy extends RadioServiceProxy { + req.destinationPort = packetData.getDstPort(); + req.maxKeepaliveIntervalMillis = intervalMillis; + +- mRadioProxy.startKeepalive(serial, req); ++ ((android.hardware.radio.V1_1.IRadio) mRadioProxy).startKeepalive(serial, req); + } + } + +@@ -441,11 +487,11 @@ public class RadioDataProxy extends RadioServiceProxy { + * @throws RemoteException + */ + public void stopKeepalive(int serial, int sessionHandle) throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_1)) return; + if (isAidl()) { + mDataProxy.stopKeepalive(serial, sessionHandle); + } else { +- mRadioProxy.stopKeepalive(serial, sessionHandle); ++ ((android.hardware.radio.V1_1.IRadio) mRadioProxy).stopKeepalive(serial, sessionHandle); + } + } + } +diff --git a/src/java/com/android/internal/telephony/RadioIndication.java b/src/java/com/android/internal/telephony/RadioIndication.java +index aadfe62499..b29a7bf434 100644 +--- a/src/java/com/android/internal/telephony/RadioIndication.java ++++ b/src/java/com/android/internal/telephony/RadioIndication.java +@@ -240,18 +240,28 @@ public class RadioIndication extends IRadioIndication.Stub { + } + + public void currentSignalStrength(int indicationType, +- android.hardware.radio.V1_0.SignalStrength signalStrength) { +- mRil.unsljLogMore(RIL_UNSOL_SIGNAL_STRENGTH, "unsupported on IRadio < 1.4"); ++ android.hardware.radio.V1_0.SignalStrength signalStrength) { ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ ++ SignalStrength ssInitial = RILUtils.convertHalSignalStrength(signalStrength); ++ ++ SignalStrength ss = mRil.fixupSignalStrength10(ssInitial); ++ // Note this is set to "verbose" because it happens frequently ++ if (mRil.isLogvOrTrace()) mRil.unsljLogvRet(RIL_UNSOL_SIGNAL_STRENGTH, ss); ++ ++ if (mRil.mSignalStrengthRegistrant != null) { ++ mRil.mSignalStrengthRegistrant.notifyRegistrant(new AsyncResult (null, ss, null)); ++ } + } + + /** + * Indicates current link capacity estimate. + */ + public void currentLinkCapacityEstimate(int indicationType, +- android.hardware.radio.V1_2.LinkCapacityEstimate lce) { ++ android.hardware.radio.V1_2.LinkCapacityEstimate lce) { + mRil.processIndication(HAL_SERVICE_RADIO, indicationType); + +- List response = RILUtils.convertHalLinkCapacityEstimate(lce); ++ List response = RILUtils.convertHalLceData(lce); + + if (mRil.isLogOrTrace()) mRil.unsljLogRet(RIL_UNSOL_LCEDATA_RECV, response); + +@@ -267,7 +277,7 @@ public class RadioIndication extends IRadioIndication.Stub { + android.hardware.radio.V1_6.LinkCapacityEstimate lce) { + mRil.processIndication(HAL_SERVICE_RADIO, indicationType); + +- List response = RILUtils.convertHalLinkCapacityEstimate(lce); ++ List response = RILUtils.convertHalLceData(lce); + + if (mRil.isLogOrTrace()) mRil.unsljLogRet(RIL_UNSOL_LCEDATA_RECV, response); + +@@ -280,8 +290,16 @@ public class RadioIndication extends IRadioIndication.Stub { + * Indicates the current signal strength of the camped or primary serving cell. + */ + public void currentSignalStrength_1_2(int indicationType, +- android.hardware.radio.V1_2.SignalStrength signalStrength) { +- mRil.unsljLogMore(RIL_UNSOL_SIGNAL_STRENGTH, "unsupported on IRadio < 1.4"); ++ android.hardware.radio.V1_2.SignalStrength signalStrength) { ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ ++ SignalStrength ss = RILUtils.convertHalSignalStrength(signalStrength); ++ // Note this is set to "verbose" because it happens frequently ++ if (mRil.isLogvOrTrace()) mRil.unsljLogvRet(RIL_UNSOL_SIGNAL_STRENGTH, ss); ++ ++ if (mRil.mSignalStrengthRegistrant != null) { ++ mRil.mSignalStrengthRegistrant.notifyRegistrant(new AsyncResult(null, ss, null)); ++ } + } + + /** +@@ -341,7 +359,8 @@ public class RadioIndication extends IRadioIndication.Stub { + */ + public void currentPhysicalChannelConfigs(int indicationType, + ArrayList configs) { +- mRil.unsljLogMore(RIL_UNSOL_PHYSICAL_CHANNEL_CONFIG, "unsupported on IRadio < 1.4"); ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ physicalChannelConfigsIndication(configs); + } + + /** +@@ -374,7 +393,7 @@ public class RadioIndication extends IRadioIndication.Stub { + /** Indicates current data call list. */ + public void dataCallListChanged(int indicationType, + ArrayList dcList) { +- mRil.unsljLogMore(RIL_UNSOL_DATA_CALL_LIST_CHANGED, "unsupported on IRadio < 1.4"); ++ responseDataCallListChanged(indicationType, dcList); + } + + /** Indicates current data call list with radio HAL 1.4. */ +@@ -784,13 +803,15 @@ public class RadioIndication extends IRadioIndication.Stub { + /** Get unsolicited message for cellInfoList */ + public void cellInfoList(int indicationType, + ArrayList records) { +- mRil.unsljLogMore(RIL_UNSOL_CELL_INFO_LIST, "unsupported on IRadio < 1.4"); ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ responseCellInfoList(records); + } + + /** Get unsolicited message for cellInfoList using HAL V1_2 */ + public void cellInfoList_1_2(int indicationType, + ArrayList records) { +- mRil.unsljLogMore(RIL_UNSOL_CELL_INFO_LIST, "unsupported on IRadio < 1.4"); ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ responseCellInfoList(records); + } + + /** Get unsolicited message for cellInfoList using HAL V1_4 */ +@@ -833,20 +854,20 @@ public class RadioIndication extends IRadioIndication.Stub { + + /** Incremental network scan results */ + public void networkScanResult(int indicationType, +- android.hardware.radio.V1_1.NetworkScanResult result) { +- mRil.unsljLogMore(RIL_UNSOL_NETWORK_SCAN_RESULT, "unsupported on IRadio < 1.4"); ++ android.hardware.radio.V1_1.NetworkScanResult result) { ++ responseNetworkScan(indicationType, result); + } + + /** Incremental network scan results with HAL V1_2 */ + public void networkScanResult_1_2(int indicationType, +- android.hardware.radio.V1_2.NetworkScanResult result) { +- mRil.unsljLogMore(RIL_UNSOL_NETWORK_SCAN_RESULT, "unsupported on IRadio < 1.4"); ++ android.hardware.radio.V1_2.NetworkScanResult result) { ++ responseNetworkScan_1_2(indicationType, result); + } + + /** Incremental network scan results with HAL V1_4 */ + public void networkScanResult_1_4(int indicationType, +- android.hardware.radio.V1_4.NetworkScanResult result) { +- responseNetworkScan(indicationType, result); ++ android.hardware.radio.V1_4.NetworkScanResult result) { ++ responseNetworkScan_1_4(indicationType, result); + } + + /** Incremental network scan results with HAL V1_5 */ +@@ -897,7 +918,8 @@ public class RadioIndication extends IRadioIndication.Stub { + new AsyncResult (null, response, null)); + } + +- public void hardwareConfigChanged(int indicationType, ++ public void hardwareConfigChanged( ++ int indicationType, + ArrayList configs) { + mRil.processIndication(HAL_SERVICE_RADIO, indicationType); + +@@ -910,7 +932,7 @@ public class RadioIndication extends IRadioIndication.Stub { + } + + public void radioCapabilityIndication(int indicationType, +- android.hardware.radio.V1_0.RadioCapability rc) { ++ android.hardware.radio.V1_0.RadioCapability rc) { + mRil.processIndication(HAL_SERVICE_RADIO, indicationType); + + RadioCapability response = RILUtils.convertHalRadioCapability(rc, mRil); +@@ -980,7 +1002,15 @@ public class RadioIndication extends IRadioIndication.Stub { + } + + public void lceData(int indicationType, LceDataInfo lce) { +- mRil.unsljLogMore(RIL_UNSOL_PHYSICAL_CHANNEL_CONFIG, "unsupported on IRadio < 1.4"); ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ ++ List response = RILUtils.convertHalLceData(lce); ++ ++ if (mRil.isLogOrTrace()) mRil.unsljLogRet(RIL_UNSOL_LCEDATA_RECV, response); ++ ++ if (mRil.mLceInfoRegistrants != null) { ++ mRil.mLceInfoRegistrants.notifyRegistrants(new AsyncResult(null, response, null)); ++ } + } + + public void pcoData(int indicationType, PcoDataInfo pco) { +@@ -1168,7 +1198,16 @@ public class RadioIndication extends IRadioIndication.Stub { + List response = new ArrayList<>(configs.size()); + try { + for (Object obj : configs) { +- if (obj instanceof android.hardware.radio.V1_4.PhysicalChannelConfig) { ++ if (obj instanceof android.hardware.radio.V1_2.PhysicalChannelConfig) { ++ android.hardware.radio.V1_2.PhysicalChannelConfig config = ++ (android.hardware.radio.V1_2.PhysicalChannelConfig) obj; ++ ++ response.add(new PhysicalChannelConfig.Builder() ++ .setCellConnectionStatus(RILUtils.convertHalCellConnectionStatus( ++ config.status)) ++ .setCellBandwidthDownlinkKhz(config.cellBandwidthDownlink) ++ .build()); ++ } else if (obj instanceof android.hardware.radio.V1_4.PhysicalChannelConfig) { + android.hardware.radio.V1_4.PhysicalChannelConfig config = + (android.hardware.radio.V1_4.PhysicalChannelConfig) obj; + PhysicalChannelConfig.Builder builder = new PhysicalChannelConfig.Builder(); +@@ -1242,6 +1281,28 @@ public class RadioIndication extends IRadioIndication.Stub { + } + + private void responseNetworkScan(int indicationType, ++ android.hardware.radio.V1_1.NetworkScanResult result) { ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ ++ ArrayList cellInfos = ++ RILUtils.convertHalCellInfoList(new ArrayList<>(result.networkInfos)); ++ NetworkScanResult nsr = new NetworkScanResult(result.status, result.error, cellInfos); ++ if (mRil.isLogOrTrace()) mRil.unsljLogRet(RIL_UNSOL_NETWORK_SCAN_RESULT, nsr); ++ mRil.mRilNetworkScanResultRegistrants.notifyRegistrants(new AsyncResult(null, nsr, null)); ++ } ++ ++ private void responseNetworkScan_1_2(int indicationType, ++ android.hardware.radio.V1_2.NetworkScanResult result) { ++ mRil.processIndication(HAL_SERVICE_RADIO, indicationType); ++ ++ ArrayList cellInfos = ++ RILUtils.convertHalCellInfoList(new ArrayList<>(result.networkInfos)); ++ NetworkScanResult nsr = new NetworkScanResult(result.status, result.error, cellInfos); ++ if (mRil.isLogOrTrace()) mRil.unsljLogRet(RIL_UNSOL_NETWORK_SCAN_RESULT, nsr); ++ mRil.mRilNetworkScanResultRegistrants.notifyRegistrants(new AsyncResult(null, nsr, null)); ++ } ++ ++ private void responseNetworkScan_1_4(int indicationType, + android.hardware.radio.V1_4.NetworkScanResult result) { + mRil.processIndication(HAL_SERVICE_RADIO, indicationType); + +diff --git a/src/java/com/android/internal/telephony/RadioMessagingProxy.java b/src/java/com/android/internal/telephony/RadioMessagingProxy.java +index 424e4ac2f4..0430a2ddd5 100644 +--- a/src/java/com/android/internal/telephony/RadioMessagingProxy.java ++++ b/src/java/com/android/internal/telephony/RadioMessagingProxy.java +@@ -25,8 +25,8 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; + import java.util.ArrayList; + + /** +- * A holder for IRadioMessaging. +- * Use getAidl to get IRadioMessaging and call the AIDL implementations of the HAL APIs. ++ * A holder for IRadioMessaging. Use getHidl to get IRadio 1.0 and call the HIDL implementations or ++ * getAidl to get IRadioMessaging and call the AIDL implementations of the HAL APIs. + */ + public class RadioMessagingProxy extends RadioServiceProxy { + private static final String TAG = "RadioMessagingProxy"; +diff --git a/src/java/com/android/internal/telephony/RadioModemProxy.java b/src/java/com/android/internal/telephony/RadioModemProxy.java +index cdcbcc063e..4178293d06 100644 +--- a/src/java/com/android/internal/telephony/RadioModemProxy.java ++++ b/src/java/com/android/internal/telephony/RadioModemProxy.java +@@ -20,8 +20,8 @@ import android.os.RemoteException; + import android.telephony.Rlog; + + /** +- * A holder for IRadioModem. +- * Use getAidl to get IRadioModem and call the AIDL implementations of the HAL APIs. ++ * A holder for IRadioModem. Use getHidl to get IRadio 1.0 and call the HIDL implementations or ++ * getAidl to get IRadioModem and call the AIDL implementations of the HAL APIs. + */ + public class RadioModemProxy extends RadioServiceProxy { + private static final String TAG = "RadioModemProxy"; +@@ -83,11 +83,11 @@ public class RadioModemProxy extends RadioServiceProxy { + * @throws RemoteException + */ + public void enableModem(int serial, boolean on) throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_3)) return; + if (isAidl()) { + mModemProxy.enableModem(serial, on); + } else { +- mRadioProxy.enableModem(serial, on); ++ ((android.hardware.radio.V1_3.IRadio) mRadioProxy).enableModem(serial, on); + } + } + +@@ -166,11 +166,11 @@ public class RadioModemProxy extends RadioServiceProxy { + * @throws RemoteException + */ + public void getModemStackStatus(int serial) throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_3)) return; + if (isAidl()) { + mModemProxy.getModemStackStatus(serial); + } else { +- mRadioProxy.getModemStackStatus(serial); ++ ((android.hardware.radio.V1_3.IRadio) mRadioProxy).getModemStackStatus(serial); + } + } + +diff --git a/src/java/com/android/internal/telephony/RadioNetworkProxy.java b/src/java/com/android/internal/telephony/RadioNetworkProxy.java +index 4acc71acee..069e0667df 100644 +--- a/src/java/com/android/internal/telephony/RadioNetworkProxy.java ++++ b/src/java/com/android/internal/telephony/RadioNetworkProxy.java +@@ -33,17 +33,19 @@ import java.util.List; + import java.util.stream.Collectors; + + /** +- * A holder for IRadioNetwork. +- * Use getAidl to get IRadioNetwork and call the AIDL implementations of the HAL APIs. ++ * A holder for IRadioNetwork. Use getHidl to get IRadio 1.0 and call the HIDL implementations or ++ * getAidl to get IRadioNetwork and call the AIDL implementations of the HAL APIs. + */ + public class RadioNetworkProxy extends RadioServiceProxy { + private static final String TAG = "RadioNetworkProxy"; + private volatile android.hardware.radio.network.IRadioNetwork mNetworkProxy = null; + +- private static final int INDICATION_FILTERS_ALL_V1_2 = ++ private static final int INDICATION_FILTERS_ALL_V1_0 = + android.hardware.radio.V1_5.IndicationFilter.SIGNAL_STRENGTH + | android.hardware.radio.V1_5.IndicationFilter.FULL_NETWORK_STATE +- | android.hardware.radio.V1_5.IndicationFilter.DATA_CALL_DORMANCY_CHANGED ++ | android.hardware.radio.V1_5.IndicationFilter.DATA_CALL_DORMANCY_CHANGED; ++ private static final int INDICATION_FILTERS_ALL_V1_2 = ++ INDICATION_FILTERS_ALL_V1_0 + | android.hardware.radio.V1_5.IndicationFilter.LINK_CAPACITY_ESTIMATE + | android.hardware.radio.V1_5.IndicationFilter.PHYSICAL_CHANNEL_CONFIG; + private static final int INDICATION_FILTERS_ALL_V1_5 = +@@ -119,8 +121,11 @@ public class RadioNetworkProxy extends RadioServiceProxy { + mNetworkProxy.getAllowedNetworkTypesBitmap(serial); + } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_6)) { + ((android.hardware.radio.V1_6.IRadio) mRadioProxy).getAllowedNetworkTypesBitmap(serial); ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy) ++ .getPreferredNetworkTypeBitmap(serial); + } else { +- mRadioProxy.getPreferredNetworkTypeBitmap(serial); ++ mRadioProxy.getPreferredNetworkType(serial); + } + } + +@@ -273,8 +278,10 @@ public class RadioNetworkProxy extends RadioServiceProxy { + mNetworkProxy.getSignalStrength(serial); + } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_6)) { + ((android.hardware.radio.V1_6.IRadio) mRadioProxy).getSignalStrength_1_6(serial); ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).getSignalStrength_1_4(serial); + } else { +- mRadioProxy.getSignalStrength_1_4(serial); ++ mRadioProxy.getSignalStrength(serial); + } + } + +@@ -387,8 +394,12 @@ public class RadioNetworkProxy extends RadioServiceProxy { + public void setPreferredNetworkTypeBitmap(int serial, int networkTypesBitmask) + throws RemoteException { + if (isEmpty() || mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_6)) return; +- mRadioProxy.setPreferredNetworkTypeBitmap(serial, +- RILUtils.convertToHalRadioAccessFamily(networkTypesBitmask)); ++ if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).setPreferredNetworkTypeBitmap(serial, ++ RILUtils.convertToHalRadioAccessFamily(networkTypesBitmask)); ++ } else { ++ mRadioProxy.setPreferredNetworkType(serial, networkTypesBitmask); ++ } + } + + /** +@@ -467,8 +478,11 @@ public class RadioNetworkProxy extends RadioServiceProxy { + } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_5)) { + ((android.hardware.radio.V1_5.IRadio) mRadioProxy).setIndicationFilter_1_5(serial, + filter & INDICATION_FILTERS_ALL_V1_5); ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_2)) { ++ ((android.hardware.radio.V1_2.IRadio) mRadioProxy).setIndicationFilter_1_2(serial, ++ filter & INDICATION_FILTERS_ALL_V1_2); + } else { +- mRadioProxy.setIndicationFilter_1_2(serial, filter & INDICATION_FILTERS_ALL_V1_2); ++ mRadioProxy.setIndicationFilter(serial, filter & INDICATION_FILTERS_ALL_V1_0); + } + } + +@@ -490,7 +504,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + public void setLinkCapacityReportingCriteria(int serial, int hysteresisMs, int hysteresisDlKbps, + int hysteresisUlKbps, int[] thresholdsDlKbps, int[] thresholdsUlKbps, int ran) + throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_2)) return; + if (isAidl()) { + mNetworkProxy.setLinkCapacityReportingCriteria(serial, hysteresisMs, hysteresisDlKbps, + hysteresisUlKbps, thresholdsDlKbps, thresholdsUlKbps, +@@ -505,7 +519,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + if (ran == AccessNetworkConstants.AccessNetworkType.NGRAN) { + throw new RuntimeException("NGRAN unsupported on IRadio version: " + mHalVersion); + } +- mRadioProxy.setLinkCapacityReportingCriteria( ++ ((android.hardware.radio.V1_2.IRadio) mRadioProxy).setLinkCapacityReportingCriteria( + serial, hysteresisMs, hysteresisDlKbps, hysteresisUlKbps, + RILUtils.primitiveArrayToArrayList(thresholdsDlKbps), + RILUtils.primitiveArrayToArrayList(thresholdsUlKbps), +@@ -589,7 +603,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + */ + public void setSignalStrengthReportingCriteria(int serial, + @NonNull List signalThresholdInfos) throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_2)) return; + if (isAidl()) { + android.hardware.radio.network.SignalThresholdInfo[] halSignalThresholdsInfos = + new android.hardware.radio.network.SignalThresholdInfo[signalThresholdInfos.size()]; +@@ -608,12 +622,14 @@ public class RadioNetworkProxy extends RadioServiceProxy { + } + } else { + for (SignalThresholdInfo signalThresholdInfo : signalThresholdInfos) { +- mRadioProxy.setSignalStrengthReportingCriteria(serial, +- signalThresholdInfo.getHysteresisMs(), +- signalThresholdInfo.getHysteresisDb(), +- RILUtils.primitiveArrayToArrayList(signalThresholdInfo.getThresholds()), +- RILUtils.convertToHalAccessNetwork( +- signalThresholdInfo.getRadioAccessNetworkType())); ++ ((android.hardware.radio.V1_2.IRadio) mRadioProxy) ++ .setSignalStrengthReportingCriteria(serial, ++ signalThresholdInfo.getHysteresisMs(), ++ signalThresholdInfo.getHysteresisDb(), ++ RILUtils.primitiveArrayToArrayList( ++ signalThresholdInfo.getThresholds()), ++ RILUtils.convertToHalAccessNetwork( ++ signalThresholdInfo.getRadioAccessNetworkType())); + } + } + } +@@ -641,7 +657,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + */ + public void setSystemSelectionChannels(int serial, List specifiers) + throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_3)) return; + if (isAidl()) { + mNetworkProxy.setSystemSelectionChannels(serial, !specifiers.isEmpty(), + specifiers.stream().map(RILUtils::convertToHalRadioAccessSpecifierAidl) +@@ -652,8 +668,8 @@ public class RadioNetworkProxy extends RadioServiceProxy { + .map(RILUtils::convertToHalRadioAccessSpecifier15) + .collect(Collectors.toCollection(ArrayList::new))); + } else { +- mRadioProxy.setSystemSelectionChannels(serial, !specifiers.isEmpty(), +- specifiers.stream() ++ ((android.hardware.radio.V1_3.IRadio) mRadioProxy).setSystemSelectionChannels( ++ serial, !specifiers.isEmpty(), specifiers.stream() + .map(RILUtils::convertToHalRadioAccessSpecifier11) + .collect(Collectors.toCollection(ArrayList::new))); + } +@@ -668,7 +684,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + */ + public void startNetworkScan(int serial, NetworkScanRequest request, + HalVersion overrideHalVersion, Message result) throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_1)) return; + if (isAidl()) { + android.hardware.radio.network.NetworkScanRequest halRequest = + new android.hardware.radio.network.NetworkScanRequest(); +@@ -718,7 +734,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + } + ((android.hardware.radio.V1_5.IRadio) mRadioProxy).startNetworkScan_1_5( + serial, halRequest); +- } else { ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_2)) { + android.hardware.radio.V1_2.NetworkScanRequest halRequest = + new android.hardware.radio.V1_2.NetworkScanRequest(); + halRequest.type = request.getScanType(); +@@ -739,7 +755,31 @@ public class RadioNetworkProxy extends RadioServiceProxy { + } + halRequest.specifiers.add(rasInHalFormat); + } +- mRadioProxy.startNetworkScan_1_4(serial, halRequest); ++ ++ if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).startNetworkScan_1_4( ++ serial, halRequest); ++ } else { ++ ((android.hardware.radio.V1_2.IRadio) mRadioProxy).startNetworkScan_1_2( ++ serial, halRequest); ++ } ++ } else { ++ android.hardware.radio.V1_1.NetworkScanRequest halRequest = ++ new android.hardware.radio.V1_1.NetworkScanRequest(); ++ halRequest.type = request.getScanType(); ++ halRequest.interval = request.getSearchPeriodicity(); ++ for (RadioAccessSpecifier ras : request.getSpecifiers()) { ++ android.hardware.radio.V1_1.RadioAccessSpecifier rasInHalFormat = ++ RILUtils.convertToHalRadioAccessSpecifier11(ras); ++ if (rasInHalFormat == null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ return; ++ } ++ halRequest.specifiers.add(rasInHalFormat); ++ } ++ ((android.hardware.radio.V1_1.IRadio) mRadioProxy).startNetworkScan(serial, halRequest); + } + } + +@@ -749,11 +789,11 @@ public class RadioNetworkProxy extends RadioServiceProxy { + * @throws RemoteException + */ + public void stopNetworkScan(int serial) throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_1)) return; + if (isAidl()) { + mNetworkProxy.stopNetworkScan(serial); + } else { +- mRadioProxy.stopNetworkScan(serial); ++ ((android.hardware.radio.V1_1.IRadio) mRadioProxy).stopNetworkScan(serial); + } + } + +diff --git a/src/java/com/android/internal/telephony/RadioResponse.java b/src/java/com/android/internal/telephony/RadioResponse.java +index 127d876557..8a52dfbbb2 100644 +--- a/src/java/com/android/internal/telephony/RadioResponse.java ++++ b/src/java/com/android/internal/telephony/RadioResponse.java +@@ -43,9 +43,11 @@ import android.telephony.AnomalyReporter; + import android.telephony.BarringInfo; + import android.telephony.CarrierRestrictionRules; + import android.telephony.CellInfo; ++import android.telephony.LinkCapacityEstimate; + import android.telephony.ModemActivityInfo; + import android.telephony.NeighboringCellInfo; + import android.telephony.NetworkScanRequest; ++import android.telephony.RadioAccessFamily; + import android.telephony.RadioAccessSpecifier; + import android.telephony.SignalStrength; + import android.telephony.SubscriptionManager; +@@ -101,7 +103,7 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param cardStatus ICC card status as defined by CardStatus in types.hal + */ + public void getIccCardStatusResponse(RadioResponseInfo responseInfo, CardStatus cardStatus) { +- responseNotSupported(responseInfo); ++ responseIccCardStatus(responseInfo, cardStatus); + } + + /** +@@ -110,7 +112,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getIccCardStatusResponse_1_2(RadioResponseInfo responseInfo, + android.hardware.radio.V1_2.CardStatus cardStatus) { +- responseNotSupported(responseInfo); ++ responseIccCardStatus_1_2(responseInfo, cardStatus); + } + + /** +@@ -119,7 +121,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getIccCardStatusResponse_1_4(RadioResponseInfo responseInfo, + android.hardware.radio.V1_4.CardStatus cardStatus) { +- responseIccCardStatus(responseInfo, cardStatus); ++ responseIccCardStatus_1_4(responseInfo, cardStatus); + } + + /** +@@ -206,7 +208,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getCurrentCallsResponse(RadioResponseInfo responseInfo, + ArrayList calls) { +- responseNotSupported(responseInfo); ++ responseCurrentCalls(responseInfo, calls); + } + + /** +@@ -215,7 +217,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getCurrentCallsResponse_1_2(RadioResponseInfo responseInfo, + ArrayList calls) { +- responseCurrentCalls(responseInfo, calls); ++ responseCurrentCalls_1_2(responseInfo, calls); + } + + /** +@@ -299,25 +301,27 @@ public class RadioResponse extends IRadioResponse.Stub { + + public void getSignalStrengthResponse(RadioResponseInfo responseInfo, + android.hardware.radio.V1_0.SignalStrength sigStrength) { +- responseNotSupported(responseInfo); ++ responseSignalStrength(responseInfo, sigStrength); + } + + /** + * @param responseInfo Response info struct containing response type, serial no. and error + * @param signalStrength Current signal strength of camped/connected cells + */ +- public void getSignalStrengthResponse_1_2(RadioResponseInfo responseInfo, ++ public void getSignalStrengthResponse_1_2( ++ RadioResponseInfo responseInfo, + android.hardware.radio.V1_2.SignalStrength signalStrength) { +- responseNotSupported(responseInfo); ++ responseSignalStrength_1_2(responseInfo, signalStrength); + } + + /** + * @param responseInfo Response info struct containing response type, serial no. and error + * @param signalStrength Current signal strength of camped/connected cells + */ +- public void getSignalStrengthResponse_1_4(RadioResponseInfo responseInfo, ++ public void getSignalStrengthResponse_1_4( ++ RadioResponseInfo responseInfo, + android.hardware.radio.V1_4.SignalStrength signalStrength) { +- responseSignalStrength(responseInfo, signalStrength); ++ responseSignalStrength_1_4(responseInfo, signalStrength); + } + + /** +@@ -337,7 +341,14 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getVoiceRegistrationStateResponse(RadioResponseInfo responseInfo, + VoiceRegStateResult voiceRegResponse) { +- responseNotSupported(responseInfo); ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, voiceRegResponse); ++ } ++ mRil.processResponseDone(rr, responseInfo, voiceRegResponse); ++ } + } + + /** +@@ -411,7 +422,14 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getDataRegistrationStateResponse(RadioResponseInfo responseInfo, + DataRegStateResult dataRegResponse) { +- responseNotSupported(responseInfo); ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, dataRegResponse); ++ } ++ mRil.processResponseDone(rr, responseInfo, dataRegResponse); ++ } + } + + /** +@@ -421,7 +439,14 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getDataRegistrationStateResponse_1_2(RadioResponseInfo responseInfo, + android.hardware.radio.V1_2.DataRegStateResult dataRegResponse) { +- responseNotSupported(responseInfo); ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, dataRegResponse); ++ } ++ mRil.processResponseDone(rr, responseInfo, dataRegResponse); ++ } + } + + /** +@@ -559,7 +584,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void setupDataCallResponse(RadioResponseInfo responseInfo, + android.hardware.radio.V1_0.SetupDataCallResult setupDataCallResult) { +- responseNotSupported(responseInfo); ++ responseSetupDataCall(responseInfo, setupDataCallResult); + } + + /** +@@ -787,7 +812,7 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param responseInfo Response info struct containing response type, serial no. and error + */ + public void startNetworkScanResponse(RadioResponseInfo responseInfo) { +- responseNotSupported(responseInfo); ++ responseScanStatus(responseInfo, null /*fallbackHalVersion*/); + } + + /** +@@ -875,7 +900,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getDataCallListResponse(RadioResponseInfo responseInfo, + ArrayList dataCallResultList) { +- responseNotSupported(responseInfo); ++ responseDataCallList(responseInfo, dataCallResultList); + } + + /** +@@ -898,6 +923,9 @@ public class RadioResponse extends IRadioResponse.Stub { + responseDataCallList(responseInfo, dataCallResultList); + } + ++ public void sendOemRilRequestRawResponse(RadioResponseInfo responseInfo, ++ ArrayList var2) {} ++ + /** + * @param responseInfo Response info struct containing response type, serial no. and error + */ +@@ -970,7 +998,7 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param responseInfo Response info struct containing response type, serial no. and error + */ + public void setPreferredNetworkTypeResponse(RadioResponseInfo responseInfo) { +- responseNotSupported(responseInfo); ++ responseVoid(responseInfo); + } + + /** +@@ -986,7 +1014,8 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param nwType RadioPreferredNetworkType defined in types.hal + */ + public void getPreferredNetworkTypeResponse(RadioResponseInfo responseInfo, int nwType) { +- responseNotSupported(responseInfo); ++ mRil.mAllowedNetworkTypesBitmask = RadioAccessFamily.getRafFromNetworkType(nwType); ++ responseInts(responseInfo, RadioAccessFamily.getRafFromNetworkType(nwType)); + } + + /** +@@ -997,6 +1026,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getPreferredNetworkTypeBitmapResponse( + RadioResponseInfo responseInfo, int halRadioAccessFamilyBitmap) { ++ + int networkTypeBitmask = RILUtils.convertHalNetworkTypeBitMask(halRadioAccessFamilyBitmap); + mRil.mAllowedNetworkTypesBitmask = networkTypeBitmask; + responseInts(responseInfo, networkTypeBitmask); +@@ -1305,7 +1335,7 @@ public class RadioResponse extends IRadioResponse.Stub { + + public void getCellInfoListResponse(RadioResponseInfo responseInfo, + ArrayList cellInfo) { +- responseNotSupported(responseInfo); ++ responseCellInfoList(responseInfo, cellInfo); + } + + /** +@@ -1314,7 +1344,7 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getCellInfoListResponse_1_2(RadioResponseInfo responseInfo, + ArrayList cellInfo) { +- responseNotSupported(responseInfo); ++ responseCellInfoList(responseInfo, cellInfo); + } + + /** +@@ -1423,7 +1453,8 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param responseInfo Response info struct containing response type, serial no. and error + * @param result IccIoResult as defined in types.hal + */ +- public void iccTransmitApduLogicalChannelResponse(RadioResponseInfo responseInfo, ++ public void iccTransmitApduLogicalChannelResponse( ++ RadioResponseInfo responseInfo, + android.hardware.radio.V1_0.IccIoResult result) { + responseIccIo(responseInfo, result); + } +@@ -1471,10 +1502,8 @@ public class RadioResponse extends IRadioResponse.Stub { + responseVoid(responseInfo); + } + +- /** +- * @param responseInfo Response info struct containing response type, serial no. and error +- */ +- public void getHardwareConfigResponse(RadioResponseInfo responseInfo, ++ public void getHardwareConfigResponse( ++ RadioResponseInfo responseInfo, + ArrayList config) { + responseHardwareConfig(responseInfo, config); + } +@@ -1548,7 +1577,7 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param statusInfo LceStatusInfo indicating LCE status + */ + public void startLceServiceResponse(RadioResponseInfo responseInfo, LceStatusInfo statusInfo) { +- responseNotSupported(responseInfo); ++ responseLceStatus(responseInfo, statusInfo); + } + + /** +@@ -1556,11 +1585,11 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param statusInfo LceStatusInfo indicating LCE status + */ + public void stopLceServiceResponse(RadioResponseInfo responseInfo, LceStatusInfo statusInfo) { +- responseNotSupported(responseInfo); ++ responseLceStatus(responseInfo, statusInfo); + } + + public void pullLceDataResponse(RadioResponseInfo responseInfo, LceDataInfo lceInfo) { +- responseNotSupported(responseInfo); ++ responseLceData(responseInfo, lceInfo); + } + + /** +@@ -1605,7 +1634,26 @@ public class RadioResponse extends IRadioResponse.Stub { + * if Length of allowed carriers list is 0, numAllowed = 0. + */ + public void setAllowedCarriersResponse(RadioResponseInfo responseInfo, int numAllowed) { +- responseNotSupported(responseInfo); ++ // The number of allowed carriers set correctly is not really useful. Even if one is ++ // missing, the operation has failed, as the list should be treated as a single ++ // configuration item. So, ignoring the value of numAllowed and considering only the ++ // value of the responseInfo.error. ++ int ret = TelephonyManager.SET_CARRIER_RESTRICTION_ERROR; ++ RILRequest rr = mRil.processResponse(responseInfo); ++ if (rr != null) { ++ mRil.riljLog("setAllowedCarriersResponse - error = " + responseInfo.error); ++ ++ if (responseInfo.error == RadioError.NONE) { ++ ret = TelephonyManager.SET_CARRIER_RESTRICTION_SUCCESS; ++ sendMessageResponse(rr.mResult, ret); ++ } else if (responseInfo.error == RadioError.REQUEST_NOT_SUPPORTED) { ++ // Handle the case REQUEST_NOT_SUPPORTED as a valid response ++ responseInfo.error = RadioError.NONE; ++ ret = TelephonyManager.SET_CARRIER_RESTRICTION_NOT_SUPPORTED; ++ sendMessageResponse(rr.mResult, ret); ++ } ++ mRil.processResponseDone(rr, responseInfo, ret); ++ } + } + + /** +@@ -1633,7 +1681,13 @@ public class RadioResponse extends IRadioResponse.Stub { + */ + public void getAllowedCarriersResponse(RadioResponseInfo responseInfo, boolean allAllowed, + CarrierRestrictions carriers) { +- responseNotSupported(responseInfo); ++ CarrierRestrictionsWithPriority carrierRestrictions = new CarrierRestrictionsWithPriority(); ++ carrierRestrictions.allowedCarriers = carriers.allowedCarriers; ++ carrierRestrictions.excludedCarriers = carriers.excludedCarriers; ++ carrierRestrictions.allowedCarriersPrioritized = true; ++ ++ responseCarrierRestrictions(responseInfo, allAllowed, carrierRestrictions, ++ SimLockMultiSimPolicy.NO_MULTISIM_POLICY); + } + + /** +@@ -1642,36 +1696,11 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param multiSimPolicy Policy for multi-sim devices. + */ + public void getAllowedCarriersResponse_1_4(RadioResponseInfo responseInfo, +- CarrierRestrictionsWithPriority carrierRestrictions, int multiSimPolicy) { +- RILRequest rr = mRil.processResponse(responseInfo); +- if (rr == null) { +- return; +- } +- +- int policy = CarrierRestrictionRules.MULTISIM_POLICY_NONE; +- if (multiSimPolicy == SimLockMultiSimPolicy.ONE_VALID_SIM_MUST_BE_PRESENT) { +- policy = CarrierRestrictionRules.MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT; +- } +- +- int carrierRestrictionDefault = +- CarrierRestrictionRules.CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED; +- if (!carrierRestrictions.allowedCarriersPrioritized) { +- carrierRestrictionDefault = CarrierRestrictionRules.CARRIER_RESTRICTION_DEFAULT_ALLOWED; +- } +- +- CarrierRestrictionRules ret = CarrierRestrictionRules.newBuilder() +- .setAllowedCarriers(RILUtils.convertHalCarrierList( +- carrierRestrictions.allowedCarriers)) +- .setExcludedCarriers(RILUtils.convertHalCarrierList( +- carrierRestrictions.excludedCarriers)) +- .setDefaultCarrierRestriction(carrierRestrictionDefault) +- .setMultiSimPolicy(policy) +- .build(); +- +- if (responseInfo.error == RadioError.NONE) { +- sendMessageResponse(rr.mResult, ret); +- } +- mRil.processResponseDone(rr, responseInfo, ret); ++ CarrierRestrictionsWithPriority carrierRestrictions, ++ int multiSimPolicy) { ++ // The API in IRadio 1.4 does not support the flag allAllowed, so setting it to false, so ++ // that values in carrierRestrictions are used. ++ responseCarrierRestrictions(responseInfo, false, carrierRestrictions, multiSimPolicy); + } + + /** +@@ -1706,7 +1735,7 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param responseInfo Response info struct containing response type, serial no. and error + */ + public void setSimCardPowerResponse(RadioResponseInfo responseInfo) { +- responseNotSupported(responseInfo); ++ responseVoid(responseInfo); + } + + /** +@@ -1845,7 +1874,39 @@ public class RadioResponse extends IRadioResponse.Stub { + } + } + +- private void responseIccCardStatus(RadioResponseInfo responseInfo, ++ private void responseIccCardStatus(RadioResponseInfo responseInfo, CardStatus cardStatus) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ IccCardStatus iccCardStatus = RILUtils.convertHalCardStatus(cardStatus); ++ mRil.riljLog("responseIccCardStatus: from HIDL: " + iccCardStatus); ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, iccCardStatus); ++ } ++ mRil.processResponseDone(rr, responseInfo, iccCardStatus); ++ } ++ } ++ ++ private void responseIccCardStatus_1_2(RadioResponseInfo responseInfo, ++ android.hardware.radio.V1_2.CardStatus cardStatus) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ IccCardStatus iccCardStatus = RILUtils.convertHalCardStatus(cardStatus.base); ++ IccSlotPortMapping slotPortMapping = new IccSlotPortMapping(); ++ slotPortMapping.mPhysicalSlotIndex = cardStatus.physicalSlotId; ++ iccCardStatus.mSlotPortMapping = slotPortMapping; ++ iccCardStatus.atr = cardStatus.atr; ++ iccCardStatus.iccid = cardStatus.iccid; ++ mRil.riljLog("responseIccCardStatus: from HIDL: " + iccCardStatus); ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, iccCardStatus); ++ } ++ mRil.processResponseDone(rr, responseInfo, iccCardStatus); ++ } ++ } ++ ++ private void responseIccCardStatus_1_4(RadioResponseInfo responseInfo, + android.hardware.radio.V1_4.CardStatus cardStatus) { + RILRequest rr = mRil.processResponse(responseInfo); + +@@ -1974,12 +2035,52 @@ public class RadioResponse extends IRadioResponse.Stub { + } + + private void responseCurrentCalls(RadioResponseInfo responseInfo, ++ ArrayList calls) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ int num = calls.size(); ++ ArrayList dcCalls = new ArrayList(num); ++ DriverCall dc; ++ ++ for (int i = 0; i < num; i++) { ++ dc = RILUtils.convertToDriverCall(calls.get(i)); ++ ++ dcCalls.add(dc); ++ ++ if (dc.isVoicePrivacy) { ++ mRil.mVoicePrivacyOnRegistrants.notifyRegistrants(); ++ mRil.riljLog("InCall VoicePrivacy is enabled"); ++ } else { ++ mRil.mVoicePrivacyOffRegistrants.notifyRegistrants(); ++ mRil.riljLog("InCall VoicePrivacy is disabled"); ++ } ++ } ++ ++ Collections.sort(dcCalls); ++ ++ if ((num == 0) && mRil.mTestingEmergencyCall.getAndSet(false)) { ++ if (mRil.mEmergencyCallbackModeRegistrant != null) { ++ mRil.riljLog("responseCurrentCalls: call ended, testing emergency call," ++ + " notify ECM Registrants"); ++ mRil.mEmergencyCallbackModeRegistrant.notifyRegistrant(); ++ } ++ } ++ ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, dcCalls); ++ } ++ mRil.processResponseDone(rr, responseInfo, dcCalls); ++ } ++ } ++ ++ private void responseCurrentCalls_1_2(RadioResponseInfo responseInfo, + ArrayList calls) { + RILRequest rr = mRil.processResponse(responseInfo); + + if (rr != null) { + int num = calls.size(); +- ArrayList dcCalls = new ArrayList<>(num); ++ ArrayList dcCalls = new ArrayList(num); + DriverCall dc; + + for (int i = 0; i < num; i++) { +@@ -2054,15 +2155,6 @@ public class RadioResponse extends IRadioResponse.Stub { + } + } + +- private void responseNotSupported(RadioResponseInfo responseInfo) { +- RILRequest rr = mRil.processResponse(responseInfo); +- if (rr != null) { +- mRil.riljLog(RILUtils.requestToString(rr.mRequest) + "not supported on IRadio < 1.4"); +- responseInfo.error = RadioError.REQUEST_NOT_SUPPORTED; +- mRil.processResponseDone(rr, responseInfo, null); +- } +- } +- + private void responseVoid(RadioResponseInfo responseInfo) { + RILRequest rr = mRil.processResponse(responseInfo); + +@@ -2208,6 +2300,34 @@ public class RadioResponse extends IRadioResponse.Stub { + } + + private void responseSignalStrength( ++ RadioResponseInfo responseInfo, ++ android.hardware.radio.V1_0.SignalStrength signalStrength) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ SignalStrength ret = RILUtils.convertHalSignalStrength(signalStrength); ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, ret); ++ } ++ mRil.processResponseDone(rr, responseInfo, ret); ++ } ++ } ++ ++ private void responseSignalStrength_1_2( ++ RadioResponseInfo responseInfo, ++ android.hardware.radio.V1_2.SignalStrength signalStrength) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ SignalStrength ret = RILUtils.convertHalSignalStrength(signalStrength); ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, ret); ++ } ++ mRil.processResponseDone(rr, responseInfo, ret); ++ } ++ } ++ ++ private void responseSignalStrength_1_4( + RadioResponseInfo responseInfo, + android.hardware.radio.V1_4.SignalStrength signalStrength) { + RILRequest rr = mRil.processResponse(responseInfo); +@@ -2580,6 +2700,69 @@ public class RadioResponse extends IRadioResponse.Stub { + } + } + ++ private void responseLceStatus(RadioResponseInfo responseInfo, LceStatusInfo statusInfo) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ ArrayList ret = new ArrayList<>(); ++ ret.add(statusInfo.lceStatus); ++ ret.add(Byte.toUnsignedInt(statusInfo.actualIntervalMs)); ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, ret); ++ } ++ mRil.processResponseDone(rr, responseInfo, ret); ++ } ++ } ++ ++ private void responseLceData(RadioResponseInfo responseInfo, LceDataInfo lceInfo) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ ++ if (rr != null) { ++ List ret = RILUtils.convertHalLceData(lceInfo); ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, ret); ++ } ++ mRil.processResponseDone(rr, responseInfo, ret); ++ } ++ } ++ ++ private void responseCarrierRestrictions(RadioResponseInfo responseInfo, boolean allAllowed, ++ CarrierRestrictionsWithPriority carriers, int multiSimPolicy) { ++ RILRequest rr = mRil.processResponse(responseInfo); ++ if (rr == null) { ++ return; ++ } ++ CarrierRestrictionRules ret; ++ ++ if (allAllowed) { ++ ret = CarrierRestrictionRules.newBuilder().setAllCarriersAllowed().build(); ++ } else { ++ int policy = CarrierRestrictionRules.MULTISIM_POLICY_NONE; ++ if (multiSimPolicy == SimLockMultiSimPolicy.ONE_VALID_SIM_MUST_BE_PRESENT) { ++ policy = CarrierRestrictionRules.MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT; ++ } ++ ++ int carrierRestrictionDefault = ++ CarrierRestrictionRules.CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED; ++ if (!carriers.allowedCarriersPrioritized) { ++ carrierRestrictionDefault = ++ CarrierRestrictionRules.CARRIER_RESTRICTION_DEFAULT_ALLOWED; ++ } ++ ++ ret = CarrierRestrictionRules.newBuilder() ++ .setAllowedCarriers(RILUtils.convertHalCarrierList(carriers.allowedCarriers)) ++ .setExcludedCarriers(RILUtils.convertHalCarrierList(carriers.excludedCarriers)) ++ .setDefaultCarrierRestriction(carrierRestrictionDefault) ++ .setMultiSimPolicy(policy) ++ .build(); ++ } ++ ++ if (responseInfo.error == RadioError.NONE) { ++ sendMessageResponse(rr.mResult, ret); ++ } ++ mRil.processResponseDone(rr, responseInfo, ret); ++ } ++ + /** + * @param responseInfo Response info struct containing response type, serial number and error. + */ +diff --git a/src/java/com/android/internal/telephony/RadioServiceProxy.java b/src/java/com/android/internal/telephony/RadioServiceProxy.java +index 02fc751484..4257327330 100644 +--- a/src/java/com/android/internal/telephony/RadioServiceProxy.java ++++ b/src/java/com/android/internal/telephony/RadioServiceProxy.java +@@ -19,13 +19,13 @@ package com.android.internal.telephony; + import android.os.RemoteException; + + /** +- * A holder for IRadio services. +- * Use getHidl to get the HIDL IRadio service or getAidl to get the corresponding AIDL service. ++ * A holder for IRadio services. Use getHidl to get IRadio 1.0 and call the HIDL implementations or ++ * getAidl to get the AIDL service and call the AIDL implementations of the HAL APIs. + */ + public abstract class RadioServiceProxy { + boolean mIsAidl; + HalVersion mHalVersion = RIL.RADIO_HAL_VERSION_UNKNOWN; +- volatile android.hardware.radio.V1_4.IRadio mRadioProxy = null; ++ volatile android.hardware.radio.V1_0.IRadio mRadioProxy = null; + + /** + * Whether RadioServiceProxy is an AIDL or HIDL implementation +@@ -40,7 +40,7 @@ public abstract class RadioServiceProxy { + * @param halVersion Radio HAL version + * @param radio IRadio implementation + */ +- public void setHidl(HalVersion halVersion, android.hardware.radio.V1_4.IRadio radio) { ++ public void setHidl(HalVersion halVersion, android.hardware.radio.V1_0.IRadio radio) { + mHalVersion = halVersion; + mRadioProxy = radio; + mIsAidl = false; +@@ -50,7 +50,7 @@ public abstract class RadioServiceProxy { + * Get the HIDL implementation of RadioServiceProxy + * @return IRadio implementation + */ +- public android.hardware.radio.V1_4.IRadio getHidl() { ++ public android.hardware.radio.V1_0.IRadio getHidl() { + return mRadioProxy; + } + +diff --git a/src/java/com/android/internal/telephony/RadioSimProxy.java b/src/java/com/android/internal/telephony/RadioSimProxy.java +index 5265692167..7c8ee7b6ea 100644 +--- a/src/java/com/android/internal/telephony/RadioSimProxy.java ++++ b/src/java/com/android/internal/telephony/RadioSimProxy.java +@@ -16,17 +16,22 @@ + + package com.android.internal.telephony; + ++import static com.android.internal.telephony.RILConstants.REQUEST_NOT_SUPPORTED; ++ ++import android.os.AsyncResult; ++import android.os.Message; + import android.os.RemoteException; + import android.telephony.CarrierRestrictionRules; + import android.telephony.ImsiEncryptionInfo; + import android.telephony.Rlog; ++import android.telephony.TelephonyManager; + + import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState; + import com.android.internal.telephony.uicc.SimPhonebookRecord; + + /** +- * A holder for IRadioSim. +- * Use getAidl to get IRadioSim and call the AIDL implementations of the HAL APIs. ++ * A holder for IRadioSim. Use getHidl to get IRadio 1.0 and call the HIDL implementations or ++ * getAidl to get IRadioSim and call the AIDL implementations of the HAL APIs. + */ + public class RadioSimProxy extends RadioServiceProxy { + private static final String TAG = "RadioSimProxy"; +@@ -155,8 +160,10 @@ public class RadioSimProxy extends RadioServiceProxy { + if (isEmpty()) return; + if (isAidl()) { + mSimProxy.getAllowedCarriers(serial); ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).getAllowedCarriers_1_4(serial); + } else { +- mRadioProxy.getAllowedCarriers_1_4(serial); ++ mRadioProxy.getAllowedCarriers(serial); + } + } + +@@ -514,10 +521,11 @@ public class RadioSimProxy extends RadioServiceProxy { + * Call IRadioSim#setAllowedCarriers + * @param serial Serial number of request + * @param carrierRestrictionRules Allowed carriers ++ * @param result Result to return in case of error + * @throws RemoteException + */ +- public void setAllowedCarriers(int serial, CarrierRestrictionRules carrierRestrictionRules) +- throws RemoteException { ++ public void setAllowedCarriers(int serial, CarrierRestrictionRules carrierRestrictionRules, ++ Message result) throws RemoteException { + if (isEmpty()) return; + if (isAidl()) { + // Prepare structure with allowed list, excluded list and priority +@@ -533,7 +541,7 @@ public class RadioSimProxy extends RadioServiceProxy { + mSimProxy.setAllowedCarriers(serial, carrierRestrictions, + RILUtils.convertToHalSimLockMultiSimPolicyAidl( + carrierRestrictionRules.getMultiSimPolicy())); +- } else { ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_4)) { + // Prepare structure with allowed list, excluded list and priority + android.hardware.radio.V1_4.CarrierRestrictionsWithPriority carrierRestrictions = + new android.hardware.radio.V1_4.CarrierRestrictionsWithPriority(); +@@ -544,9 +552,35 @@ public class RadioSimProxy extends RadioServiceProxy { + carrierRestrictions.allowedCarriersPrioritized = + (carrierRestrictionRules.getDefaultCarrierRestriction() + == CarrierRestrictionRules.CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED); +- mRadioProxy.setAllowedCarriers_1_4(serial, carrierRestrictions, +- RILUtils.convertToHalSimLockMultiSimPolicy( ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).setAllowedCarriers_1_4( ++ serial, carrierRestrictions, RILUtils.convertToHalSimLockMultiSimPolicy( + carrierRestrictionRules.getMultiSimPolicy())); ++ } else { ++ boolean isAllCarriersAllowed = carrierRestrictionRules.isAllCarriersAllowed(); ++ boolean supported = (isAllCarriersAllowed ++ || (carrierRestrictionRules.getExcludedCarriers().isEmpty() ++ && (carrierRestrictionRules.getDefaultCarrierRestriction() ++ == CarrierRestrictionRules.CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED))) ++ && (RILUtils.convertToHalSimLockMultiSimPolicy( ++ carrierRestrictionRules.getMultiSimPolicy()) ++ == android.hardware.radio.V1_4.SimLockMultiSimPolicy.NO_MULTISIM_POLICY); ++ ++ if (!supported) { ++ // Feature is not supported by IRadio interface ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } ++ return; ++ } ++ ++ // Prepare structure with allowed list ++ android.hardware.radio.V1_0.CarrierRestrictions carrierRestrictions = ++ new android.hardware.radio.V1_0.CarrierRestrictions(); ++ carrierRestrictions.allowedCarriers = RILUtils.convertToHalCarrierRestrictionList( ++ carrierRestrictionRules.getAllowedCarriers()); ++ mRadioProxy.setAllowedCarriers(serial, isAllCarriersAllowed, carrierRestrictions); + } + } + +@@ -558,7 +592,7 @@ public class RadioSimProxy extends RadioServiceProxy { + */ + public void setCarrierInfoForImsiEncryption(int serial, ImsiEncryptionInfo imsiEncryptionInfo) + throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_1)) return; + if (isAidl()) { + android.hardware.radio.sim.ImsiEncryptionInfo halImsiInfo = + new android.hardware.radio.sim.ImsiEncryptionInfo(); +@@ -601,7 +635,8 @@ public class RadioSimProxy extends RadioServiceProxy { + halImsiInfo.carrierKey.add(Byte.valueOf(b)); + } + +- mRadioProxy.setCarrierInfoForImsiEncryption(serial, halImsiInfo); ++ ((android.hardware.radio.V1_1.IRadio) mRadioProxy).setCarrierInfoForImsiEncryption( ++ serial, halImsiInfo); + } + } + +@@ -646,16 +681,35 @@ public class RadioSimProxy extends RadioServiceProxy { + * Call IRadioSim#setSimCardPower + * @param serial Serial number of request + * @param state SIM state (power down, power up, pass through) ++ * @param result Result to return in case of error + * @throws RemoteException + */ +- public void setSimCardPower(int serial, int state) throws RemoteException { ++ public void setSimCardPower(int serial, int state, Message result) throws RemoteException { + if (isEmpty()) return; + if (isAidl()) { + mSimProxy.setSimCardPower(serial, state); + } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_6)) { + ((android.hardware.radio.V1_6.IRadio) mRadioProxy).setSimCardPower_1_6(serial, state); +- } else { +- mRadioProxy.setSimCardPower_1_1(serial, state); ++ } else if (mHalVersion.greaterOrEqual(RIL.RADIO_HAL_VERSION_1_1)) { ++ ((android.hardware.radio.V1_1.IRadio) mRadioProxy).setSimCardPower_1_1(serial, state); ++ } else { ++ switch (state) { ++ case TelephonyManager.CARD_POWER_DOWN: { ++ mRadioProxy.setSimCardPower(serial, false); ++ break; ++ } ++ case TelephonyManager.CARD_POWER_UP: { ++ mRadioProxy.setSimCardPower(serial, true); ++ break; ++ } ++ default: { ++ if (result != null) { ++ AsyncResult.forMessage(result, null, ++ CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED)); ++ result.sendToTarget(); ++ } ++ } ++ } + } + } + +diff --git a/src/java/com/android/internal/telephony/RadioVoiceProxy.java b/src/java/com/android/internal/telephony/RadioVoiceProxy.java +index e57a61d81c..7f46424485 100644 +--- a/src/java/com/android/internal/telephony/RadioVoiceProxy.java ++++ b/src/java/com/android/internal/telephony/RadioVoiceProxy.java +@@ -24,8 +24,8 @@ import android.telephony.emergency.EmergencyNumber; + import java.util.ArrayList; + + /** +- * A holder for IRadioVoice. +- * Use getAidl to get IRadioVoice and call the AIDL implementations of the HAL APIs. ++ * A holder for IRadioVoice. Use getHidl to get IRadio 1.0 and call the HIDL implementations or ++ * getAidl to get IRadioVoice and call the AIDL implementations of the HAL APIs. + */ + public class RadioVoiceProxy extends RadioServiceProxy { + private static final String TAG = "RadioVoiceProxy"; +@@ -153,7 +153,7 @@ public class RadioVoiceProxy extends RadioServiceProxy { + public void emergencyDial(int serial, String address, EmergencyNumber emergencyNumberInfo, + boolean hasKnownUserIntentEmergency, int clirMode, UUSInfo uusInfo) + throws RemoteException { +- if (isEmpty()) return; ++ if (isEmpty() || mHalVersion.less(RIL.RADIO_HAL_VERSION_1_4)) return; + if (isAidl()) { + mVoiceProxy.emergencyDial(serial, + RILUtils.convertToHalDialAidl(address, clirMode, uusInfo), +@@ -177,7 +177,7 @@ public class RadioVoiceProxy extends RadioServiceProxy { + emergencyNumberInfo.getEmergencyNumberSourceBitmask() + == EmergencyNumber.EMERGENCY_NUMBER_SOURCE_TEST); + } else { +- mRadioProxy.emergencyDial(serial, ++ ((android.hardware.radio.V1_4.IRadio) mRadioProxy).emergencyDial(serial, + RILUtils.convertToHalDial(address, clirMode, uusInfo), + emergencyNumberInfo.getEmergencyServiceCategoryBitmaskInternalDial(), + emergencyNumberInfo.getEmergencyUrns() != null +diff --git a/tests/telephonytests/src/com/android/internal/telephony/RILTest.java b/tests/telephonytests/src/com/android/internal/telephony/RILTest.java +index b285f0f8d2..c0e5d67a0d 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/RILTest.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/RILTest.java +@@ -142,7 +142,6 @@ import android.os.RemoteException; + import android.os.WorkSource; + import android.service.carrier.CarrierIdentifier; + import android.telephony.AccessNetworkConstants; +-import android.telephony.CellConfigLte; + import android.telephony.CellIdentityCdma; + import android.telephony.CellIdentityGsm; + import android.telephony.CellIdentityLte; +@@ -162,10 +161,11 @@ import android.telephony.CellSignalStrengthLte; + import android.telephony.CellSignalStrengthNr; + import android.telephony.CellSignalStrengthTdscdma; + import android.telephony.CellSignalStrengthWcdma; +-import android.telephony.ClosedSubscriberGroupInfo; + import android.telephony.NetworkScanRequest; + import android.telephony.RadioAccessFamily; + import android.telephony.RadioAccessSpecifier; ++import android.telephony.ServiceState; ++import android.telephony.SignalStrength; + import android.telephony.SmsManager; + import android.telephony.TelephonyManager; + import android.telephony.data.ApnSetting; +@@ -225,10 +225,13 @@ public class RILTest extends TelephonyTest { + private RadioSimProxy mSimProxy; + private RadioModemProxy mRadioModemProxy; + ++ private Map mHalVersionV10 = new HashMap<>(); ++ private Map mHalVersionV11 = new HashMap<>(); ++ private Map mHalVersionV12 = new HashMap<>(); ++ private Map mHalVersionV13 = new HashMap<>(); + private Map mHalVersionV14 = new HashMap<>(); + private Map mHalVersionV15 = new HashMap<>(); + private Map mHalVersionV16 = new HashMap<>(); +- private Map mHalVersionV20 = new HashMap<>(); + private Map mHalVersionV21 = new HashMap<>(); + + private RIL mRILInstance; +@@ -245,21 +248,25 @@ public class RILTest extends TelephonyTest { + private static final int CI = 268435456; + private static final int CID = 65535; + private static final int CQI = 2147483647; +- private static final int CQI_TABLE_INDEX = 1; + private static final int DBM = -74; + private static final int EARFCN = 262140; +- private static final ArrayList BANDS = new ArrayList<>(Arrays.asList(1, 2)); ++ private static final List BANDS = Arrays.asList(1, 2); + private static final int BANDWIDTH = 5000; + private static final int ECIO = -124; ++ private static final String EMPTY_ALPHA_LONG = ""; ++ private static final String EMPTY_ALPHA_SHORT = ""; + private static final int LAC = 65535; + private static final int LATITUDE = 1292000; + private static final int LONGITUDE = 1295000; ++ private static final int MCC = 120; + private static final String MCC_STR = "120"; ++ private static final int MNC = 260; + private static final String MNC_STR = "260"; + private static final int NETWORK_ID = 65534; + private static final int NRARFCN = 3279165; + private static final int PCI = 503; + private static final int PSC = 500; ++ private static final int RIL_TIMESTAMP_TYPE_OEM_RIL = 3; + private static final int RSSNR = CellInfo.UNAVAILABLE; + private static final int RSRP = -96; + private static final int RSRQ = -10; +@@ -275,9 +282,11 @@ public class RILTest extends TelephonyTest { + private static final int TIMING_ADVANCE = 4; + private static final long TIMESTAMP = 215924934; + private static final int UARFCN = 690; +- private static final int CONNECTION_STATUS = CellInfo.CONNECTION_NONE; +- private static final boolean ENDC_AVAILABLE = true; +- private static final boolean REGISTERED = true; ++ private static final int TYPE_CDMA = 2; ++ private static final int TYPE_GSM = 1; ++ private static final int TYPE_LTE = 3; ++ private static final int TYPE_WCDMA = 4; ++ private static final int TYPE_TD_SCDMA = 5; + + private static final int PROFILE_ID = 0; + private static final String APN = "apn"; +@@ -294,6 +303,7 @@ public class RILTest extends TelephonyTest { + | TelephonyManager.NETWORK_TYPE_BITMASK_LTE); + private static final int ROAMING_PROTOCOL = ApnSetting.PROTOCOL_IPV6; + private static final int MTU = 1234; ++ private static final boolean PERSISTENT = true; + + private static final String[] ADDITIONAL_PLMNS = new String[] {"00101", "001001", "12345"}; + +@@ -349,13 +359,16 @@ public class RILTest extends TelephonyTest { + doReturn(false).when(mRadioModemProxy).isEmpty(); + try { + for (int service = RIL.MIN_SERVICE_IDX; service <= RIL.MAX_SERVICE_IDX; service++) { ++ mHalVersionV10.put(service, new HalVersion(1, 0)); ++ mHalVersionV11.put(service, new HalVersion(1, 1)); ++ mHalVersionV12.put(service, new HalVersion(1, 2)); ++ mHalVersionV13.put(service, new HalVersion(1, 3)); + mHalVersionV14.put(service, new HalVersion(1, 4)); + mHalVersionV15.put(service, new HalVersion(1, 5)); + mHalVersionV16.put(service, new HalVersion(1, 6)); +- mHalVersionV20.put(service, new HalVersion(2, 0)); + mHalVersionV21.put(service, new HalVersion(2, 1)); + } +- replaceInstance(RIL.class, "mHalVersion", mRILUnderTest, mHalVersionV14); ++ replaceInstance(RIL.class, "mHalVersion", mRILUnderTest, mHalVersionV10); + } catch (Exception e) { + } + } +@@ -1596,694 +1609,460 @@ public class RILTest extends TelephonyTest { + return respInfo; + } + +- private android.hardware.radio.V1_2.CellIdentityOperatorNames getCellIdentityOperatorNames() { +- android.hardware.radio.V1_2.CellIdentityOperatorNames operatorNames = +- new android.hardware.radio.V1_2.CellIdentityOperatorNames(); +- operatorNames.alphaLong = ALPHA_LONG; +- operatorNames.alphaShort = ALPHA_SHORT; +- +- return operatorNames; +- } +- +- private android.hardware.radio.V1_2.CellIdentityLte getCellIdentityLte_1_2() { +- android.hardware.radio.V1_0.CellIdentityLte cellIdentity0 = +- new android.hardware.radio.V1_0.CellIdentityLte(); +- cellIdentity0.mcc = MCC_STR; +- cellIdentity0.mnc = MNC_STR; +- cellIdentity0.ci = CI; +- cellIdentity0.pci = PCI; +- cellIdentity0.tac = TAC; +- cellIdentity0.earfcn = EARFCN; +- +- android.hardware.radio.V1_2.CellIdentityLte cellIdentity = +- new android.hardware.radio.V1_2.CellIdentityLte(); +- cellIdentity.base = cellIdentity0; +- cellIdentity.operatorNames = getCellIdentityOperatorNames(); +- cellIdentity.bandwidth = BANDWIDTH; +- +- return cellIdentity; +- } +- +- private android.hardware.radio.V1_0.LteSignalStrength getLteSignalStrength_1_0() { +- android.hardware.radio.V1_0.LteSignalStrength signalStrength = +- new android.hardware.radio.V1_0.LteSignalStrength(); +- signalStrength.signalStrength = RSSI_ASU; +- signalStrength.rsrp = -RSRP; +- signalStrength.rsrq = -RSRQ; +- signalStrength.rssnr = RSSNR; +- signalStrength.cqi = CQI; +- signalStrength.timingAdvance = TIMING_ADVANCE; +- +- return signalStrength; +- } +- +- private android.hardware.radio.V1_4.CellInfo getCellInfo_1_4ForLte() { +- android.hardware.radio.V1_2.CellInfoLte cellInfo2 = +- new android.hardware.radio.V1_2.CellInfoLte(); +- cellInfo2.cellIdentityLte = getCellIdentityLte_1_2(); +- cellInfo2.signalStrengthLte = getLteSignalStrength_1_0(); +- +- android.hardware.radio.V1_4.CellConfigLte cellConfig = +- new android.hardware.radio.V1_4.CellConfigLte(); +- cellConfig.isEndcAvailable = ENDC_AVAILABLE; +- +- android.hardware.radio.V1_4.CellInfoLte cellInfoLte = +- new android.hardware.radio.V1_4.CellInfoLte(); +- cellInfoLte.base = cellInfo2; +- cellInfoLte.cellConfig = cellConfig; +- +- android.hardware.radio.V1_4.CellInfo cellInfo = new android.hardware.radio.V1_4.CellInfo(); +- cellInfo.isRegistered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.info.lte(cellInfoLte); +- +- return cellInfo; +- } +- + @Test +- public void testConvertHalCellInfoList_1_4ForLte() { ++ public void testConvertHalCellInfoListForLTE() { ++ android.hardware.radio.V1_0.CellInfoLte lte = new android.hardware.radio.V1_0.CellInfoLte(); ++ lte.cellIdentityLte.ci = CI; ++ lte.cellIdentityLte.pci = PCI; ++ lte.cellIdentityLte.tac = TAC; ++ lte.cellIdentityLte.earfcn = EARFCN; ++ lte.cellIdentityLte.mcc = MCC_STR; ++ lte.cellIdentityLte.mnc = MNC_STR; ++ lte.signalStrengthLte.signalStrength = RSSI_ASU; ++ lte.signalStrengthLte.rsrp = -RSRP; ++ lte.signalStrengthLte.rsrq = -RSRQ; ++ lte.signalStrengthLte.rssnr = RSSNR; ++ lte.signalStrengthLte.cqi = CQI; ++ lte.signalStrengthLte.timingAdvance = TIMING_ADVANCE; ++ android.hardware.radio.V1_0.CellInfo record = new android.hardware.radio.V1_0.CellInfo(); ++ record.cellInfoType = TYPE_LTE; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.lte.add(lte); + ArrayList records = new ArrayList<>(); +- records.add(getCellInfo_1_4ForLte()); ++ records.add(record); + + ArrayList ret = RILUtils.convertHalCellInfoList(records); + + assertEquals(1, ret.size()); + CellInfoLte cellInfoLte = (CellInfoLte) ret.get(0); +- cellInfoLte.setTimeStamp(TIMESTAMP); // override the timestamp +- +- CellIdentityLte cellIdentityLte = new CellIdentityLte(CI, PCI, TAC, EARFCN, new int[] {}, +- BANDWIDTH, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT, Collections.emptyList(), +- null); +- CellSignalStrengthLte cellSignalStrengthLte = new CellSignalStrengthLte( ++ CellInfoLte expected = new CellInfoLte(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityLte cil = new CellIdentityLte(CI, PCI, TAC, EARFCN, new int[] {}, ++ Integer.MAX_VALUE, MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT, ++ Collections.emptyList(), null); ++ CellSignalStrengthLte css = new CellSignalStrengthLte( + RSSI, RSRP, RSRQ, RSSNR, CQI, TIMING_ADVANCE); +- CellConfigLte cellConfigLte = new CellConfigLte(ENDC_AVAILABLE); +- CellInfoLte expected = new CellInfoLte(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityLte, cellSignalStrengthLte, cellConfigLte); ++ expected.setCellIdentity(cil); ++ expected.setCellSignalStrength(css); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_UNKNOWN); ++ cellInfoLte.setTimeStamp(TIMESTAMP); // override the timestamp + assertEquals(expected, cellInfoLte); + } + +- private android.hardware.radio.V1_5.OptionalCsgInfo getOptionalCsgInfo() { +- android.hardware.radio.V1_5.ClosedSubscriberGroupInfo closedSubscriberGroupInfo = +- new android.hardware.radio.V1_5.ClosedSubscriberGroupInfo(); +- closedSubscriberGroupInfo.csgIndication = CSG_INDICATION; +- closedSubscriberGroupInfo.homeNodebName = HOME_NODEB_NAME; +- closedSubscriberGroupInfo.csgIdentity = CSG_IDENTITY; +- +- android.hardware.radio.V1_5.OptionalCsgInfo optionalCsgInfo = +- new android.hardware.radio.V1_5.OptionalCsgInfo(); +- optionalCsgInfo.csgInfo(closedSubscriberGroupInfo); +- +- return optionalCsgInfo; +- } ++ @Test ++ public void testConvertHalCellInfoListForGSM() { ++ android.hardware.radio.V1_0.CellInfoGsm cellinfo = ++ new android.hardware.radio.V1_0.CellInfoGsm(); ++ cellinfo.cellIdentityGsm.lac = LAC; ++ cellinfo.cellIdentityGsm.cid = CID; ++ cellinfo.cellIdentityGsm.bsic = BSIC; ++ cellinfo.cellIdentityGsm.arfcn = ARFCN; ++ cellinfo.cellIdentityGsm.mcc = MCC_STR; ++ cellinfo.cellIdentityGsm.mnc = MNC_STR; ++ cellinfo.signalStrengthGsm.signalStrength = RSSI_ASU; ++ cellinfo.signalStrengthGsm.bitErrorRate = BIT_ERROR_RATE; ++ cellinfo.signalStrengthGsm.timingAdvance = TIMING_ADVANCE; ++ android.hardware.radio.V1_0.CellInfo record = new android.hardware.radio.V1_0.CellInfo(); ++ record.cellInfoType = TYPE_GSM; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.gsm.add(cellinfo); ++ ArrayList records = new ArrayList<>(); ++ records.add(record); + +- private android.hardware.radio.V1_5.CellIdentityLte getCellIdentityLte_1_5() { +- android.hardware.radio.V1_5.CellIdentityLte cellIdentity = +- new android.hardware.radio.V1_5.CellIdentityLte(); +- cellIdentity.base = getCellIdentityLte_1_2(); +- cellIdentity.additionalPlmns = new ArrayList<>(Arrays.asList(ADDITIONAL_PLMNS)); +- cellIdentity.optionalCsgInfo = getOptionalCsgInfo(); +- cellIdentity.bands = BANDS; ++ ArrayList ret = RILUtils.convertHalCellInfoList(records); + +- return cellIdentity; ++ assertEquals(1, ret.size()); ++ CellInfoGsm cellInfoGsm = (CellInfoGsm) ret.get(0); ++ CellInfoGsm expected = new CellInfoGsm(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityGsm ci = new CellIdentityGsm( ++ LAC, CID, ARFCN, BSIC, MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT, ++ Collections.emptyList()); ++ CellSignalStrengthGsm cs = new CellSignalStrengthGsm( ++ RSSI, BIT_ERROR_RATE, TIMING_ADVANCE); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_UNKNOWN); ++ cellInfoGsm.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoGsm); + } + + @Test +- public void testConvertHalCellInfoList_1_5ForLte() { +- android.hardware.radio.V1_5.CellInfoLte cellInfoLte = +- new android.hardware.radio.V1_5.CellInfoLte(); +- cellInfoLte.cellIdentityLte = getCellIdentityLte_1_5(); +- cellInfoLte.signalStrengthLte = getLteSignalStrength_1_0(); +- +- android.hardware.radio.V1_5.CellInfo cellInfo = new android.hardware.radio.V1_5.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.lte(cellInfoLte); +- ++ public void testConvertHalCellInfoListForWcdma() { ++ android.hardware.radio.V1_0.CellInfoWcdma cellinfo = ++ new android.hardware.radio.V1_0.CellInfoWcdma(); ++ cellinfo.cellIdentityWcdma.lac = LAC; ++ cellinfo.cellIdentityWcdma.cid = CID; ++ cellinfo.cellIdentityWcdma.psc = PSC; ++ cellinfo.cellIdentityWcdma.uarfcn = UARFCN; ++ cellinfo.cellIdentityWcdma.mcc = MCC_STR; ++ cellinfo.cellIdentityWcdma.mnc = MNC_STR; ++ cellinfo.signalStrengthWcdma.signalStrength = RSSI_ASU; ++ cellinfo.signalStrengthWcdma.bitErrorRate = BIT_ERROR_RATE; ++ android.hardware.radio.V1_0.CellInfo record = new android.hardware.radio.V1_0.CellInfo(); ++ record.cellInfoType = TYPE_WCDMA; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.wcdma.add(cellinfo); + ArrayList records = new ArrayList<>(); +- records.add(cellInfo); ++ records.add(record); + + ArrayList ret = RILUtils.convertHalCellInfoList(records); + + assertEquals(1, ret.size()); +- CellInfoLte cil = (CellInfoLte) ret.get(0); +- cil.setTimeStamp(TIMESTAMP); // override the timestamp ++ CellInfoWcdma cellInfoWcdma = (CellInfoWcdma) ret.get(0); ++ CellInfoWcdma expected = new CellInfoWcdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityWcdma ci = new CellIdentityWcdma( ++ LAC, CID, PSC, UARFCN, MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT, ++ Collections.emptyList(), null); ++ CellSignalStrengthWcdma cs = new CellSignalStrengthWcdma( ++ RSSI, BIT_ERROR_RATE, Integer.MAX_VALUE, Integer.MAX_VALUE); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_UNKNOWN); ++ cellInfoWcdma.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoWcdma); ++ } + +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- ClosedSubscriberGroupInfo closedSubscriberGroupInfo = +- new ClosedSubscriberGroupInfo(CSG_INDICATION, HOME_NODEB_NAME, CSG_IDENTITY); +- CellIdentityLte cellIdentityLte = new CellIdentityLte(CI, PCI, TAC, EARFCN, +- BANDS.stream().mapToInt(i -> i).toArray(), BANDWIDTH, MCC_STR, MNC_STR, ALPHA_LONG, +- ALPHA_SHORT, additionalPlmns, closedSubscriberGroupInfo); +- CellSignalStrengthLte cellSignalStrengthLte = new CellSignalStrengthLte( +- RSSI, RSRP, RSRQ, RSSNR, CQI, TIMING_ADVANCE); +- CellInfoLte expected = new CellInfoLte(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityLte, cellSignalStrengthLte, new CellConfigLte()); +- assertEquals(expected, cil); ++ private static void initializeCellIdentityTdscdma_1_2( ++ android.hardware.radio.V1_2.CellIdentityTdscdma cid) { ++ cid.base.lac = LAC; ++ cid.base.cid = CID; ++ cid.base.cpid = PSC; ++ cid.base.mcc = MCC_STR; ++ cid.base.mnc = MNC_STR; ++ cid.uarfcn = UARFCN; ++ cid.operatorNames.alphaLong = ALPHA_LONG; ++ cid.operatorNames.alphaShort = ALPHA_SHORT; + } + + @Test +- public void testConvertHalCellInfoList_1_6ForLte() { +- android.hardware.radio.V1_6.LteSignalStrength signalStrength = +- new android.hardware.radio.V1_6.LteSignalStrength(); +- signalStrength.base = getLteSignalStrength_1_0(); +- signalStrength.cqiTableIndex = CQI_TABLE_INDEX; +- +- android.hardware.radio.V1_6.CellInfoLte cellInfoLte = +- new android.hardware.radio.V1_6.CellInfoLte(); +- cellInfoLte.cellIdentityLte = getCellIdentityLte_1_5(); +- cellInfoLte.signalStrengthLte = signalStrength; +- +- android.hardware.radio.V1_6.CellInfo cellInfo = new android.hardware.radio.V1_6.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.lte(cellInfoLte); +- ++ public void testConvertHalCellInfoListForTdscdma() { ++ android.hardware.radio.V1_2.CellInfoTdscdma cellinfo = ++ new android.hardware.radio.V1_2.CellInfoTdscdma(); ++ initializeCellIdentityTdscdma_1_2(cellinfo.cellIdentityTdscdma); ++ ++ cellinfo.signalStrengthTdscdma.signalStrength = RSSI_ASU; ++ cellinfo.signalStrengthTdscdma.bitErrorRate = BIT_ERROR_RATE; ++ cellinfo.signalStrengthTdscdma.rscp = RSCP_ASU; ++ android.hardware.radio.V1_2.CellInfo record = new android.hardware.radio.V1_2.CellInfo(); ++ record.cellInfoType = TYPE_TD_SCDMA; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.tdscdma.add(cellinfo); + ArrayList records = new ArrayList<>(); +- records.add(cellInfo); ++ records.add(record); + + ArrayList ret = RILUtils.convertHalCellInfoList(records); + + assertEquals(1, ret.size()); +- CellInfoLte cil = (CellInfoLte) ret.get(0); +- cil.setTimeStamp(TIMESTAMP); // override the timestamp +- +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- ClosedSubscriberGroupInfo closedSubscriberGroupInfo = +- new ClosedSubscriberGroupInfo(CSG_INDICATION, HOME_NODEB_NAME, CSG_IDENTITY); +- CellIdentityLte cellIdentityLte = new CellIdentityLte(CI, PCI, TAC, EARFCN, +- BANDS.stream().mapToInt(i -> i).toArray(), BANDWIDTH, MCC_STR, MNC_STR, ALPHA_LONG, +- ALPHA_SHORT, additionalPlmns, closedSubscriberGroupInfo); +- CellSignalStrengthLte cellSignalStrengthLte = new CellSignalStrengthLte( +- RSSI, RSRP, RSRQ, RSSNR, CQI_TABLE_INDEX, CQI, TIMING_ADVANCE); +- CellInfoLte expected = new CellInfoLte(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityLte, cellSignalStrengthLte, new CellConfigLte()); +- assertEquals(expected, cil); ++ CellInfoTdscdma cellInfoTdscdma = (CellInfoTdscdma) ret.get(0); ++ CellInfoTdscdma expected = new CellInfoTdscdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ CellIdentityTdscdma ci = new CellIdentityTdscdma( ++ MCC_STR, MNC_STR, LAC, CID, PSC, UARFCN, ALPHA_LONG, ALPHA_SHORT, ++ Collections.emptyList(), null); ++ CellSignalStrengthTdscdma cs = new CellSignalStrengthTdscdma( ++ RSSI, BIT_ERROR_RATE, RSCP); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ cellInfoTdscdma.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoTdscdma); + } + +- private android.hardware.radio.V1_2.CellIdentityGsm getCellIdentityGsm_1_2() { +- android.hardware.radio.V1_0.CellIdentityGsm cellIdentity0 = +- new android.hardware.radio.V1_0.CellIdentityGsm(); +- cellIdentity0.mcc = MCC_STR; +- cellIdentity0.mnc = MNC_STR; +- cellIdentity0.lac = LAC; +- cellIdentity0.cid = CID; +- cellIdentity0.arfcn = ARFCN; +- cellIdentity0.bsic = BSIC; ++ @Test ++ public void testConvertHalCellInfoListForCdma() { ++ android.hardware.radio.V1_0.CellInfoCdma cellinfo = ++ new android.hardware.radio.V1_0.CellInfoCdma(); ++ cellinfo.cellIdentityCdma.networkId = NETWORK_ID; ++ cellinfo.cellIdentityCdma.systemId = SYSTEM_ID; ++ cellinfo.cellIdentityCdma.baseStationId = BASESTATION_ID; ++ cellinfo.cellIdentityCdma.longitude = LONGITUDE; ++ cellinfo.cellIdentityCdma.latitude = LATITUDE; ++ cellinfo.signalStrengthCdma.dbm = -DBM; ++ cellinfo.signalStrengthCdma.ecio = -ECIO; ++ cellinfo.signalStrengthEvdo.dbm = -DBM; ++ cellinfo.signalStrengthEvdo.ecio = -ECIO; ++ cellinfo.signalStrengthEvdo.signalNoiseRatio = SIGNAL_NOISE_RATIO; ++ android.hardware.radio.V1_0.CellInfo record = new android.hardware.radio.V1_0.CellInfo(); ++ record.cellInfoType = TYPE_CDMA; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.cdma.add(cellinfo); ++ ArrayList records = new ArrayList<>(); ++ records.add(record); + +- android.hardware.radio.V1_2.CellIdentityGsm cellIdentity = +- new android.hardware.radio.V1_2.CellIdentityGsm(); +- cellIdentity.base = cellIdentity0; +- cellIdentity.operatorNames = getCellIdentityOperatorNames(); ++ ArrayList ret = RILUtils.convertHalCellInfoList(records); + +- return cellIdentity; ++ assertEquals(1, ret.size()); ++ CellInfoCdma cellInfoCdma = (CellInfoCdma) ret.get(0); ++ CellInfoCdma expected = new CellInfoCdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityCdma ci = new CellIdentityCdma( ++ NETWORK_ID, SYSTEM_ID, BASESTATION_ID, LONGITUDE, LATITUDE, ++ EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT); ++ CellSignalStrengthCdma cs = new CellSignalStrengthCdma( ++ DBM, ECIO, DBM, ECIO, SIGNAL_NOISE_RATIO); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_UNKNOWN); ++ cellInfoCdma.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoCdma); + } + +- private android.hardware.radio.V1_0.GsmSignalStrength getGsmSignalStrength_1_0() { +- android.hardware.radio.V1_0.GsmSignalStrength signalStrength = +- new android.hardware.radio.V1_0.GsmSignalStrength(); +- signalStrength.signalStrength = RSSI_ASU; +- signalStrength.bitErrorRate = BIT_ERROR_RATE; +- signalStrength.timingAdvance = TIMING_ADVANCE; ++ @Test ++ public void testConvertHalCellInfoList_1_2ForLTE() { ++ ArrayList ret = getCellInfoListForLTE(MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); + +- return signalStrength; ++ assertEquals(1, ret.size()); ++ CellInfoLte cellInfoLte = (CellInfoLte) ret.get(0); ++ CellInfoLte expected = new CellInfoLte(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityLte cil = new CellIdentityLte( ++ CI, PCI, TAC, EARFCN, new int[] {}, BANDWIDTH, MCC_STR, MNC_STR, ++ ALPHA_LONG, ALPHA_SHORT, Collections.emptyList(), null); ++ CellSignalStrengthLte css = new CellSignalStrengthLte( ++ RSSI, RSRP, RSRQ, RSSNR, CQI, TIMING_ADVANCE); ++ expected.setCellIdentity(cil); ++ expected.setCellSignalStrength(css); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoLte.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoLte); + } + + @Test +- public void testConvertHalCellInfoList_1_4ForGsm() { +- android.hardware.radio.V1_2.CellInfoGsm cellInfoGsm = +- new android.hardware.radio.V1_2.CellInfoGsm(); +- cellInfoGsm.cellIdentityGsm = getCellIdentityGsm_1_2(); +- cellInfoGsm.signalStrengthGsm = getGsmSignalStrength_1_0(); +- +- android.hardware.radio.V1_4.CellInfo cellInfo = new android.hardware.radio.V1_4.CellInfo(); +- cellInfo.isRegistered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.info.gsm(cellInfoGsm); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2_ForLTEWithEmptyOperatorInfo() { ++ ArrayList ret = getCellInfoListForLTE( ++ MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT); + + assertEquals(1, ret.size()); +- CellInfoGsm cig = (CellInfoGsm) ret.get(0); +- cig.setTimeStamp(TIMESTAMP); // override the timestamp +- +- CellIdentityGsm cellIdentityGsm = new CellIdentityGsm(LAC, CID, ARFCN, BSIC, MCC_STR, +- MNC_STR, ALPHA_LONG, ALPHA_SHORT, Collections.emptyList()); +- CellSignalStrengthGsm cellSignalStrengthGsm = new CellSignalStrengthGsm( +- RSSI, BIT_ERROR_RATE, TIMING_ADVANCE); +- CellInfoGsm expected = new CellInfoGsm(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityGsm, cellSignalStrengthGsm); +- assertEquals(expected, cig); ++ CellInfoLte cellInfoLte = (CellInfoLte) ret.get(0); ++ CellInfoLte expected = new CellInfoLte(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityLte cil = new CellIdentityLte(CI, PCI, TAC, EARFCN, new int[] {}, ++ BANDWIDTH, MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT, ++ Collections.emptyList(), null); ++ CellSignalStrengthLte css = new CellSignalStrengthLte( ++ RSSI, RSRP, RSRQ, RSSNR, CQI, TIMING_ADVANCE); ++ expected.setCellIdentity(cil); ++ expected.setCellSignalStrength(css); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoLte.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoLte); + } + +- private android.hardware.radio.V1_5.CellInfoGsm getCellInfoGsm_1_5() { +- android.hardware.radio.V1_5.CellIdentityGsm cellIdentity = +- new android.hardware.radio.V1_5.CellIdentityGsm(); +- cellIdentity.base = getCellIdentityGsm_1_2(); +- cellIdentity.additionalPlmns = new ArrayList<>(Arrays.asList(ADDITIONAL_PLMNS)); +- +- android.hardware.radio.V1_5.CellInfoGsm cellInfo = +- new android.hardware.radio.V1_5.CellInfoGsm(); +- cellInfo.cellIdentityGsm = cellIdentity; +- cellInfo.signalStrengthGsm = getGsmSignalStrength_1_0(); ++ @Test ++ public void testConvertHalCellInfoList_1_2ForLTEWithEmptyMccMnc() { ++ // MCC/MNC will be set as INT_MAX if unknown ++ ArrayList ret = getCellInfoListForLTE( ++ String.valueOf(Integer.MAX_VALUE), String.valueOf(Integer.MAX_VALUE), ++ ALPHA_LONG, ALPHA_SHORT); + +- return cellInfo; ++ assertEquals(1, ret.size()); ++ CellInfoLte cellInfoLte = (CellInfoLte) ret.get(0); ++ CellInfoLte expected = new CellInfoLte(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityLte cil = new CellIdentityLte( ++ CI, PCI, TAC, EARFCN, new int[] {}, BANDWIDTH, null, null, ALPHA_LONG, ++ ALPHA_SHORT, Collections.emptyList(), null); ++ CellSignalStrengthLte css = new CellSignalStrengthLte( ++ RSSI, RSRP, RSRQ, RSSNR, CQI, TIMING_ADVANCE); ++ expected.setCellIdentity(cil); ++ expected.setCellSignalStrength(css); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoLte.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoLte); + } + + @Test +- public void testConvertHalCellInfoList_1_5ForGsm() { +- android.hardware.radio.V1_5.CellInfo cellInfo = new android.hardware.radio.V1_5.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.gsm(getCellInfoGsm_1_5()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForGSM() { ++ ArrayList ret = getCellInfoListForGSM(MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); + + assertEquals(1, ret.size()); + CellInfoGsm cellInfoGsm = (CellInfoGsm) ret.get(0); +- cellInfoGsm.setTimeStamp(TIMESTAMP); // override the timestamp +- +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- CellIdentityGsm cellIdentityGsm = new CellIdentityGsm(LAC, CID, ARFCN, BSIC, MCC_STR, +- MNC_STR, ALPHA_LONG, ALPHA_SHORT, additionalPlmns); +- CellSignalStrengthGsm cellSignalStrengthGsm = new CellSignalStrengthGsm( ++ CellInfoGsm expected = new CellInfoGsm(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityGsm ci = new CellIdentityGsm( ++ LAC, CID, ARFCN, BSIC, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT, ++ Collections.emptyList()); ++ CellSignalStrengthGsm cs = new CellSignalStrengthGsm( + RSSI, BIT_ERROR_RATE, TIMING_ADVANCE); +- CellInfoGsm expected = new CellInfoGsm(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityGsm, cellSignalStrengthGsm); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoGsm.setTimeStamp(TIMESTAMP); // override the timestamp + assertEquals(expected, cellInfoGsm); + } + + @Test +- public void testConvertHalCellInfoList_1_6ForGsm() { +- android.hardware.radio.V1_6.CellInfo cellInfo = new android.hardware.radio.V1_6.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.gsm(getCellInfoGsm_1_5()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForGSMWithEmptyOperatorInfo() { ++ ArrayList ret = getCellInfoListForGSM( ++ MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT); + + assertEquals(1, ret.size()); + CellInfoGsm cellInfoGsm = (CellInfoGsm) ret.get(0); +- cellInfoGsm.setTimeStamp(TIMESTAMP); // override the timestamp +- +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- CellIdentityGsm cellIdentityGsm = new CellIdentityGsm(LAC, CID, ARFCN, BSIC, MCC_STR, +- MNC_STR, ALPHA_LONG, ALPHA_SHORT, additionalPlmns); +- CellSignalStrengthGsm cellSignalStrengthGsm = new CellSignalStrengthGsm( ++ CellInfoGsm expected = new CellInfoGsm(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityGsm ci = new CellIdentityGsm( ++ LAC, CID, ARFCN, BSIC, MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT, ++ Collections.emptyList()); ++ CellSignalStrengthGsm cs = new CellSignalStrengthGsm( + RSSI, BIT_ERROR_RATE, TIMING_ADVANCE); +- CellInfoGsm expected = new CellInfoGsm(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityGsm, cellSignalStrengthGsm); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoGsm.setTimeStamp(TIMESTAMP); // override the timestamp + assertEquals(expected, cellInfoGsm); + } + +- private android.hardware.radio.V1_2.CellIdentityWcdma getCellIdentityWcdma_1_2() { +- android.hardware.radio.V1_0.CellIdentityWcdma cellIdentity0 = +- new android.hardware.radio.V1_0.CellIdentityWcdma(); +- cellIdentity0.mcc = MCC_STR; +- cellIdentity0.mnc = MNC_STR; +- cellIdentity0.lac = LAC; +- cellIdentity0.cid = CID; +- cellIdentity0.psc = PSC; +- cellIdentity0.uarfcn = UARFCN; +- +- android.hardware.radio.V1_2.CellIdentityWcdma cellIdentity = +- new android.hardware.radio.V1_2.CellIdentityWcdma(); +- cellIdentity.base = cellIdentity0; +- cellIdentity.operatorNames = getCellIdentityOperatorNames(); +- +- return cellIdentity; +- } +- +- private android.hardware.radio.V1_2.WcdmaSignalStrength getWcdmaSignalStrength_1_2() { +- android.hardware.radio.V1_0.WcdmaSignalStrength signalStrength0 = +- new android.hardware.radio.V1_0.WcdmaSignalStrength(); +- signalStrength0.signalStrength = RSSI_ASU; +- signalStrength0.bitErrorRate = BIT_ERROR_RATE; +- +- android.hardware.radio.V1_2.WcdmaSignalStrength signalStrength = +- new android.hardware.radio.V1_2.WcdmaSignalStrength(); +- signalStrength.base = signalStrength0; +- signalStrength.rscp = RSCP_ASU; +- signalStrength.ecno = ECNO_ASU; +- +- return signalStrength; +- } +- + @Test +- public void testConvertHalCellInfoList_1_4ForWcdma() { +- android.hardware.radio.V1_2.CellInfoWcdma cellInfoWcdma = +- new android.hardware.radio.V1_2.CellInfoWcdma(); +- cellInfoWcdma.cellIdentityWcdma = getCellIdentityWcdma_1_2(); +- cellInfoWcdma.signalStrengthWcdma = getWcdmaSignalStrength_1_2(); +- +- android.hardware.radio.V1_4.CellInfo cellInfo = new android.hardware.radio.V1_4.CellInfo(); +- cellInfo.isRegistered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.info.wcdma(cellInfoWcdma); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForGSMWithEmptyMccMnc() { ++ // MCC/MNC will be set as INT_MAX if unknown ++ ArrayList ret = getCellInfoListForGSM( ++ String.valueOf(Integer.MAX_VALUE), String.valueOf(Integer.MAX_VALUE), ++ ALPHA_LONG, ALPHA_SHORT); + + assertEquals(1, ret.size()); +- CellInfoWcdma ciw = (CellInfoWcdma) ret.get(0); +- ciw.setTimeStamp(TIMESTAMP); // override the timestamp +- +- CellIdentityWcdma cellIdentityWcdma = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, +- MNC_STR, ALPHA_LONG, ALPHA_SHORT, Collections.emptyList(), null); +- CellSignalStrengthWcdma cellSignalStrengthWcdma = new CellSignalStrengthWcdma( +- RSSI, BIT_ERROR_RATE, RSCP, ECNO); +- CellInfoWcdma expected = new CellInfoWcdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityWcdma, cellSignalStrengthWcdma); +- assertEquals(expected, ciw); +- } +- +- private android.hardware.radio.V1_5.CellInfoWcdma getCellInfoWcdma_1_5() { +- android.hardware.radio.V1_5.CellIdentityWcdma cellIdentity = +- new android.hardware.radio.V1_5.CellIdentityWcdma(); +- cellIdentity.base = getCellIdentityWcdma_1_2(); +- cellIdentity.additionalPlmns = new ArrayList<>(Arrays.asList(ADDITIONAL_PLMNS)); +- cellIdentity.optionalCsgInfo = getOptionalCsgInfo(); +- +- android.hardware.radio.V1_5.CellInfoWcdma cellInfo = +- new android.hardware.radio.V1_5.CellInfoWcdma(); +- cellInfo.cellIdentityWcdma = cellIdentity; +- cellInfo.signalStrengthWcdma = getWcdmaSignalStrength_1_2(); +- +- return cellInfo; ++ CellInfoGsm cellInfoGsm = (CellInfoGsm) ret.get(0); ++ CellInfoGsm expected = new CellInfoGsm(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityGsm ci = new CellIdentityGsm( ++ LAC, CID, ARFCN, BSIC, null, null, ALPHA_LONG, ALPHA_SHORT, ++ Collections.emptyList()); ++ CellSignalStrengthGsm cs = new CellSignalStrengthGsm( ++ RSSI, BIT_ERROR_RATE, TIMING_ADVANCE); ++ expected.setCellIdentity(ci); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ expected.setCellSignalStrength(cs); ++ cellInfoGsm.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoGsm); + } + + @Test +- public void testConvertHalCellInfoList_1_5ForWcdma() { +- android.hardware.radio.V1_5.CellInfo cellInfo = new android.hardware.radio.V1_5.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.wcdma(getCellInfoWcdma_1_5()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForWcdma() { ++ ArrayList ret = getCellInfoListForWcdma( ++ MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); + + assertEquals(1, ret.size()); + CellInfoWcdma cellInfoWcdma = (CellInfoWcdma) ret.get(0); ++ CellInfoWcdma expected = new CellInfoWcdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityWcdma ci = new CellIdentityWcdma( ++ LAC, CID, PSC, UARFCN, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT, ++ Collections.emptyList(), null); ++ CellSignalStrengthWcdma cs = ++ new CellSignalStrengthWcdma(RSSI, BIT_ERROR_RATE, RSCP, ECNO); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); + cellInfoWcdma.setTimeStamp(TIMESTAMP); // override the timestamp +- +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- ClosedSubscriberGroupInfo closedSubscriberGroupInfo = +- new ClosedSubscriberGroupInfo(CSG_INDICATION, HOME_NODEB_NAME, CSG_IDENTITY); +- CellIdentityWcdma cellIdentityWcdma = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, +- MNC_STR, ALPHA_LONG, ALPHA_SHORT, additionalPlmns, closedSubscriberGroupInfo); +- CellSignalStrengthWcdma cellSignalStrengthWcdma = new CellSignalStrengthWcdma( +- RSSI, BIT_ERROR_RATE, RSCP, ECNO); +- CellInfoWcdma expected = new CellInfoWcdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityWcdma, cellSignalStrengthWcdma); + assertEquals(expected, cellInfoWcdma); + } + + @Test +- public void testConvertHalCellInfoList_1_6ForWcdma() { +- android.hardware.radio.V1_6.CellInfo cellInfo = new android.hardware.radio.V1_6.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.wcdma(getCellInfoWcdma_1_5()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForWcdmaWithEmptyOperatorInfo() { ++ ArrayList ret = getCellInfoListForWcdma( ++ MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT); + + assertEquals(1, ret.size()); + CellInfoWcdma cellInfoWcdma = (CellInfoWcdma) ret.get(0); +- cellInfoWcdma.setTimeStamp(TIMESTAMP); // override the timestamp +- +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- ClosedSubscriberGroupInfo closedSubscriberGroupInfo = +- new ClosedSubscriberGroupInfo(CSG_INDICATION, HOME_NODEB_NAME, CSG_IDENTITY); +- CellIdentityWcdma cellIdentityWcdma = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, +- MNC_STR, ALPHA_LONG, ALPHA_SHORT, additionalPlmns, closedSubscriberGroupInfo); +- CellSignalStrengthWcdma cellSignalStrengthWcdma = new CellSignalStrengthWcdma( ++ CellInfoWcdma expected = new CellInfoWcdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityWcdma ci = new CellIdentityWcdma( ++ LAC, CID, PSC, UARFCN, MCC_STR, MNC_STR, EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT, ++ Collections.emptyList(), null); ++ CellSignalStrengthWcdma cs = new CellSignalStrengthWcdma( + RSSI, BIT_ERROR_RATE, RSCP, ECNO); +- CellInfoWcdma expected = new CellInfoWcdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityWcdma, cellSignalStrengthWcdma); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoWcdma.setTimeStamp(TIMESTAMP); // override the timestamp + assertEquals(expected, cellInfoWcdma); + } + +- private android.hardware.radio.V1_2.CellIdentityTdscdma getCellIdentityTdscdma_1_2() { +- android.hardware.radio.V1_0.CellIdentityTdscdma cellIdentity0 = +- new android.hardware.radio.V1_0.CellIdentityTdscdma(); +- cellIdentity0.mcc = MCC_STR; +- cellIdentity0.mnc = MNC_STR; +- cellIdentity0.lac = LAC; +- cellIdentity0.cid = CID; +- cellIdentity0.cpid = PSC; +- +- android.hardware.radio.V1_2.CellIdentityTdscdma cellIdentity = +- new android.hardware.radio.V1_2.CellIdentityTdscdma(); +- cellIdentity.base = cellIdentity0; +- cellIdentity.uarfcn = UARFCN; +- cellIdentity.operatorNames = getCellIdentityOperatorNames(); +- +- return cellIdentity; +- } +- +- private android.hardware.radio.V1_2.TdscdmaSignalStrength getTdscdmaSignalStrength_1_2() { +- android.hardware.radio.V1_2.TdscdmaSignalStrength signalStrength = +- new android.hardware.radio.V1_2.TdscdmaSignalStrength(); +- signalStrength.signalStrength = RSSI_ASU; +- signalStrength.bitErrorRate = BIT_ERROR_RATE; +- signalStrength.rscp = RSCP_ASU; +- +- return signalStrength; +- } +- + @Test +- public void testConvertHalCellInfoList_1_4ForTdscdma() { +- android.hardware.radio.V1_2.CellInfoTdscdma cellInfoTdscdma = +- new android.hardware.radio.V1_2.CellInfoTdscdma(); +- cellInfoTdscdma.cellIdentityTdscdma = getCellIdentityTdscdma_1_2(); +- cellInfoTdscdma.signalStrengthTdscdma = getTdscdmaSignalStrength_1_2(); +- +- android.hardware.radio.V1_4.CellInfo cellInfo = new android.hardware.radio.V1_4.CellInfo(); +- cellInfo.isRegistered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.info.tdscdma(cellInfoTdscdma); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForWcdmaWithEmptyMccMnc() { ++ // MCC/MNC will be set as INT_MAX if unknown ++ ArrayList ret = getCellInfoListForWcdma(null, null, ALPHA_LONG, ALPHA_SHORT); + + assertEquals(1, ret.size()); +- CellInfoTdscdma cit = (CellInfoTdscdma) ret.get(0); +- cit.setTimeStamp(TIMESTAMP); // override the timestamp +- +- CellIdentityTdscdma cellIdentityTdscdma = new CellIdentityTdscdma( +- MCC_STR, MNC_STR, LAC, CID, PSC, UARFCN, ALPHA_LONG, ALPHA_SHORT, ++ CellInfoWcdma cellInfoWcdma = (CellInfoWcdma) ret.get(0); ++ CellInfoWcdma expected = new CellInfoWcdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityWcdma ci = new CellIdentityWcdma( ++ LAC, CID, PSC, UARFCN, null, null, ALPHA_LONG, ALPHA_SHORT, + Collections.emptyList(), null); +- CellSignalStrengthTdscdma cellSignalStrengthTdscdma = new CellSignalStrengthTdscdma( +- RSSI, BIT_ERROR_RATE, RSCP); +- CellInfoTdscdma expected = new CellInfoTdscdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityTdscdma, cellSignalStrengthTdscdma); +- assertEquals(expected, cit); +- } +- +- private android.hardware.radio.V1_5.CellInfoTdscdma getCellInfoTdscdma_1_5() { +- android.hardware.radio.V1_5.CellIdentityTdscdma cellIdentity = +- new android.hardware.radio.V1_5.CellIdentityTdscdma(); +- cellIdentity.base = getCellIdentityTdscdma_1_2(); +- cellIdentity.additionalPlmns = new ArrayList<>(Arrays.asList(ADDITIONAL_PLMNS)); +- cellIdentity.optionalCsgInfo = getOptionalCsgInfo(); +- +- android.hardware.radio.V1_5.CellInfoTdscdma cellInfo = +- new android.hardware.radio.V1_5.CellInfoTdscdma(); +- cellInfo.cellIdentityTdscdma = cellIdentity; +- cellInfo.signalStrengthTdscdma = getTdscdmaSignalStrength_1_2(); +- +- return cellInfo; +- } +- +- @Test +- public void testConvertHalCellInfoList_1_5ForTdscdma() { +- android.hardware.radio.V1_5.CellInfo cellInfo = new android.hardware.radio.V1_5.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.tdscdma(getCellInfoTdscdma_1_5()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); +- +- assertEquals(1, ret.size()); +- CellInfoTdscdma cellInfoTdscdma = (CellInfoTdscdma) ret.get(0); +- cellInfoTdscdma.setTimeStamp(TIMESTAMP); // override the timestamp +- +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- ClosedSubscriberGroupInfo closedSubscriberGroupInfo = +- new ClosedSubscriberGroupInfo(CSG_INDICATION, HOME_NODEB_NAME, CSG_IDENTITY); +- CellIdentityTdscdma cellIdentityTdscdma = new CellIdentityTdscdma( +- MCC_STR, MNC_STR, LAC, CID, PSC, UARFCN, ALPHA_LONG, ALPHA_SHORT, +- additionalPlmns, closedSubscriberGroupInfo); +- CellSignalStrengthTdscdma cellSignalStrengthTdscdma = new CellSignalStrengthTdscdma( +- RSSI, BIT_ERROR_RATE, RSCP); +- CellInfoTdscdma expected = new CellInfoTdscdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityTdscdma, cellSignalStrengthTdscdma); +- assertEquals(expected, cellInfoTdscdma); +- } +- +- @Test +- public void testConvertHalCellInfoList_1_6ForTdscdma() { +- android.hardware.radio.V1_6.CellInfo cellInfo = new android.hardware.radio.V1_6.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.tdscdma(getCellInfoTdscdma_1_5()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); +- +- assertEquals(1, ret.size()); +- CellInfoTdscdma cellInfoTdscdma = (CellInfoTdscdma) ret.get(0); +- cellInfoTdscdma.setTimeStamp(TIMESTAMP); // override the timestamp +- +- Set additionalPlmns = new HashSet<>(); +- Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); +- ClosedSubscriberGroupInfo closedSubscriberGroupInfo = +- new ClosedSubscriberGroupInfo(CSG_INDICATION, HOME_NODEB_NAME, CSG_IDENTITY); +- CellIdentityTdscdma cellIdentityTdscdma = new CellIdentityTdscdma( +- MCC_STR, MNC_STR, LAC, CID, PSC, UARFCN, ALPHA_LONG, ALPHA_SHORT, +- additionalPlmns, closedSubscriberGroupInfo); +- CellSignalStrengthTdscdma cellSignalStrengthTdscdma = new CellSignalStrengthTdscdma( +- RSSI, BIT_ERROR_RATE, RSCP); +- CellInfoTdscdma expected = new CellInfoTdscdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityTdscdma, cellSignalStrengthTdscdma); +- assertEquals(expected, cellInfoTdscdma); +- } +- +- private android.hardware.radio.V1_2.CellInfoCdma getCellInfoCdma_1_2() { +- android.hardware.radio.V1_0.CellIdentityCdma cellIdentity0 = +- new android.hardware.radio.V1_0.CellIdentityCdma(); +- cellIdentity0.networkId = NETWORK_ID; +- cellIdentity0.systemId = SYSTEM_ID; +- cellIdentity0.baseStationId = BASESTATION_ID; +- cellIdentity0.longitude = LONGITUDE; +- cellIdentity0.latitude = LATITUDE; +- +- android.hardware.radio.V1_2.CellIdentityCdma cellIdentity = +- new android.hardware.radio.V1_2.CellIdentityCdma(); +- cellIdentity.base = cellIdentity0; +- cellIdentity.operatorNames = getCellIdentityOperatorNames(); +- +- android.hardware.radio.V1_0.CdmaSignalStrength cdmaSignalStrength = +- new android.hardware.radio.V1_0.CdmaSignalStrength(); +- cdmaSignalStrength.dbm = -DBM; +- cdmaSignalStrength.ecio = -ECIO; +- +- android.hardware.radio.V1_0.EvdoSignalStrength evdoSignalStrength = +- new android.hardware.radio.V1_0.EvdoSignalStrength(); +- evdoSignalStrength.dbm = -DBM; +- evdoSignalStrength.ecio = -ECIO; +- evdoSignalStrength.signalNoiseRatio = SIGNAL_NOISE_RATIO; +- +- android.hardware.radio.V1_2.CellInfoCdma cellInfo = +- new android.hardware.radio.V1_2.CellInfoCdma(); +- cellInfo.cellIdentityCdma = cellIdentity; +- cellInfo.signalStrengthCdma = cdmaSignalStrength; +- cellInfo.signalStrengthEvdo = evdoSignalStrength; +- +- return cellInfo; ++ CellSignalStrengthWcdma cs = new CellSignalStrengthWcdma( ++ RSSI, BIT_ERROR_RATE, RSCP, ECNO); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoWcdma.setTimeStamp(TIMESTAMP); // override the timestamp ++ assertEquals(expected, cellInfoWcdma); + } + + @Test +- public void testConvertHalCellInfoList_1_4ForCdma() { +- android.hardware.radio.V1_4.CellInfo cellInfo = new android.hardware.radio.V1_4.CellInfo(); +- cellInfo.isRegistered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.info.cdma(getCellInfoCdma_1_2()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForCdma() { ++ ArrayList ret = getCellInfoListForCdma(ALPHA_LONG, ALPHA_SHORT); + + assertEquals(1, ret.size()); + CellInfoCdma cellInfoCdma = (CellInfoCdma) ret.get(0); +- cellInfoCdma.setTimeStamp(TIMESTAMP); // override the timestamp +- +- CellIdentityCdma cellIdentityCdma = new CellIdentityCdma(NETWORK_ID, SYSTEM_ID, +- BASESTATION_ID, LONGITUDE, LATITUDE, ALPHA_LONG, ALPHA_SHORT); +- CellSignalStrengthCdma cellSignalStrengthCdma = new CellSignalStrengthCdma( ++ CellInfoCdma expected = new CellInfoCdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityCdma ci = new CellIdentityCdma( ++ NETWORK_ID, SYSTEM_ID, BASESTATION_ID, LONGITUDE, LATITUDE, ++ ALPHA_LONG, ALPHA_SHORT); ++ CellSignalStrengthCdma cs = new CellSignalStrengthCdma( + DBM, ECIO, DBM, ECIO, SIGNAL_NOISE_RATIO); +- CellInfoCdma expected = new CellInfoCdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityCdma, cellSignalStrengthCdma); +- assertEquals(expected, cellInfoCdma); +- } +- +- @Test +- public void testConvertHalCellInfoList_1_5ForCdma() { +- android.hardware.radio.V1_5.CellInfo cellInfo = new android.hardware.radio.V1_5.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.cdma(getCellInfoCdma_1_2()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); +- +- assertEquals(1, ret.size()); +- CellInfoCdma cellInfoCdma = (CellInfoCdma) ret.get(0); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); + cellInfoCdma.setTimeStamp(TIMESTAMP); // override the timestamp +- +- CellIdentityCdma cellIdentityCdma = new CellIdentityCdma(NETWORK_ID, SYSTEM_ID, +- BASESTATION_ID, LONGITUDE, LATITUDE, ALPHA_LONG, ALPHA_SHORT); +- CellSignalStrengthCdma cellSignalStrengthCdma = new CellSignalStrengthCdma( +- DBM, ECIO, DBM, ECIO, SIGNAL_NOISE_RATIO); +- CellInfoCdma expected = new CellInfoCdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityCdma, cellSignalStrengthCdma); + assertEquals(expected, cellInfoCdma); + } + + @Test +- public void testConvertHalCellInfoList_1_6ForCdma() { +- android.hardware.radio.V1_6.CellInfo cellInfo = new android.hardware.radio.V1_6.CellInfo(); +- cellInfo.registered = REGISTERED; +- cellInfo.connectionStatus = CONNECTION_STATUS; +- cellInfo.ratSpecificInfo.cdma(getCellInfoCdma_1_2()); +- +- ArrayList records = new ArrayList<>(); +- records.add(cellInfo); +- +- ArrayList ret = RILUtils.convertHalCellInfoList(records); ++ public void testConvertHalCellInfoList_1_2ForCdmaWithEmptyOperatorInfo() { ++ ArrayList ret = getCellInfoListForCdma(EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT); + + assertEquals(1, ret.size()); + CellInfoCdma cellInfoCdma = (CellInfoCdma) ret.get(0); +- cellInfoCdma.setTimeStamp(TIMESTAMP); // override the timestamp +- +- CellIdentityCdma cellIdentityCdma = new CellIdentityCdma(NETWORK_ID, SYSTEM_ID, +- BASESTATION_ID, LONGITUDE, LATITUDE, ALPHA_LONG, ALPHA_SHORT); +- CellSignalStrengthCdma cellSignalStrengthCdma = new CellSignalStrengthCdma( ++ CellInfoCdma expected = new CellInfoCdma(); ++ expected.setRegistered(false); ++ expected.setTimeStamp(TIMESTAMP); ++ CellIdentityCdma ci = new CellIdentityCdma( ++ NETWORK_ID, SYSTEM_ID, BASESTATION_ID, LONGITUDE, LATITUDE, ++ EMPTY_ALPHA_LONG, EMPTY_ALPHA_SHORT); ++ CellSignalStrengthCdma cs = new CellSignalStrengthCdma( + DBM, ECIO, DBM, ECIO, SIGNAL_NOISE_RATIO); +- CellInfoCdma expected = new CellInfoCdma(CONNECTION_STATUS, REGISTERED, TIMESTAMP, +- cellIdentityCdma, cellSignalStrengthCdma); ++ expected.setCellIdentity(ci); ++ expected.setCellSignalStrength(cs); ++ expected.setCellConnectionStatus(CellInfo.CONNECTION_NONE); ++ cellInfoCdma.setTimeStamp(TIMESTAMP); // override the timestamp + assertEquals(expected, cellInfoCdma); + } + +@@ -2329,8 +2108,170 @@ public class RILTest extends TelephonyTest { + assertEquals(expectedSignalStrength, signalStrengthNr); + } + ++ private static android.hardware.radio.V1_5.ClosedSubscriberGroupInfo getHalCsgInfo() { ++ android.hardware.radio.V1_5.ClosedSubscriberGroupInfo csgInfo = ++ new android.hardware.radio.V1_5.ClosedSubscriberGroupInfo(); ++ ++ csgInfo.csgIndication = CSG_INDICATION; ++ csgInfo.homeNodebName = HOME_NODEB_NAME; ++ csgInfo.csgIdentity = CSG_IDENTITY; ++ ++ return csgInfo; ++ } ++ ++ private static void initializeCellIdentityLte_1_5( ++ android.hardware.radio.V1_5.CellIdentityLte id, ++ boolean addAdditionalPlmns, boolean addCsgInfo) { ++ ++ initializeCellIdentityLte_1_2(id.base); ++ ++ if (addAdditionalPlmns) { ++ id.additionalPlmns = new ArrayList<>( ++ Arrays.asList(ADDITIONAL_PLMNS)); ++ } ++ ++ if (addCsgInfo) { ++ id.optionalCsgInfo.csgInfo(getHalCsgInfo()); ++ } ++ } ++ ++ @Test ++ public void testCellIdentityLte_1_5_CsgInfo() { ++ android.hardware.radio.V1_5.CellIdentityLte halCellIdentity = ++ new android.hardware.radio.V1_5.CellIdentityLte(); ++ initializeCellIdentityLte_1_5(halCellIdentity, false, true); ++ ++ CellIdentityLte cellIdentity = RILUtils.convertHalCellIdentityLte(halCellIdentity); ++ ++ assertEquals(CSG_INDICATION, ++ cellIdentity.getClosedSubscriberGroupInfo().getCsgIndicator()); ++ assertEquals(HOME_NODEB_NAME, ++ cellIdentity.getClosedSubscriberGroupInfo().getHomeNodebName()); ++ assertEquals(CSG_IDENTITY, ++ cellIdentity.getClosedSubscriberGroupInfo().getCsgIdentity()); ++ } ++ ++ @Test ++ public void testCellIdentityLte_1_5_MultiPlmn() { ++ android.hardware.radio.V1_5.CellIdentityLte halCellIdentity = ++ new android.hardware.radio.V1_5.CellIdentityLte(); ++ initializeCellIdentityLte_1_5(halCellIdentity, true, false); ++ ++ CellIdentityLte cellIdentity = RILUtils.convertHalCellIdentityLte(halCellIdentity); ++ ++ Set additionalPlmns = new HashSet<>(); ++ Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); ++ ++ assertEquals(cellIdentity.getAdditionalPlmns(), additionalPlmns); ++ } ++ ++ private static void initializeCellIdentityWcdma_1_5( ++ android.hardware.radio.V1_5.CellIdentityWcdma id, ++ boolean addAdditionalPlmns, boolean addCsgInfo) { ++ ++ initializeCellIdentityWcdma_1_2(id.base); ++ ++ if (addAdditionalPlmns) { ++ id.additionalPlmns = new ArrayList<>(Arrays.asList(ADDITIONAL_PLMNS)); ++ } ++ ++ if (addCsgInfo) { ++ id.optionalCsgInfo.csgInfo(getHalCsgInfo()); ++ } ++ } ++ ++ @Test ++ public void testCellIdentityWcdma_1_5_CsgInfo() { ++ android.hardware.radio.V1_5.CellIdentityWcdma halCellIdentity = ++ new android.hardware.radio.V1_5.CellIdentityWcdma(); ++ initializeCellIdentityWcdma_1_5(halCellIdentity, false, true); ++ ++ CellIdentityWcdma cellIdentity = RILUtils.convertHalCellIdentityWcdma(halCellIdentity); ++ ++ assertEquals(CSG_INDICATION, ++ cellIdentity.getClosedSubscriberGroupInfo().getCsgIndicator()); ++ assertEquals(HOME_NODEB_NAME, ++ cellIdentity.getClosedSubscriberGroupInfo().getHomeNodebName()); ++ assertEquals(CSG_IDENTITY, ++ cellIdentity.getClosedSubscriberGroupInfo().getCsgIdentity()); ++ } ++ ++ @Test ++ public void testCellIdentityWcdma_1_5_MultiPlmn() { ++ android.hardware.radio.V1_5.CellIdentityWcdma halCellIdentity = ++ new android.hardware.radio.V1_5.CellIdentityWcdma(); ++ initializeCellIdentityWcdma_1_5(halCellIdentity, true, false); ++ ++ CellIdentityWcdma cellIdentity = RILUtils.convertHalCellIdentityWcdma(halCellIdentity); ++ ++ Set additionalPlmns = new HashSet<>(); ++ Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); ++ ++ assertEquals(cellIdentity.getAdditionalPlmns(), additionalPlmns); ++ } ++ ++ private static void initializeCellIdentityTdscdma_1_5( ++ android.hardware.radio.V1_5.CellIdentityTdscdma id, ++ boolean addAdditionalPlmns, boolean addCsgInfo) { ++ ++ initializeCellIdentityTdscdma_1_2(id.base); ++ ++ if (addAdditionalPlmns) { ++ id.additionalPlmns = new ArrayList<>(Arrays.asList(ADDITIONAL_PLMNS)); ++ } ++ ++ if (addCsgInfo) { ++ id.optionalCsgInfo.csgInfo(getHalCsgInfo()); ++ } ++ } ++ ++ @Test ++ public void testCellIdentityTdscdma_1_5_CsgInfo() { ++ android.hardware.radio.V1_5.CellIdentityTdscdma halCellIdentity = ++ new android.hardware.radio.V1_5.CellIdentityTdscdma(); ++ initializeCellIdentityTdscdma_1_5(halCellIdentity, false, true); ++ ++ CellIdentityTdscdma cellIdentity = RILUtils.convertHalCellIdentityTdscdma(halCellIdentity); ++ ++ assertEquals(CSG_INDICATION, ++ cellIdentity.getClosedSubscriberGroupInfo().getCsgIndicator()); ++ assertEquals(HOME_NODEB_NAME, ++ cellIdentity.getClosedSubscriberGroupInfo().getHomeNodebName()); ++ assertEquals(CSG_IDENTITY, ++ cellIdentity.getClosedSubscriberGroupInfo().getCsgIdentity()); ++ } ++ ++ @Test ++ public void testCellIdentityTdscdma_1_5_MultiPlmn() { ++ android.hardware.radio.V1_5.CellIdentityTdscdma halCellIdentity = ++ new android.hardware.radio.V1_5.CellIdentityTdscdma(); ++ initializeCellIdentityTdscdma_1_5(halCellIdentity, true, false); ++ ++ CellIdentityTdscdma cellIdentity = RILUtils.convertHalCellIdentityTdscdma(halCellIdentity); ++ ++ Set additionalPlmns = new HashSet<>(); ++ Collections.addAll(additionalPlmns, ADDITIONAL_PLMNS); ++ ++ assertEquals(cellIdentity.getAdditionalPlmns(), additionalPlmns); ++ } ++ + @Test + public void testConvertDataCallResult() { ++ // Test V1.0 SetupDataCallResult ++ android.hardware.radio.V1_0.SetupDataCallResult result10 = ++ new android.hardware.radio.V1_0.SetupDataCallResult(); ++ result10.status = android.hardware.radio.V1_0.DataCallFailCause.NONE; ++ result10.suggestedRetryTime = -1; ++ result10.cid = 0; ++ result10.active = 2; ++ result10.type = "IPV4V6"; ++ result10.ifname = "ifname"; ++ result10.addresses = "10.0.2.15 2607:fb90:a620:651d:eabe:f8da:c107:44be/64"; ++ result10.dnses = "10.0.2.3 fd00:976a::9"; ++ result10.gateways = "10.0.2.15 fe80::2"; ++ result10.pcscf = "fd00:976a:c206:20::6 fd00:976a:c206:20::9 fd00:976a:c202:1d::9"; ++ result10.mtu = 1500; ++ + DataCallResponse response = new DataCallResponse.Builder() + .setCause(0) + .setRetryDurationMillis(-1L) +@@ -2356,6 +2297,8 @@ public class RILTest extends TelephonyTest { + .setTrafficDescriptors(new ArrayList<>()) + .build(); + ++ assertEquals(response, RILUtils.convertHalDataCallResult(result10)); ++ + // Test V1.4 SetupDataCallResult + android.hardware.radio.V1_4.SetupDataCallResult result14 = + new android.hardware.radio.V1_4.SetupDataCallResult(); +@@ -2592,7 +2535,11 @@ public class RILTest extends TelephonyTest { + ArrayList records = new ArrayList<>(); + + for (int i = 0; i < 5 /* arbitrary */; i++) { +- android.hardware.radio.V1_4.CellInfo record = getCellInfo_1_4ForLte(); ++ android.hardware.radio.V1_4.CellInfo record = ++ new android.hardware.radio.V1_4.CellInfo(); ++ record.info = new android.hardware.radio.V1_4.CellInfo.Info(); ++ record.info.lte(new android.hardware.radio.V1_4.CellInfoLte()); ++ initializeCellInfoLte_1_2(record.info.lte().base); + record.info.lte().base.cellIdentityLte.base.ci += i; // make them marginally unique + + records.add(record); +@@ -2607,6 +2554,181 @@ public class RILTest extends TelephonyTest { + } + } + ++ @Test ++ public void testCellInfoTimestamp_1_2() { ++ ArrayList records = new ArrayList<>(); ++ ++ for (int i = 0; i < 5 /* arbitrary */; i++) { ++ android.hardware.radio.V1_2.CellInfo record = ++ new android.hardware.radio.V1_2.CellInfo(); ++ record.cellInfoType = TYPE_LTE; ++ record.timeStamp = Long.MAX_VALUE; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.lte.add(new android.hardware.radio.V1_2.CellInfoLte()); ++ initializeCellInfoLte_1_2(record.lte.get(0)); ++ record.lte.get(0).cellIdentityLte.base.ci += i; // make them marginally unique ++ ++ records.add(record); ++ } ++ List cil = RILUtils.convertHalCellInfoList(records); ++ ++ // Check that all timestamps are set to a valid number and are equal ++ final long ts = cil.get(0).getTimeStamp(); ++ for (CellInfo ci : cil) { ++ assertTrue(ci.getTimeStamp() > 0 && ci.getTimeStamp() != Long.MAX_VALUE); ++ assertEquals(ci.getTimeStamp(), ts); ++ } ++ } ++ ++ private static void initializeCellIdentityLte_1_2( ++ android.hardware.radio.V1_2.CellIdentityLte id) { ++ // 1.0 fields ++ id.base.mcc = MCC_STR; ++ id.base.mnc = MNC_STR; ++ id.base.ci = CI; ++ id.base.pci = PCI; ++ id.base.tac = TAC; ++ id.base.earfcn = EARFCN; ++ ++ // 1.2 fields ++ id.bandwidth = BANDWIDTH; ++ id.operatorNames.alphaLong = ALPHA_LONG; ++ id.operatorNames.alphaShort = ALPHA_SHORT; ++ } ++ ++ private static void initializeCellInfoLte_1_2(android.hardware.radio.V1_2.CellInfoLte lte) { ++ initializeCellIdentityLte_1_2(lte.cellIdentityLte); ++ ++ lte.signalStrengthLte.signalStrength = RSSI_ASU; ++ lte.signalStrengthLte.rsrp = -RSRP; ++ lte.signalStrengthLte.rsrq = -RSRQ; ++ lte.signalStrengthLte.rssnr = RSSNR; ++ lte.signalStrengthLte.cqi = CQI; ++ lte.signalStrengthLte.timingAdvance = TIMING_ADVANCE; ++ } ++ ++ private ArrayList getCellInfoListForLTE( ++ String mcc, String mnc, String alphaLong, String alphaShort) { ++ android.hardware.radio.V1_2.CellInfoLte lte = new android.hardware.radio.V1_2.CellInfoLte(); ++ ++ initializeCellInfoLte_1_2(lte); ++ // Override the defaults for test-specific purposes ++ lte.cellIdentityLte.operatorNames.alphaLong = alphaLong; ++ lte.cellIdentityLte.operatorNames.alphaShort = alphaShort; ++ lte.cellIdentityLte.base.mcc = mcc; ++ lte.cellIdentityLte.base.mnc = mnc; ++ ++ android.hardware.radio.V1_2.CellInfo record = new android.hardware.radio.V1_2.CellInfo(); ++ record.cellInfoType = TYPE_LTE; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.lte.add(lte); ++ record.connectionStatus = 0; ++ ArrayList records = new ArrayList<>(); ++ records.add(record); ++ return RILUtils.convertHalCellInfoList(records); ++ } ++ ++ private ArrayList getCellInfoListForGSM( ++ String mcc, String mnc, String alphaLong, String alphaShort) { ++ android.hardware.radio.V1_2.CellInfoGsm cellinfo = ++ new android.hardware.radio.V1_2.CellInfoGsm(); ++ cellinfo.cellIdentityGsm.base.lac = LAC; ++ cellinfo.cellIdentityGsm.base.cid = CID; ++ cellinfo.cellIdentityGsm.base.bsic = BSIC; ++ cellinfo.cellIdentityGsm.base.arfcn = ARFCN; ++ cellinfo.cellIdentityGsm.base.mcc = mcc; ++ cellinfo.cellIdentityGsm.base.mnc = mnc; ++ cellinfo.cellIdentityGsm.operatorNames.alphaLong = alphaLong; ++ cellinfo.cellIdentityGsm.operatorNames.alphaShort = alphaShort; ++ cellinfo.signalStrengthGsm.signalStrength = RSSI_ASU; ++ cellinfo.signalStrengthGsm.bitErrorRate = BIT_ERROR_RATE; ++ cellinfo.signalStrengthGsm.timingAdvance = TIMING_ADVANCE; ++ android.hardware.radio.V1_2.CellInfo record = new android.hardware.radio.V1_2.CellInfo(); ++ record.cellInfoType = TYPE_GSM; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.gsm.add(cellinfo); ++ record.connectionStatus = 0; ++ ArrayList records = new ArrayList<>(); ++ records.add(record); ++ ++ return RILUtils.convertHalCellInfoList(records); ++ } ++ ++ private static void initializeCellIdentityWcdma_1_2( ++ android.hardware.radio.V1_2.CellIdentityWcdma cid) { ++ initializeCellIdentityWcdma_1_2(cid, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); ++ } ++ ++ private static void initializeCellIdentityWcdma_1_2( ++ android.hardware.radio.V1_2.CellIdentityWcdma cid, ++ String mcc, String mnc, String alphaLong, String alphaShort) { ++ cid.base.lac = LAC; ++ cid.base.cid = CID; ++ cid.base.psc = PSC; ++ cid.base.uarfcn = UARFCN; ++ cid.base.mcc = mcc; ++ cid.base.mnc = mnc; ++ cid.operatorNames.alphaLong = alphaLong; ++ cid.operatorNames.alphaShort = alphaShort; ++ } ++ ++ private ArrayList getCellInfoListForWcdma( ++ String mcc, String mnc, String alphaLong, String alphaShort) { ++ android.hardware.radio.V1_2.CellInfoWcdma cellinfo = ++ new android.hardware.radio.V1_2.CellInfoWcdma(); ++ initializeCellIdentityWcdma_1_2( ++ cellinfo.cellIdentityWcdma, mcc, mnc, alphaLong, alphaShort); ++ ++ cellinfo.signalStrengthWcdma.base.signalStrength = RSSI_ASU; ++ cellinfo.signalStrengthWcdma.base.bitErrorRate = BIT_ERROR_RATE; ++ cellinfo.signalStrengthWcdma.rscp = RSCP_ASU; ++ cellinfo.signalStrengthWcdma.ecno = ECNO_ASU; ++ android.hardware.radio.V1_2.CellInfo record = new android.hardware.radio.V1_2.CellInfo(); ++ record.cellInfoType = TYPE_WCDMA; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.wcdma.add(cellinfo); ++ record.connectionStatus = 0; ++ ArrayList records = new ArrayList<>(); ++ records.add(record); ++ ++ return RILUtils.convertHalCellInfoList(records); ++ } ++ ++ private ArrayList getCellInfoListForCdma(String alphaLong, String alphaShort) { ++ android.hardware.radio.V1_2.CellInfoCdma cellinfo = ++ new android.hardware.radio.V1_2.CellInfoCdma(); ++ cellinfo.cellIdentityCdma.base.networkId = NETWORK_ID; ++ cellinfo.cellIdentityCdma.base.systemId = SYSTEM_ID; ++ cellinfo.cellIdentityCdma.base.baseStationId = BASESTATION_ID; ++ cellinfo.cellIdentityCdma.base.longitude = LONGITUDE; ++ cellinfo.cellIdentityCdma.base.latitude = LATITUDE; ++ cellinfo.cellIdentityCdma.operatorNames.alphaLong = alphaLong; ++ cellinfo.cellIdentityCdma.operatorNames.alphaShort = alphaShort; ++ cellinfo.signalStrengthCdma.dbm = -DBM; ++ cellinfo.signalStrengthCdma.ecio = -ECIO; ++ cellinfo.signalStrengthEvdo.dbm = -DBM; ++ cellinfo.signalStrengthEvdo.ecio = -ECIO; ++ cellinfo.signalStrengthEvdo.signalNoiseRatio = SIGNAL_NOISE_RATIO; ++ android.hardware.radio.V1_2.CellInfo record = new android.hardware.radio.V1_2.CellInfo(); ++ record.cellInfoType = TYPE_CDMA; ++ record.registered = false; ++ record.timeStampType = RIL_TIMESTAMP_TYPE_OEM_RIL; ++ record.timeStamp = TIMESTAMP; ++ record.cdma.add(cellinfo); ++ record.connectionStatus = 0; ++ ArrayList records = new ArrayList<>(); ++ records.add(record); ++ ++ return RILUtils.convertHalCellInfoList(records); ++ } ++ + @Test + public void testSetupDataCall() throws Exception { + ApnSetting apn = new ApnSetting.Builder() +@@ -2636,8 +2758,8 @@ public class RILTest extends TelephonyTest { + obtainMessage()); + ArgumentCaptor dpiCaptor = ArgumentCaptor.forClass(DataProfile.class); + verify(mDataProxy).setupDataCall(mSerialNumberCaptor.capture(), +- eq(AccessNetworkConstants.AccessNetworkType.EUTRAN), dpiCaptor.capture(), +- eq(false), anyInt(), any(), anyInt(), any(), any(), eq(true)); ++ anyInt(), eq(AccessNetworkConstants.AccessNetworkType.EUTRAN), dpiCaptor.capture(), ++ eq(false), eq(false), anyInt(), any(), anyInt(), any(), any(), eq(true)); + verifyRILResponse( + mRILUnderTest, mSerialNumberCaptor.getValue(), RIL_REQUEST_SETUP_DATA_CALL); + DataProfile dpi = dpiCaptor.getValue(); +@@ -2655,6 +2777,46 @@ public class RILTest extends TelephonyTest { + assertEquals(MTU, dpi.getMtu()); + } + ++ @Test ++ public void testFixupSignalStrength10() { ++ final int gsmWcdmaRssiDbm = -65; ++ ++ // Test the positive case where rat=UMTS and SignalStrength=GSM ++ doReturn(ServiceState.RIL_RADIO_TECHNOLOGY_UMTS) ++ .when(mServiceState).getRilVoiceRadioTechnology(); ++ ++ SignalStrength gsmSignalStrength = new SignalStrength( ++ new CellSignalStrengthCdma(), ++ new CellSignalStrengthGsm(gsmWcdmaRssiDbm, 1, CellInfo.UNAVAILABLE), ++ new CellSignalStrengthWcdma(), new CellSignalStrengthTdscdma(), ++ new CellSignalStrengthLte(), new CellSignalStrengthNr()); ++ SignalStrength result = mRILUnderTest.fixupSignalStrength10(gsmSignalStrength); ++ ++ assertTrue(result.getCellSignalStrengths(CellSignalStrengthGsm.class).isEmpty()); ++ assertFalse(result.getCellSignalStrengths(CellSignalStrengthWcdma.class).isEmpty()); ++ ++ // Even though the dBm values are equal, the above checks ensure that the value has ++ // been migrated to WCDMA (with no change in the top-level getDbm() result). ++ assertEquals(result.getDbm(), gsmSignalStrength.getDbm()); ++ ++ // Test the no-op case where rat=GSM and SignalStrength=GSM ++ doReturn(ServiceState.RIL_RADIO_TECHNOLOGY_GSM) ++ .when(mServiceState).getRilVoiceRadioTechnology(); ++ result = mRILUnderTest.fixupSignalStrength10(gsmSignalStrength); ++ assertEquals(result, gsmSignalStrength); ++ ++ // Check that non-GSM non-WCDMA signal strengths are also passed through. ++ SignalStrength lteSignalStrength = new SignalStrength( ++ new CellSignalStrengthCdma(), new CellSignalStrengthGsm(), ++ new CellSignalStrengthWcdma(), new CellSignalStrengthTdscdma(), ++ new CellSignalStrengthLte(CellInfo.UNAVAILABLE, ++ -120, -10, CellInfo.UNAVAILABLE, CellInfo.UNAVAILABLE, ++ CellInfo.UNAVAILABLE), new CellSignalStrengthNr()); ++ SignalStrength lteResult = mRILUnderTest.fixupSignalStrength10(lteSignalStrength); ++ ++ assertEquals(lteResult, lteSignalStrength); ++ } ++ + @Test + public void testCreateCarrierRestrictionList() { + ArrayList carriers = new ArrayList<>(); +@@ -2698,7 +2860,7 @@ public class RILTest extends TelephonyTest { + + ArrayList result = RILUtils.convertToHalCarrierRestrictionList(carriers); + +- assertEquals(result, expected); ++ assertTrue(result.equals(expected)); + } + + @Test +@@ -2745,27 +2907,27 @@ public class RILTest extends TelephonyTest { + verify(mSimProxy, never()).areUiccApplicationsEnabled(mSerialNumberCaptor.capture()); + // Sending message is handled by getRadioProxy when proxy is null. + // areUiccApplicationsEnabled shouldn't explicitly send another callback. +- assertNull(message.obj); ++ assertEquals(null, message.obj); + } + + @Test +- public void testSetGetCompatVersion() { ++ public void testSetGetCompatVersion() throws Exception { + final int testRequest = RIL_REQUEST_GET_UICC_APPLICATIONS_ENABLEMENT; + + // getCompactVersion should return null before first setting + assertNull(mRILUnderTest.getCompatVersion(testRequest)); + + // first time setting any valid HalVersion will success +- mRILUnderTest.setCompatVersion(testRequest, RIL.RADIO_HAL_VERSION_1_5); +- assertEquals(RIL.RADIO_HAL_VERSION_1_5, mRILUnderTest.getCompatVersion(testRequest)); +- +- // try to set a lower HalVersion will success + mRILUnderTest.setCompatVersion(testRequest, RIL.RADIO_HAL_VERSION_1_4); + assertEquals(RIL.RADIO_HAL_VERSION_1_4, mRILUnderTest.getCompatVersion(testRequest)); + ++ // try to set a lower HalVersion will success ++ mRILUnderTest.setCompatVersion(testRequest, RIL.RADIO_HAL_VERSION_1_3); ++ assertEquals(RIL.RADIO_HAL_VERSION_1_3, mRILUnderTest.getCompatVersion(testRequest)); ++ + // try to set a greater HalVersion will not success +- mRILUnderTest.setCompatVersion(testRequest, RIL.RADIO_HAL_VERSION_1_6); +- assertEquals(RIL.RADIO_HAL_VERSION_1_4, mRILUnderTest.getCompatVersion(testRequest)); ++ mRILUnderTest.setCompatVersion(testRequest, RIL.RADIO_HAL_VERSION_1_5); ++ assertEquals(RIL.RADIO_HAL_VERSION_1_3, mRILUnderTest.getCompatVersion(testRequest)); + } + + @FlakyTest +@@ -2804,7 +2966,7 @@ public class RILTest extends TelephonyTest { + Message message = obtainMessage(); + mRILUnderTest.getImei(message); + AsyncResult ar = (AsyncResult) message.obj; +- Assert.assertNull(ar.result); ++ Assert.assertEquals(null, ar.result); + Assert.assertNotNull(ar.exception.getMessage()); + Assert.assertEquals("REQUEST_NOT_SUPPORTED", ar.exception.getMessage()); + } +@@ -2817,7 +2979,8 @@ public class RILTest extends TelephonyTest { + Handler handler = new Handler(handlerThread.getLooper()) { + public void handleMessage(Message msg) { + AsyncResult ar = (AsyncResult) msg.obj; +- if (ar != null && ar.exception instanceof CommandException) { ++ if (ar != null && ar.exception != null ++ && ar.exception instanceof CommandException) { + CommandException.Error err = + ((CommandException) (ar.exception)).getCommandError(); + if (err == CommandException.Error.SYSTEM_ERR) { +@@ -2847,7 +3010,8 @@ public class RILTest extends TelephonyTest { + Handler handler = new Handler(handlerThread.getLooper()) { + public void handleMessage(Message msg) { + AsyncResult ar = (AsyncResult) msg.obj; +- if (ar != null && ar.exception instanceof CommandException) { ++ if (ar != null && ar.exception != null ++ && ar.exception instanceof CommandException) { + CommandException.Error err = + ((CommandException) (ar.exception)).getCommandError(); + if (err == CommandException.Error.RADIO_NOT_AVAILABLE) { +diff --git a/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java b/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java +index e56b0a80a1..9f3483550e 100644 +--- a/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java ++++ b/tests/telephonytests/src/com/android/internal/telephony/SimulatedCommands.java +@@ -18,10 +18,9 @@ package com.android.internal.telephony.test; + + import android.compat.annotation.UnsupportedAppUsage; + import android.hardware.radio.RadioError; +-import android.hardware.radio.V1_2.VoiceRegStateResult; +-import android.hardware.radio.V1_4.DataRegStateResult; +-import android.hardware.radio.V1_4.PdpProtocolType; +-import android.hardware.radio.V1_4.SetupDataCallResult; ++import android.hardware.radio.V1_0.DataRegStateResult; ++import android.hardware.radio.V1_0.SetupDataCallResult; ++import android.hardware.radio.V1_0.VoiceRegStateResult; + import android.hardware.radio.modem.ImeiInfo; + import android.net.KeepalivePacketData; + import android.net.LinkProperties; +@@ -593,7 +592,7 @@ public class SimulatedCommands extends BaseCommands + */ + @Override + public void getDataCallList(Message result) { +- ArrayList dcCallList = new ArrayList<>(0); ++ ArrayList dcCallList = new ArrayList(0); + SimulatedCommandsVerifier.getInstance().getDataCallList(result); + if (mSetupDataCallResult != null) { + dcCallList.add(mSetupDataCallResult); +@@ -1060,10 +1059,10 @@ public class SimulatedCommands extends BaseCommands + Object ret = mDataRegStateResult; + if (ret == null) { + ret = new DataRegStateResult(); +- ((DataRegStateResult) ret).base.regState = mDataRegState; +- ((DataRegStateResult) ret).base.rat = mDataRadioTech; +- ((DataRegStateResult) ret).base.maxDataCalls = mMaxDataCalls; +- ((DataRegStateResult) ret).base.reasonDataDenied = mReasonForDenial; ++ ((DataRegStateResult) ret).regState = mDataRegState; ++ ((DataRegStateResult) ret).rat = mDataRadioTech; ++ ((DataRegStateResult) ret).maxDataCalls = mMaxDataCalls; ++ ((DataRegStateResult) ret).reasonDataDenied = mReasonForDenial; + } + + resultSuccess(result, ret); +@@ -1224,17 +1223,17 @@ public class SimulatedCommands extends BaseCommands + if (mSetupDataCallResult == null) { + try { + mSetupDataCallResult = new SetupDataCallResult(); +- mSetupDataCallResult.cause = 0; ++ mSetupDataCallResult.status = 0; + mSetupDataCallResult.suggestedRetryTime = -1; + mSetupDataCallResult.cid = 1; + mSetupDataCallResult.active = 2; +- mSetupDataCallResult.type = PdpProtocolType.IP; ++ mSetupDataCallResult.type = "IP"; + mSetupDataCallResult.ifname = "rmnet_data7"; +- mSetupDataCallResult.addresses = new ArrayList<>(List.of("12.34.56.78")); +- mSetupDataCallResult.dnses = new ArrayList<>(List.of("98.76.54.32")); +- mSetupDataCallResult.gateways = new ArrayList<>(List.of("11.22.33.44")); +- mSetupDataCallResult.pcscf = new ArrayList<>(List.of( +- "fd00:976a:c305:1d::8 fd00:976a:c202:1d::7 fd00:976a:c305:1d::5")); ++ mSetupDataCallResult.addresses = "12.34.56.78"; ++ mSetupDataCallResult.dnses = "98.76.54.32"; ++ mSetupDataCallResult.gateways = "11.22.33.44"; ++ mSetupDataCallResult.pcscf = ++ "fd00:976a:c305:1d::8 fd00:976a:c202:1d::7 fd00:976a:c305:1d::5"; + mSetupDataCallResult.mtu = 1440; + } catch (Exception e) { + Rlog.e(LOG_TAG, "setupDataCall: e=" + e); +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0005-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch b/patches_treble_td/platform_frameworks_opt_telephony/0007-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch similarity index 97% rename from patches_treble_td/platform_frameworks_opt_telephony/0005-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch rename to patches_treble_td/platform_frameworks_opt_telephony/0007-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch index 076c098..4b950d5 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0005-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0007-Fix-signalstrength-for-huawei-kirin-hi6250-hi3670.patch @@ -1,7 +1,7 @@ -From 34bd2c5fa8287e379eb74b2421b85ea1bce049f8 Mon Sep 17 00:00:00 2001 +From 782b6e6c27cf6643bbdb34bea638cb3d61d83e8e Mon Sep 17 00:00:00 2001 From: Raphael Mounier Date: Thu, 6 Oct 2022 08:35:38 +0200 -Subject: [PATCH 5/9] Fix signalstrength for huawei kirin (hi6250, hi3670) +Subject: [PATCH 07/14] Fix signalstrength for huawei kirin (hi6250, hi3670) The RILUtils.convertHalSignalStrength function does not work correctly under Huawei hi6250 and hi3660 platform. We have therefore replaced this function with a new one specifically for this Kirin platform. @@ -21,10 +21,10 @@ Change-Id: I4409683dc7cd9b870237a2939188b71ce94a9fc7 2 files changed, 139 insertions(+), 4 deletions(-) diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java -index a6a084baf7..2e39b1d2d5 100644 +index 3a8ce141ae..ef6aa6499f 100644 --- a/src/java/com/android/internal/telephony/RIL.java +++ b/src/java/com/android/internal/telephony/RIL.java -@@ -6929,6 +6929,129 @@ public class RIL extends BaseCommands implements CommandsInterface { +@@ -6959,6 +6959,129 @@ public class RIL extends BaseCommands implements CommandsInterface { new CellSignalStrengthNr()); } @@ -155,7 +155,7 @@ index a6a084baf7..2e39b1d2d5 100644 mLastBarringInfo = barringInfo; mBarringInfoChangedRegistrants.notifyRegistrants(new AsyncResult(null, barringInfo, null)); diff --git a/src/java/com/android/internal/telephony/RadioIndication.java b/src/java/com/android/internal/telephony/RadioIndication.java -index 4f75412ad9..42a4f73da3 100644 +index b29a7bf434..f62425d22a 100644 --- a/src/java/com/android/internal/telephony/RadioIndication.java +++ b/src/java/com/android/internal/telephony/RadioIndication.java @@ -241,13 +241,25 @@ public class RadioIndication extends IRadioIndication.Stub { diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0006-telephony-forward-port-support-for-forceCognitive.patch b/patches_treble_td/platform_frameworks_opt_telephony/0008-telephony-forward-port-support-for-forceCognitive.patch similarity index 92% rename from patches_treble_td/platform_frameworks_opt_telephony/0006-telephony-forward-port-support-for-forceCognitive.patch rename to patches_treble_td/platform_frameworks_opt_telephony/0008-telephony-forward-port-support-for-forceCognitive.patch index aa9f10b..687359a 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0006-telephony-forward-port-support-for-forceCognitive.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0008-telephony-forward-port-support-for-forceCognitive.patch @@ -1,7 +1,7 @@ -From 4e7f9118dfab7d36b0ae5ae22e925d48a1da2848 Mon Sep 17 00:00:00 2001 +From ce340db96c0aefab288bfa24d19708822242cb97 Mon Sep 17 00:00:00 2001 From: corneranchu Date: Sat, 1 Oct 2022 01:49:58 +0000 -Subject: [PATCH 6/9] telephony: forward-port support for forceCognitive +Subject: [PATCH 08/14] telephony: forward-port support for forceCognitive * This is needed on some MTK devices. Android 10 refactored some code, so now the "non-persistent/cognitive" filter is relocated to RIL and diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0007-Fix-NPE-with-1.0-and-1.1-CardStatus.patch b/patches_treble_td/platform_frameworks_opt_telephony/0009-Fix-NPE-with-1.0-and-1.1-CardStatus.patch similarity index 81% rename from patches_treble_td/platform_frameworks_opt_telephony/0007-Fix-NPE-with-1.0-and-1.1-CardStatus.patch rename to patches_treble_td/platform_frameworks_opt_telephony/0009-Fix-NPE-with-1.0-and-1.1-CardStatus.patch index 2b846f3..1144ce8 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0007-Fix-NPE-with-1.0-and-1.1-CardStatus.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0009-Fix-NPE-with-1.0-and-1.1-CardStatus.patch @@ -1,7 +1,7 @@ -From 7a5417353a9309fbbab27ad93b58156a4377e338 Mon Sep 17 00:00:00 2001 +From d72c205b31944c8dff5d0e37fe426c63172024f5 Mon Sep 17 00:00:00 2001 From: Christian Hoffmann Date: Fri, 21 Oct 2022 12:58:04 +0200 -Subject: [PATCH 7/9] Fix NPE with 1.0 and 1.1 CardStatus +Subject: [PATCH 09/14] Fix NPE with 1.0 and 1.1 CardStatus Change-Id: I965f6ef419b7aef828da02f5d4745bd33d09fe3a --- @@ -9,10 +9,10 @@ Change-Id: I965f6ef419b7aef828da02f5d4745bd33d09fe3a 1 file changed, 2 insertions(+) diff --git a/src/java/com/android/internal/telephony/RadioResponse.java b/src/java/com/android/internal/telephony/RadioResponse.java -index fe0ea2db93..f21db89bde 100644 +index 8a52dfbbb2..fe0ea2db93 100644 --- a/src/java/com/android/internal/telephony/RadioResponse.java +++ b/src/java/com/android/internal/telephony/RadioResponse.java -@@ -1934,6 +1934,8 @@ public class RadioResponse extends IRadioResponse.Stub { +@@ -1879,6 +1879,8 @@ public class RadioResponse extends IRadioResponse.Stub { if (rr != null) { IccCardStatus iccCardStatus = RILUtils.convertHalCardStatus(cardStatus); diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0008-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch b/patches_treble_td/platform_frameworks_opt_telephony/0010-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch similarity index 90% rename from patches_treble_td/platform_frameworks_opt_telephony/0008-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch rename to patches_treble_td/platform_frameworks_opt_telephony/0010-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch index 5246463..67e2a57 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0008-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0010-When-logging-UiccSlot-ignore-error-if-we-cant-print-.patch @@ -1,7 +1,7 @@ -From d8f51ede30e9bd1874f1ee495a6f97d55caf9e63 Mon Sep 17 00:00:00 2001 +From 65f7af2a45f65610888c184b38b8b3e84ced3666 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 17 Oct 2023 11:08:06 -0400 -Subject: [PATCH 8/9] When logging UiccSlot, ignore error if we cant print +Subject: [PATCH 10/14] When logging UiccSlot, ignore error if we cant print IccIds --- diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0009-Revert-Removed-IWLAN-legacy-mode-support.patch b/patches_treble_td/platform_frameworks_opt_telephony/0011-Revert-Removed-IWLAN-legacy-mode-support.patch similarity index 87% rename from patches_treble_td/platform_frameworks_opt_telephony/0009-Revert-Removed-IWLAN-legacy-mode-support.patch rename to patches_treble_td/platform_frameworks_opt_telephony/0011-Revert-Removed-IWLAN-legacy-mode-support.patch index ab8247a..7dcfec0 100644 --- a/patches_treble_td/platform_frameworks_opt_telephony/0009-Revert-Removed-IWLAN-legacy-mode-support.patch +++ b/patches_treble_td/platform_frameworks_opt_telephony/0011-Revert-Removed-IWLAN-legacy-mode-support.patch @@ -1,23 +1,23 @@ -From 8a59c8c11b11c6b980f238d52c467d0a0dcb59e3 Mon Sep 17 00:00:00 2001 +From 00950a811708b8d9ed31ff88fad89f2f4cf2fcdc Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Fri, 20 Oct 2023 09:11:55 +0000 -Subject: [PATCH 9/9] Revert "Removed IWLAN legacy mode support" +Subject: [PATCH 11/14] Revert "Removed IWLAN legacy mode support" This reverts commit d8d3ed41243ba1fc4b5a5a2a6e30be3f6a404a9d. Change-Id: I1fd5a803ea3b01f902ff14e1ee6225312b2d3206 --- - .../telephony/ServiceStateTracker.java | 65 +++++++++-- + .../telephony/ServiceStateTracker.java | 63 ++++++++-- .../telephony/data/AccessNetworksManager.java | 110 +++++++++++++++--- .../telephony/data/DataNetworkController.java | 10 +- .../internal/telephony/imsphone/ImsPhone.java | 42 ++++++- - 4 files changed, 190 insertions(+), 37 deletions(-) + 4 files changed, 189 insertions(+), 36 deletions(-) diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java -index 8a4967085f..a668285bbe 100644 +index 3b82adef9c..bc5f7c9116 100644 --- a/src/java/com/android/internal/telephony/ServiceStateTracker.java +++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java -@@ -665,7 +665,7 @@ public class ServiceStateTracker extends Handler { +@@ -671,7 +671,7 @@ public class ServiceStateTracker extends Handler { mAccessNetworksManager = mPhone.getAccessNetworksManager(); mOutOfServiceSS = new ServiceState(); @@ -26,7 +26,7 @@ index 8a4967085f..a668285bbe 100644 for (int transportType : mAccessNetworksManager.getAvailableTransports()) { mRegStateManagers.append(transportType, new NetworkRegistrationManager( -@@ -782,9 +782,9 @@ public class ServiceStateTracker extends Handler { +@@ -793,9 +793,9 @@ public class ServiceStateTracker extends Handler { } mSS = new ServiceState(); @@ -38,25 +38,16 @@ index 8a4967085f..a668285bbe 100644 mLastCellInfoReqTime = 0; mLastCellInfoList = null; mStartedGprsRegCheck = false; -@@ -3314,7 +3314,7 @@ public class ServiceStateTracker extends Handler { - nri = mNewSS.getNetworkRegistrationInfo( - NetworkRegistrationInfo.DOMAIN_PS, - AccessNetworkConstants.TRANSPORT_TYPE_WLAN); -- mNewSS.setOutOfService(false); -+ mNewSS.setOutOfService(mAccessNetworksManager.isInLegacyMode(), false); - // Add the IWLAN registration info back to service state. - if (nri != null) { - mNewSS.addNetworkRegistrationInfo(nri); -@@ -3331,7 +3331,7 @@ public class ServiceStateTracker extends Handler { - nri = mNewSS.getNetworkRegistrationInfo( - NetworkRegistrationInfo.DOMAIN_PS, - AccessNetworkConstants.TRANSPORT_TYPE_WLAN); -- mNewSS.setOutOfService(true); -+ mNewSS.setOutOfService(mAccessNetworksManager.isInLegacyMode(), true); - // Add the IWLAN registration info back to service state. - if (nri != null) { - mNewSS.addNetworkRegistrationInfo(nri); -@@ -3459,10 +3459,14 @@ public class ServiceStateTracker extends Handler { +@@ -3379,7 +3379,7 @@ public class ServiceStateTracker extends Handler { + NetworkRegistrationInfo nri = mNewSS.getNetworkRegistrationInfo( + NetworkRegistrationInfo.DOMAIN_PS, + AccessNetworkConstants.TRANSPORT_TYPE_WLAN); +- mNewSS.setOutOfService(radioOff); ++ mNewSS.setOutOfService(mAccessNetworksManager.isInLegacyMode(),radioOff); + // Add the IWLAN registration info back to service state. + if (nri != null) { + mNewSS.addNetworkRegistrationInfo(nri); +@@ -3466,10 +3466,14 @@ public class ServiceStateTracker extends Handler { mSS.getState() == ServiceState.STATE_POWER_OFF && mNewSS.getState() != ServiceState.STATE_POWER_OFF; @@ -75,7 +66,7 @@ index 8a4967085f..a668285bbe 100644 boolean anyDataRegChanged = false; boolean anyDataRatChanged = false; boolean hasAlphaRawChanged = -@@ -3648,7 +3652,7 @@ public class ServiceStateTracker extends Handler { +@@ -3655,7 +3659,7 @@ public class ServiceStateTracker extends Handler { ServiceState oldMergedSS = new ServiceState(mPhone.getServiceState()); mSS = new ServiceState(mNewSS); @@ -84,7 +75,7 @@ index 8a4967085f..a668285bbe 100644 mCellIdentity = primaryCellIdentity; if (mSS.getState() == ServiceState.STATE_IN_SERVICE && primaryCellIdentity != null) { -@@ -5517,7 +5521,8 @@ public class ServiceStateTracker extends Handler { +@@ -5531,7 +5535,8 @@ public class ServiceStateTracker extends Handler { } /** @@ -94,7 +85,7 @@ index 8a4967085f..a668285bbe 100644 */ private void processIwlanRegistrationInfo() { if (mCi.getRadioState() == TelephonyManager.RADIO_POWER_OFF) { -@@ -5531,7 +5536,7 @@ public class ServiceStateTracker extends Handler { +@@ -5545,7 +5550,7 @@ public class ServiceStateTracker extends Handler { } // operator info should be kept in SS String operator = mNewSS.getOperatorAlphaLong(); @@ -103,7 +94,7 @@ index 8a4967085f..a668285bbe 100644 if (resetIwlanRatVal) { mNewSS.setDataRegState(ServiceState.STATE_IN_SERVICE); NetworkRegistrationInfo nri = new NetworkRegistrationInfo.Builder() -@@ -5541,6 +5546,17 @@ public class ServiceStateTracker extends Handler { +@@ -5555,6 +5560,17 @@ public class ServiceStateTracker extends Handler { .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_HOME) .build(); mNewSS.addNetworkRegistrationInfo(nri); @@ -121,7 +112,7 @@ index 8a4967085f..a668285bbe 100644 mNewSS.setOperatorAlphaLong(operator); // Since it's in airplane mode, cellular must be out of service. The only possible // transport for data to go through is the IWLAN transport. Setting this to true -@@ -5550,6 +5566,31 @@ public class ServiceStateTracker extends Handler { +@@ -5564,6 +5580,31 @@ public class ServiceStateTracker extends Handler { } return; } @@ -154,7 +145,7 @@ index 8a4967085f..a668285bbe 100644 private void updateNtnCapability() { diff --git a/src/java/com/android/internal/telephony/data/AccessNetworksManager.java b/src/java/com/android/internal/telephony/data/AccessNetworksManager.java -index 267f70b389..73f4c7b847 100644 +index a657ecd8cf..f9a35b6c94 100644 --- a/src/java/com/android/internal/telephony/data/AccessNetworksManager.java +++ b/src/java/com/android/internal/telephony/data/AccessNetworksManager.java @@ -16,9 +16,12 @@ @@ -178,13 +169,15 @@ index 267f70b389..73f4c7b847 100644 import android.telephony.AccessNetworkConstants; import android.telephony.AccessNetworkConstants.AccessNetworkType; import android.telephony.AccessNetworkConstants.RadioAccessNetworkType; -@@ -52,11 +56,14 @@ import android.util.LocalLog; - import android.util.SparseArray; +@@ -54,6 +58,7 @@ import android.util.SparseArray; + import com.android.internal.telephony.IIntegerConsumer; import com.android.internal.telephony.Phone; +import com.android.internal.telephony.RIL; import com.android.internal.telephony.SlidingWindowEventCounter; - import com.android.telephony.Rlog; + import com.android.internal.telephony.flags.FeatureFlags; + import com.android.internal.util.FunctionalUtils; +@@ -61,6 +66,8 @@ import com.android.telephony.Rlog; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -193,7 +186,7 @@ index 267f70b389..73f4c7b847 100644 import java.util.ArrayList; import java.util.Arrays; import java.util.List; -@@ -74,6 +81,35 @@ import java.util.stream.Collectors; +@@ -79,6 +86,35 @@ import java.util.stream.Collectors; */ public class AccessNetworksManager extends Handler { private static final boolean DBG = false; @@ -229,12 +222,13 @@ index 267f70b389..73f4c7b847 100644 /** Event to guide a transport type for initial data connection of emergency data network. */ private static final int EVENT_GUIDE_TRANSPORT_TYPE_FOR_EMERGENCY = 1; -@@ -344,21 +380,29 @@ public class AccessNetworksManager extends Handler { +@@ -389,22 +425,30 @@ public class AccessNetworksManager extends Handler { Context.CARRIER_CONFIG_SERVICE); mLogTag = "ANM-" + mPhone.getPhoneId(); mApnTypeToQnsChangeNetworkCounter = new SparseArray<>(); - mAvailableTransports = new int[]{AccessNetworkConstants.TRANSPORT_TYPE_WWAN, - AccessNetworkConstants.TRANSPORT_TYPE_WLAN}; + mFeatureFlags = featureFlags; - - // bindQualifiedNetworksService posts real work to handler thread. So here we can - // let the callback execute in binder thread to avoid post twice. @@ -274,7 +268,7 @@ index 267f70b389..73f4c7b847 100644 // Using post to delay the registering because data retry manager and data config // manager instances are created later than access networks manager. -@@ -463,7 +507,8 @@ public class AccessNetworksManager extends Handler { +@@ -509,7 +553,8 @@ public class AccessNetworksManager extends Handler { /** * Get the qualified network service package. * @@ -284,7 +278,7 @@ index 267f70b389..73f4c7b847 100644 */ private String getQualifiedNetworksServicePackageName() { // Read package name from the resource -@@ -552,9 +597,30 @@ public class AccessNetworksManager extends Handler { +@@ -598,9 +643,30 @@ public class AccessNetworksManager extends Handler { } /** @@ -317,7 +311,7 @@ index 267f70b389..73f4c7b847 100644 return mAvailableTransports; } -@@ -589,6 +655,11 @@ public class AccessNetworksManager extends Handler { +@@ -635,6 +701,11 @@ public class AccessNetworksManager extends Handler { * @return The preferred transport. */ public @TransportType int getPreferredTransport(@ApnType int apnType) { @@ -329,7 +323,7 @@ index 267f70b389..73f4c7b847 100644 return mPreferredTransports.get(apnType) == null ? AccessNetworkConstants.TRANSPORT_TYPE_WWAN : mPreferredTransports.get(apnType); } -@@ -691,6 +762,9 @@ public class AccessNetworksManager extends Handler { +@@ -737,6 +808,9 @@ public class AccessNetworksManager extends Handler { } pw.decreaseIndent(); @@ -340,10 +334,10 @@ index 267f70b389..73f4c7b847 100644 pw.increaseIndent(); mLocalLog.dump(fd, pw, args); diff --git a/src/java/com/android/internal/telephony/data/DataNetworkController.java b/src/java/com/android/internal/telephony/data/DataNetworkController.java -index 57a0f5af43..e8fc500ce0 100644 +index 63fe7e5cdd..3a499c9af5 100644 --- a/src/java/com/android/internal/telephony/data/DataNetworkController.java +++ b/src/java/com/android/internal/telephony/data/DataNetworkController.java -@@ -984,10 +984,12 @@ public class DataNetworkController extends Handler { +@@ -1006,10 +1006,12 @@ public class DataNetworkController extends Handler { mDataServiceManagers.get(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) .registerForServiceBindingChanged(this, EVENT_DATA_SERVICE_BINDING_CHANGED); @@ -361,10 +355,10 @@ index 57a0f5af43..e8fc500ce0 100644 mPhone.getContext().getSystemService(TelephonyRegistryManager.class) .addOnSubscriptionsChangedListener(new OnSubscriptionsChangedListener() { diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java -index 3ab9fd7872..f24aedafec 100644 +index b21d45da25..8ed3d8433f 100644 --- a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java +++ b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java -@@ -484,7 +484,11 @@ public class ImsPhone extends ImsPhoneBase { +@@ -490,7 +490,11 @@ public class ImsPhone extends ImsPhoneBase { mCT.registerPhoneStateListener(mExternalCallTracker); mExternalCallTracker.setCallPuller(mCT); @@ -377,7 +371,7 @@ index 3ab9fd7872..f24aedafec 100644 mPhoneId = mDefaultPhone.getPhoneId(); -@@ -2406,7 +2410,7 @@ public class ImsPhone extends ImsPhoneBase { +@@ -2412,7 +2416,7 @@ public class ImsPhone extends ImsPhoneBase { /** * Update roaming state and WFC mode in the following situations: * 1) voice is in service. @@ -386,7 +380,7 @@ index 3ab9fd7872..f24aedafec 100644 * @param ss non-null ServiceState */ private void updateRoamingState(ServiceState ss) { -@@ -2427,7 +2431,15 @@ public class ImsPhone extends ImsPhoneBase { +@@ -2433,7 +2437,15 @@ public class ImsPhone extends ImsPhoneBase { logi("updateRoamingState: we are not IN_SERVICE, ignoring roaming change."); return; } @@ -403,7 +397,7 @@ index 3ab9fd7872..f24aedafec 100644 if (mCT.getState() == PhoneConstants.State.IDLE) { if (DBG) logd("updateRoamingState now: " + newRoamingState); mLastKnownRoamingState = newRoamingState; -@@ -2446,6 +2458,30 @@ public class ImsPhone extends ImsPhoneBase { +@@ -2452,6 +2464,30 @@ public class ImsPhone extends ImsPhoneBase { } } diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0012-Initialize-Samsung-AIDL-ISehRadioNetwork.-Fixes-5G-o.patch b/patches_treble_td/platform_frameworks_opt_telephony/0012-Initialize-Samsung-AIDL-ISehRadioNetwork.-Fixes-5G-o.patch new file mode 100644 index 0000000..30bd377 --- /dev/null +++ b/patches_treble_td/platform_frameworks_opt_telephony/0012-Initialize-Samsung-AIDL-ISehRadioNetwork.-Fixes-5G-o.patch @@ -0,0 +1,208 @@ +From 8fa52ed942a235456b35af8133f41d385a9a9ac0 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 21 Feb 2024 12:50:28 -0500 +Subject: [PATCH 12/14] Initialize Samsung AIDL ISehRadioNetwork. Fixes 5G on + S24 + +--- + Android.bp | 1 + + .../com/android/internal/telephony/RIL.java | 2 +- + .../internal/telephony/RadioNetworkProxy.java | 143 +++++++++++++++++- + 3 files changed, 144 insertions(+), 2 deletions(-) + +diff --git a/Android.bp b/Android.bp +index a94ae98208..a0bd665338 100644 +--- a/Android.bp ++++ b/Android.bp +@@ -91,6 +91,7 @@ java_library { + "android.hardware.radio.network-V3-java", + "android.hardware.radio.sim-V3-java", + "android.hardware.radio.voice-V3-java", ++ "vendor.samsung.hardware.radio.network-V1-java", + "voip-common", + "ims-common", + "unsupportedappusage", +diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java +index ef6aa6499f..b55a373e11 100644 +--- a/src/java/com/android/internal/telephony/RIL.java ++++ b/src/java/com/android/internal/telephony/RIL.java +@@ -853,7 +853,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + mHalVersion.put(service, ((RadioNetworkProxy) serviceProxy).setAidl( + mHalVersion.get(service), + android.hardware.radio.network.IRadioNetwork.Stub +- .asInterface(binder))); ++ .asInterface(binder), HIDL_SERVICE_NAME[mPhoneId])); + } + break; + case HAL_SERVICE_SIM: +diff --git a/src/java/com/android/internal/telephony/RadioNetworkProxy.java b/src/java/com/android/internal/telephony/RadioNetworkProxy.java +index 069e0667df..e77c0620d5 100644 +--- a/src/java/com/android/internal/telephony/RadioNetworkProxy.java ++++ b/src/java/com/android/internal/telephony/RadioNetworkProxy.java +@@ -32,6 +32,20 @@ import java.util.ArrayList; + import java.util.List; + import java.util.stream.Collectors; + ++import vendor.samsung.hardware.radio.network.ISehRadioNetworkIndication; ++import vendor.samsung.hardware.radio.network.ISehRadioNetworkResponse; ++import vendor.samsung.hardware.radio.network.ISehRadioNetwork; ++import vendor.samsung.hardware.radio.network.SehCallDetails; ++import vendor.samsung.hardware.radio.network.SehCsgInfo; ++import vendor.samsung.hardware.radio.network.SehEriInfo; ++import vendor.samsung.hardware.radio.network.SehExtendedRegStateResult; ++import vendor.samsung.hardware.radio.network.SehOperatorInfo; ++import vendor.samsung.hardware.radio.network.SehPreferredNetworkInfo; ++import vendor.samsung.hardware.radio.network.SehRadioResponseInfo; ++import vendor.samsung.hardware.radio.network.SehRoamingNetworkInfo; ++import vendor.samsung.hardware.radio.network.SehSignalBar; ++import vendor.samsung.hardware.radio.network.SehVendorConfiguration; ++ + /** + * A holder for IRadioNetwork. Use getHidl to get IRadio 1.0 and call the HIDL implementations or + * getAidl to get IRadioNetwork and call the AIDL implementations of the HAL APIs. +@@ -69,7 +83,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + * @return updated HAL version + */ + public HalVersion setAidl(HalVersion halVersion, +- android.hardware.radio.network.IRadioNetwork network) { ++ android.hardware.radio.network.IRadioNetwork network, String serviceName) { + HalVersion version = halVersion; + try { + version = RIL.getServiceHalVersion(network.getInterfaceVersion()); +@@ -80,6 +94,133 @@ public class RadioNetworkProxy extends RadioServiceProxy { + mNetworkProxy = network; + mIsAidl = true; + ++ try { ++ var samsungIndication = new ISehRadioNetworkIndication.Stub() { ++ void l(String v) { ++ android.util.Log.e("PHH-Radio", v); ++ } ++ public void acbInfo(int type, int[] acbInfo) { ++ l("acbInfo"); ++ } ++ public void callDetailsChanged(int type, SehCallDetails[] callDetails) { ++ l("callDetailsChanged"); ++ } ++ public void csFallback(int type, int state) { ++ l("csFallback"); ++ } ++ public void currentNetworkScanIsrequested(int type, byte mode) { ++ l("currentNetworkScanIsrequested"); ++ } ++ public void eriInfoReceived(int type, SehEriInfo eriInfo) { ++ l("eriInfoReceived"); ++ } ++ public void execute(int type, String cmd) { ++ l("execute " + cmd); ++ } ++ public void extendedRegistrationState(int type, SehExtendedRegStateResult state) { ++ l("extendedRegistrationState " + state); ++ l("dataRegState = " + state.unprocessedDataRegState + ++ ", voiceRegState = " + state.unprocessedVoiceRegState + ++ ", isValid = " + state.isValid + ++ ", snapshotStatus = " + state.snapshotStatus + ++ ", dataRat = " + state.unprocessedDataRat + ++ ", mobileOptionRat = " + state.mobileOptionalRat + ++ ", imsEmergencyCallBarring = " + state.imsEmergencyCallBarring + ++ ", isPsOnlyReg = " + state.isPsOnlyReg); ++ } ++ public void imsPreferenceChanged(int type, int[] imsPref) { ++ l("imsPreferenceChanged"); ++ } ++ public void needTurnOnRadioIndication(int type) { ++ l("needTurnOnRadioIndication"); ++ } ++ public void nrBearerAllocationChanged(int type, int status) { ++ l("nrBearerAllocationChanged " + status); ++ } ++ public void nrIconTypeChanged(int type, int nrIconType) { ++ l("nrIconTypeChanged " + nrIconType); ++ } ++ public void nrNetworkTypeAdded(int type, int nrNetworkType) { ++ l("nrNetworkTypeAdded " + nrNetworkType); ++ } ++ public void roamingNetworkScanIsRequested(int type, byte[] scanData) { ++ l("roamingNetworkScanIsRequested"); ++ } ++ public void signalLevelInfoChanged(int type, SehSignalBar signalBarInfo) { ++ l("signalLevelInfoChanged " + signalBarInfo); ++ } ++ public void vendorConfigurationChanged(int type, SehVendorConfiguration[] configurations) { ++ l("vendorConfigurationChanged:"); ++ for(var c: configurations) { ++ l(" - " + c.name + "=" + c.value); ++ } ++ } ++ @Override ++ public String getInterfaceHash() { ++ return ISehRadioNetworkIndication.HASH; ++ } ++ ++ @Override ++ public int getInterfaceVersion() { ++ return ISehRadioNetworkIndication.VERSION; ++ } ++ }; ++ ++ var samsungResponse = new ISehRadioNetworkResponse.Stub() { ++ void l(String v) { ++ android.util.Log.e("PHH-Radio", v); ++ } ++ public void emergencyControlResponse(SehRadioResponseInfo info) {} ++ public void emergencySearchResponse(SehRadioResponseInfo info, int respEmergenySearch) {} ++ public void getAvailableNetworksResponse(SehRadioResponseInfo info, SehOperatorInfo[] networksInfo) {} ++ public void getCnapResponse(SehRadioResponseInfo info, int m) {} ++ public void getCsgListResponse(SehRadioResponseInfo info, SehCsgInfo[] csgInfos) {} ++ public void getDisable2gResponse(SehRadioResponseInfo info, int isDisable) {} ++ public void getNrIconTypeResponse(SehRadioResponseInfo info, int nrIconType) {} ++ public void getNrModeResponse(SehRadioResponseInfo info, int nrMode) {} ++ public void getPreferredNetworkListResponse(SehRadioResponseInfo info, SehPreferredNetworkInfo[] infos) {} ++ public void getRoamingNetworkInfoViaBLEResponse(SehRadioResponseInfo info, SehRoamingNetworkInfo[] networkInfo) {} ++ public void getVendorSpecificConfigurationResponse(SehRadioResponseInfo info, SehVendorConfiguration configurations) {} ++ public void selectCsgManualResponse(SehRadioResponseInfo info) {} ++ public void sendEncodedUssdResponse(SehRadioResponseInfo info) {} ++ public void sendRequestRawResponse(SehRadioResponseInfo info, byte[] data) {} ++ public void sendRequestStringsResponse(SehRadioResponseInfo info, String[] data) {} ++ public void setCurrentNetworkInfoViaBLEResponse(SehRadioResponseInfo info) {} ++ public void setDisable2gResponse(SehRadioResponseInfo info) {} ++ public void setImsCallListResponse(SehRadioResponseInfo info) {} ++ public void setNrModeResponse(SehRadioResponseInfo info) {} ++ public void setPreferredNetworkListResponse(SehRadioResponseInfo info) {} ++ public void setRoamingNetworkInfoViaBLEResponse(SehRadioResponseInfo info) {} ++ public void setScanResultViaBLEResponse(SehRadioResponseInfo info) {} ++ public void setVendorSpecificConfigurationResponse(SehRadioResponseInfo info) { ++ l("vendor-specific configuration response " + info); ++ } ++ ++ @Override ++ public String getInterfaceHash() { ++ return ISehRadioNetworkResponse.HASH; ++ } ++ ++ @Override ++ public int getInterfaceVersion() { ++ return ISehRadioNetworkResponse.VERSION; ++ } ++ }; ++ var samsungHal = ++ ISehRadioNetwork.Stub.asInterface( ++ android.os.ServiceManager.waitForDeclaredService( ++ ISehRadioNetwork.DESCRIPTOR + "/" + serviceName)); ++ samsungHal.setResponseFunctions(samsungResponse, samsungIndication); ++ var conf = new SehVendorConfiguration[1]; ++ conf[0] = new SehVendorConfiguration(); ++ conf[0].name = "FW_READY"; ++ conf[0].value = "1"; ++ samsungHal.setVendorSpecificConfiguration(0x4242, conf); ++ android.util.Log.e("PHH", "Successfully got ISehRadioNetwork"); ++ } catch(Throwable t) { ++ android.util.Log.e("PHH", "Failed getting ISehRadioNetwork", t); ++ } ++ + Rlog.d(TAG, "AIDL initialized mHalVersion=" + mHalVersion); + return mHalVersion; + } +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0013-Initialize-Samsung-HIDL-ISehRadio.-Fixes-5G-on-S20-U.patch b/patches_treble_td/platform_frameworks_opt_telephony/0013-Initialize-Samsung-HIDL-ISehRadio.-Fixes-5G-on-S20-U.patch new file mode 100644 index 0000000..dfe3523 --- /dev/null +++ b/patches_treble_td/platform_frameworks_opt_telephony/0013-Initialize-Samsung-HIDL-ISehRadio.-Fixes-5G-on-S20-U.patch @@ -0,0 +1,231 @@ +From eb64dd5efa54edaa5d7df987c4bf14ec75e6ba4e Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 21 Feb 2024 16:21:51 -0500 +Subject: [PATCH 13/14] Initialize Samsung HIDL ISehRadio. Fixes 5G on S20 + Ultra + +--- + Android.bp | 1 + + .../com/android/internal/telephony/RIL.java | 3 +- + .../internal/telephony/RadioNetworkProxy.java | 122 +++++++++++++++++- + .../internal/telephony/RadioServiceProxy.java | 5 + + 4 files changed, 127 insertions(+), 4 deletions(-) + +diff --git a/Android.bp b/Android.bp +index a0bd665338..09857353ca 100644 +--- a/Android.bp ++++ b/Android.bp +@@ -83,6 +83,7 @@ java_library { + "android.hardware.radio-V1.4-java", + "android.hardware.radio-V1.5-java", + "android.hardware.radio-V1.6-java", ++ "vendor.samsung.hardware.radio-V2.2-java", + "android.hardware.radio.config-V3-java", + "android.hardware.radio.data-V3-java", + "android.hardware.radio.ims-V2-java", +diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java +index b55a373e11..0c60785a81 100644 +--- a/src/java/com/android/internal/telephony/RIL.java ++++ b/src/java/com/android/internal/telephony/RIL.java +@@ -795,6 +795,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + + HIDL_SERVICE_NAME[mPhoneId] + " is disabled"); + } else { + IBinder binder; ++ serviceProxy.setServiceName(HIDL_SERVICE_NAME[mPhoneId]); + switch (service) { + case HAL_SERVICE_DATA: + if (mMockModem == null) { +@@ -853,7 +854,7 @@ public class RIL extends BaseCommands implements CommandsInterface { + mHalVersion.put(service, ((RadioNetworkProxy) serviceProxy).setAidl( + mHalVersion.get(service), + android.hardware.radio.network.IRadioNetwork.Stub +- .asInterface(binder), HIDL_SERVICE_NAME[mPhoneId])); ++ .asInterface(binder))); + } + break; + case HAL_SERVICE_SIM: +diff --git a/src/java/com/android/internal/telephony/RadioNetworkProxy.java b/src/java/com/android/internal/telephony/RadioNetworkProxy.java +index e77c0620d5..1e385e345f 100644 +--- a/src/java/com/android/internal/telephony/RadioNetworkProxy.java ++++ b/src/java/com/android/internal/telephony/RadioNetworkProxy.java +@@ -32,6 +32,7 @@ import java.util.ArrayList; + import java.util.List; + import java.util.stream.Collectors; + ++// AIDL + import vendor.samsung.hardware.radio.network.ISehRadioNetworkIndication; + import vendor.samsung.hardware.radio.network.ISehRadioNetworkResponse; + import vendor.samsung.hardware.radio.network.ISehRadioNetwork; +@@ -46,6 +47,10 @@ import vendor.samsung.hardware.radio.network.SehRoamingNetworkInfo; + import vendor.samsung.hardware.radio.network.SehSignalBar; + import vendor.samsung.hardware.radio.network.SehVendorConfiguration; + ++// HIDL ++import android.hardware.radio.V1_0.RadioResponseInfo; ++import vendor.samsung.hardware.radio.V2_2.ISehRadio; ++ + /** + * A holder for IRadioNetwork. Use getHidl to get IRadio 1.0 and call the HIDL implementations or + * getAidl to get IRadioNetwork and call the AIDL implementations of the HAL APIs. +@@ -83,7 +88,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + * @return updated HAL version + */ + public HalVersion setAidl(HalVersion halVersion, +- android.hardware.radio.network.IRadioNetwork network, String serviceName) { ++ android.hardware.radio.network.IRadioNetwork network) { + HalVersion version = halVersion; + try { + version = RIL.getServiceHalVersion(network.getInterfaceVersion()); +@@ -167,7 +172,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + }; + + var samsungResponse = new ISehRadioNetworkResponse.Stub() { +- void l(String v) { ++ private void l(String v) { + android.util.Log.e("PHH-Radio", v); + } + public void emergencyControlResponse(SehRadioResponseInfo info) {} +@@ -209,7 +214,7 @@ public class RadioNetworkProxy extends RadioServiceProxy { + var samsungHal = + ISehRadioNetwork.Stub.asInterface( + android.os.ServiceManager.waitForDeclaredService( +- ISehRadioNetwork.DESCRIPTOR + "/" + serviceName)); ++ ISehRadioNetwork.DESCRIPTOR + "/" + mServiceName)); + samsungHal.setResponseFunctions(samsungResponse, samsungIndication); + var conf = new SehVendorConfiguration[1]; + conf[0] = new SehVendorConfiguration(); +@@ -816,6 +821,117 @@ public class RadioNetworkProxy extends RadioServiceProxy { + } + } + ++ @Override ++ public void setHidl(HalVersion halVersion, android.hardware.radio.V1_0.IRadio radio) { ++ super.setHidl(halVersion, radio); ++ try { ++ var samsungResponse = new vendor.samsung.hardware.radio.V2_2.ISehRadioResponse.Stub() { ++public void getIccCardStatusResponse() {} ++public void supplyNetworkDepersonalizationResponse(RadioResponseInfo info) {} ++public void dialResponse(RadioResponseInfo info) {} ++public void getCurrentCallsResponse() {} ++public void getImsRegistrationStateResponse() {} ++public void setImsCallListResponse(RadioResponseInfo info) {} ++public void getPreferredNetworkListResponse() {} ++public void setPreferredNetworkListResponse(RadioResponseInfo info) {} ++public void sendEncodedUssdResponse(RadioResponseInfo info) {} ++public void getDisable2gResponse(RadioResponseInfo info, int isDisable) {} ++public void setDisable2gResponse(RadioResponseInfo info) {} ++public void getCnapResponse(RadioResponseInfo info, int m) {} ++public void getPhonebookStorageInfoResponse() {} ++public void getUsimPhonebookCapabilityResponse(RadioResponseInfo info, ArrayList phonebookCapability) {} ++public void setSimOnOffResponse(RadioResponseInfo info) {} ++public void setSimInitEventResponse(RadioResponseInfo info) {} ++public void getSimLockInfoResponse() {} ++public void supplyIccPersonalizationResponse(RadioResponseInfo info) {} ++public void changeIccPersonalizationResponse(RadioResponseInfo info) {} ++public void getPhonebookEntryResponse() {} ++public void accessPhonebookEntryResponse(RadioResponseInfo info, int SimPhonmebookAccessResp) {} ++public void getCellBroadcastConfigResponse() {} ++public void emergencySearchResponse(RadioResponseInfo info, int respEmergencySearch) {} ++public void emergencyControlResponse(RadioResponseInfo info) {} ++public void getAtrResponse(RadioResponseInfo info, String atr) {} ++public void sendCdmaSmsExpectMoreResponse() {} ++public void sendSmsResponse() {} ++public void sendSMSExpectMoreResponse() {} ++public void sendCdmaSmsResponse( ){} ++public void sendImsSmsResponse() {} ++public void getStoredMsgCountFromSimResponse() {} ++public void readSmsFromSimResponse() {} ++public void writeSmsToSimResponse(RadioResponseInfo info, int index) {} ++public void setDataAllowedResponse(RadioResponseInfo info) {} ++public void getCsgListResponse() {} ++public void selectCsgManualResponse(RadioResponseInfo info) {} ++public void setMobileDataSettingResponse(RadioResponseInfo info) {} ++public void sendRequestRawResponse(RadioResponseInfo info, ArrayList data) {} ++public void sendRequestStringsResponse(RadioResponseInfo info, ArrayList data) {} ++public void setNrModeResponse(RadioResponseInfo info) {} ++public void getNrModeResponse(RadioResponseInfo info, int nrMode) {} ++public void getNrIconResponse(RadioResponseInfo info, int nrIconType) {} ++public void getIccCardStatusResponse_2_1(RadioResponseInfo info, vendor.samsung.hardware.radio.V2_1.SehCardStatus cardStatus) {} ++public void setNrModeResponse_2_2(RadioResponseInfo info) {} ++public void getVendorSpecificConfigurationResponse(RadioResponseInfo info, ArrayList configurations) {} ++public void setVendorSpecificConfigurationResponse(RadioResponseInfo info) {} ++ }; ++ var samsungIndication = new vendor.samsung.hardware.radio.V2_2.ISehRadioIndication.Stub() { ++ private void l(String v) { ++ android.util.Log.e("PHH-Radio", "Indication: " + v); ++ } ++ public void acbInfoChanged(int type, ArrayList acbInfo) { l("acbInfoChanged"); } ++ public void csFallback(int type, int state) { l("csFallback"); } ++ public void imsPreferenceChanged(int type, ArrayList imsPref) { l("imsPreferenceChanged"); } ++ public void voiceRadioBearerHandoverStatusChanged(int type, int state) { l("voiceRadioBearerHandoverStatusChanged"); } ++ public void timerStatusChangedInd(int type, ArrayList eventNoti) { l("timerStatusChangedInd"); } ++ public void modemCapabilityIndication(int type, ArrayList data) { l("modemCapabilityIndication"); } ++ public void needTurnOnRadioIndication(int type) { l("needTurnOnRadioIndication"); } ++ public void simPhonebookReadyIndication(int type) { l("simPhonebookReadyIndication"); } ++ public void phonebookInitCompleteIndication(int type) { l("phonebookInitCompleteIndication"); } ++ public void deviceReadyNoti(int type) { l("deviceReadyNoti"); } ++ public void stkSmsSendResultIndication(int type, int result) { l("stkSmsSendResultIndication"); } ++ public void stkCallControlResultIndication(int type, String cmd) { l("stkCallControlResultIndication"); } ++ public void simSwapStateChangedIndication(int type, int state) { l("simSwapStateChangedIndication"); } ++ public void simCountMismatchedIndication(int type, int state) { l("simCountMismatchedIndication"); } ++ public void simOnOffStateChangedNotify(int type, int mode) { l("simOnOffStateChangedNotify"); } ++ public void releaseCompleteMessageIndication(int type, vendor.samsung.hardware.radio.V2_0.SehSsReleaseComplete result) { l("releaseCompleteMessageIndication"); } ++ public void sapNotify(int type, ArrayList data) { l("sapNotify"); } ++ public void nrBearerAllocationChanged(int type, int status) { l("nrBearerAllocationChanged"); } ++ public void nrNetworkTypeAdded(int type, int status) { l("nrNetworkTypeAdded"); } ++ public void rrcStateChanged(int type, vendor.samsung.hardware.radio.V2_0.SehRrcStateInfo state) { l("rrcStateChanged"); } ++ public void configModemCapabilityChangeNoti(int type, vendor.samsung.hardware.radio.V2_0.SehConfigModemCapability configModemCapa) { l("configModemCapabilityChangeNoti"); } ++ public void needApnProfileIndication(String select) { l("needApnProfileIndication");}; ++ public int needSettingValueIndication(String key, String table) { ++ l("needSettingValueIndication"); ++ return -1; ++ } ++ public void execute(int type, String cmd) { l("execute " + cmd); } ++ public void signalLevelInfoChanged(int type, vendor.samsung.hardware.radio.V2_0.SehSignalBar signalBarInfo) { l("signalLevelInfoChanged"); } ++ public void extendedRegistrationState(int type, vendor.samsung.hardware.radio.V2_0.SehExtendedRegStateResult state) { l("extendedRegistrationState"); } ++ public void needPacketUsage(String iface, needPacketUsageCallback hidl_cb) { ++ hidl_cb.onValues(0, new vendor.samsung.hardware.radio.V2_0.SehPacketUsage()); ++ } ++ public void nrIconTypeChanged(int type, int nrIconType) { l("nrIconTypeChanged " + nrIconType); } ++ public void callDetailsChanged(int type, ArrayList callDetails) { l("callDetailsChanged"); } ++ public void vendorConfigurationChanged(int type, ArrayList configurations) { l("vendorConfigurationChanged"); } ++ public void eriInfoReceived(int type, vendor.samsung.hardware.radio.V2_2.SehEriInfo eriInfo) { l("eriInfoReceived"); } ++ ++ }; ++ ++ var svc = ISehRadio.getService(mServiceName); ++ svc.setResponseFunction(samsungResponse, samsungIndication); ++ ++ var args = new ArrayList(); ++ var arg = new vendor.samsung.hardware.radio.V2_2.SehVendorConfiguration(); ++ arg.name = "FW_READY"; ++ arg.value = "1"; ++ args.add(arg); ++ ++ svc.setVendorSpecificConfiguration(0x3232, args); ++ android.util.Log.e("PHH-Radio", "HIDL FW_READY done"); ++ } catch(Throwable t) { ++ android.util.Log.e("PHH-Radio", "Getting HIDL ISehRadio", t); ++ } ++ } ++ + /** + * Call IRadioNetwork#startNetworkScan + * @param serial Serial number of request +diff --git a/src/java/com/android/internal/telephony/RadioServiceProxy.java b/src/java/com/android/internal/telephony/RadioServiceProxy.java +index 4257327330..b3d43ea635 100644 +--- a/src/java/com/android/internal/telephony/RadioServiceProxy.java ++++ b/src/java/com/android/internal/telephony/RadioServiceProxy.java +@@ -83,4 +83,9 @@ public abstract class RadioServiceProxy { + public String toString() { + return getClass().getSimpleName() + "[mHalVersion=" + mHalVersion + ']'; + } ++ ++ protected String mServiceName = null; ++ public void setServiceName(String serviceName) { ++ mServiceName = serviceName; ++ } + } +-- +2.34.1 + diff --git a/patches_treble_td/platform_frameworks_opt_telephony/0014-When-reading-SMSC-ignore-invalid-SMSC.patch b/patches_treble_td/platform_frameworks_opt_telephony/0014-When-reading-SMSC-ignore-invalid-SMSC.patch new file mode 100644 index 0000000..4f6ae6e --- /dev/null +++ b/patches_treble_td/platform_frameworks_opt_telephony/0014-When-reading-SMSC-ignore-invalid-SMSC.patch @@ -0,0 +1,48 @@ +From 7249a43f8554c53d84c54e096e06c3325fa1a92a Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Sun, 25 Feb 2024 10:23:29 -0500 +Subject: [PATCH 14/14] When reading SMSC, ignore invalid SMSC + +On Samsung, when reading SMSC we get weird strings like +"4392084000100",149 +The first number is nowhere close to the SMSC phone number +This number is used when sending SMS, and since it is invalid, sending +SMS doesn't work. +We have no idea what this value means or anything, but let's just ignore +it. In 2024 we can send SMS just fine without a SMSC + +This commit fixes sending SMS on OrangeF on my S24 +--- + src/java/com/android/internal/telephony/MessagingResponse.java | 2 ++ + src/java/com/android/internal/telephony/RadioResponse.java | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/src/java/com/android/internal/telephony/MessagingResponse.java b/src/java/com/android/internal/telephony/MessagingResponse.java +index 19211e15f5..3ddf6762dd 100644 +--- a/src/java/com/android/internal/telephony/MessagingResponse.java ++++ b/src/java/com/android/internal/telephony/MessagingResponse.java +@@ -170,6 +170,8 @@ public class MessagingResponse extends IRadioMessagingResponse.Stub { + * @param smsc Short Message Service Center address on the device + */ + public void getSmscAddressResponse(RadioResponseInfo responseInfo, String smsc) { ++ if(smsc.contains("\"") || smsc.contains(",")) ++ smsc = ""; + RadioResponse.responseString(HAL_SERVICE_MESSAGING, mRil, responseInfo, smsc); + } + +diff --git a/src/java/com/android/internal/telephony/RadioResponse.java b/src/java/com/android/internal/telephony/RadioResponse.java +index fe0ea2db93..729e95918c 100644 +--- a/src/java/com/android/internal/telephony/RadioResponse.java ++++ b/src/java/com/android/internal/telephony/RadioResponse.java +@@ -1267,6 +1267,8 @@ public class RadioResponse extends IRadioResponse.Stub { + * @param smsc Short Message Service Center address on the device + */ + public void getSmscAddressResponse(RadioResponseInfo responseInfo, String smsc) { ++ if(smsc.contains("\"") || smsc.contains(",")) ++ smsc = ""; + responseString(responseInfo, smsc); + } + +-- +2.34.1 + diff --git a/patches_treble_td/platform_hardware_interfaces/0001-Add-a-vendor800-command-to-be-able-to-call-vendor-sp.patch b/patches_treble_td/platform_hardware_interfaces/0001-Add-a-vendor800-command-to-be-able-to-call-vendor-sp.patch index 6cb29e1..91183c2 100644 --- a/patches_treble_td/platform_hardware_interfaces/0001-Add-a-vendor800-command-to-be-able-to-call-vendor-sp.patch +++ b/patches_treble_td/platform_hardware_interfaces/0001-Add-a-vendor800-command-to-be-able-to-call-vendor-sp.patch @@ -1,4 +1,4 @@ -From b4326dbe1c0ad9c80c5a5da3b6222f08f25628ab Mon Sep 17 00:00:00 2001 +From 064dba46b6f6c8d1408075b8e3043c1d7e695748 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 19 Dec 2021 17:03:15 -0500 Subject: [PATCH 1/3] Add a vendor800 command, to be able to call @@ -10,7 +10,7 @@ Change-Id: Icbef1e9e3a331ae3bd5a05687d545851d94d88a8 1 file changed, 6 insertions(+) diff --git a/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h b/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h -index 499d3b96e..489578468 100644 +index 336d15dc6c..423893f837 100644 --- a/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h +++ b/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h @@ -402,6 +402,12 @@ class CommandWriterBase { diff --git a/patches_treble_td/platform_hardware_interfaces/0002-Fix-light-sensor-crash-on-Xiaomi-13.patch b/patches_treble_td/platform_hardware_interfaces/0002-Fix-light-sensor-crash-on-Xiaomi-13.patch index fed7e65..49c2389 100644 --- a/patches_treble_td/platform_hardware_interfaces/0002-Fix-light-sensor-crash-on-Xiaomi-13.patch +++ b/patches_treble_td/platform_hardware_interfaces/0002-Fix-light-sensor-crash-on-Xiaomi-13.patch @@ -1,4 +1,4 @@ -From 7adc66904796a05023a6ed6ec81e5ada75fe3991 Mon Sep 17 00:00:00 2001 +From 483f4f3771ad6fda6906eb56c5564207f8c4048e Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Tue, 18 Apr 2023 23:48:15 +0000 Subject: [PATCH 2/3] Fix light sensor crash on Xiaomi 13 @@ -12,7 +12,7 @@ Change-Id: Ie358321d5328d01541f455d6af86944ff413c9c9 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sensors/aidl/convert/convert.cpp b/sensors/aidl/convert/convert.cpp -index 2dc7a177a..be3833dfa 100644 +index 2dc7a177a0..be3833dfa7 100644 --- a/sensors/aidl/convert/convert.cpp +++ b/sensors/aidl/convert/convert.cpp @@ -162,7 +162,14 @@ void convertToSensorEvent(const Event& src, sensors_event_t* dst) { diff --git a/patches_treble_td/platform_hardware_interfaces/0003-Fix-crash-on-Samsung-S23-using-stock-properties-beca.patch b/patches_treble_td/platform_hardware_interfaces/0003-Fix-crash-on-Samsung-S23-using-stock-properties-beca.patch index 82a42b7..4c66bbd 100644 --- a/patches_treble_td/platform_hardware_interfaces/0003-Fix-crash-on-Samsung-S23-using-stock-properties-beca.patch +++ b/patches_treble_td/platform_hardware_interfaces/0003-Fix-crash-on-Samsung-S23-using-stock-properties-beca.patch @@ -1,4 +1,4 @@ -From cd80c23bc3bd357946d679da60704a70757eaffd Mon Sep 17 00:00:00 2001 +From 7ba162ff1b80f5448afa91e41802f7f8dc89a20b Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 24 Oct 2023 04:59:57 -0400 Subject: [PATCH 3/3] Fix crash on Samsung S23 using stock properties, because @@ -10,7 +10,7 @@ Subject: [PATCH 3/3] Fix crash on Samsung S23 using stock properties, because 1 file changed, 3 insertions(+) diff --git a/sensors/aidl/convert/convert.cpp b/sensors/aidl/convert/convert.cpp -index be3833dfa..c56b30475 100644 +index be3833dfa7..c56b30475c 100644 --- a/sensors/aidl/convert/convert.cpp +++ b/sensors/aidl/convert/convert.cpp @@ -167,6 +167,9 @@ void convertToSensorEvent(const Event& src, sensors_event_t* dst) { diff --git a/patches_treble_td/platform_packages_apps_Nfc/0001-Don-t-crash-when-there-is-no-VR-service.patch b/patches_treble_td/platform_packages_apps_Nfc/0001-Don-t-crash-when-there-is-no-VR-service.patch deleted file mode 100644 index ca5a9b3..0000000 --- a/patches_treble_td/platform_packages_apps_Nfc/0001-Don-t-crash-when-there-is-no-VR-service.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0e5671e933147c3a6d4c334dcd9bebf4c76a00ba Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Fri, 20 Oct 2023 13:02:43 -0400 -Subject: [PATCH] Don't crash when there is no VR service - -Change-Id: I02d672f9a2688df7b1abf16377634fdcf4132511 ---- - src/com/android/nfc/NfcService.java | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java -index f22dc9da..1b786842 100644 ---- a/src/com/android/nfc/NfcService.java -+++ b/src/com/android/nfc/NfcService.java -@@ -572,7 +572,11 @@ public class NfcService implements DeviceHostListener, ForegroundUtils.Callback - mActivityManager = mContext.getSystemService(ActivityManager.class); - mVibrator = mContext.getSystemService(Vibrator.class); - mVibrationEffect = VibrationEffect.createOneShot(200, VibrationEffect.DEFAULT_AMPLITUDE); -- mVrManager = mContext.getSystemService(VrManager.class); -+ try { -+ mVrManager = mContext.getSystemService(VrManager.class); -+ } catch(Throwable t) { -+ mVrManager = null; -+ } - - mScreenState = mScreenStateHelper.checkScreenState(); - --- -2.25.1 - diff --git a/patches_treble_td/platform_packages_apps_Settings/0001-Act-as-usb-device-when-there-is-no-hal-but-we-believ.patch b/patches_treble_td/platform_packages_apps_Settings/0001-Act-as-usb-device-when-there-is-no-hal-but-we-believ.patch index e3e51ee..ffff523 100644 --- a/patches_treble_td/platform_packages_apps_Settings/0001-Act-as-usb-device-when-there-is-no-hal-but-we-believ.patch +++ b/patches_treble_td/platform_packages_apps_Settings/0001-Act-as-usb-device-when-there-is-no-hal-but-we-believ.patch @@ -1,7 +1,7 @@ -From 8c9436be3276660716b83f8f4785f9793d3043e9 Mon Sep 17 00:00:00 2001 +From c13057deacc537396b1860e81eaa5bf5aebdc6f5 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 14 Aug 2018 21:48:19 +0200 -Subject: [PATCH 1/5] Act as usb device when there is no hal, but we believe we +Subject: [PATCH 1/4] Act as usb device when there is no hal, but we believe we are a device Change-Id: I036090738525fd8cc63534d52d02ab1852950a7d @@ -10,7 +10,7 @@ Change-Id: I036090738525fd8cc63534d52d02ab1852950a7d 1 file changed, 7 insertions(+) diff --git a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java -index 16ea602bc4..262afbcbb3 100644 +index 16ea602bc4f..262afbcbb31 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java +++ b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java @@ -93,6 +93,13 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements diff --git a/patches_treble_td/platform_packages_apps_Settings/0002-Ignore-cancelled-fingerprint-events-they-are-expecte.patch b/patches_treble_td/platform_packages_apps_Settings/0002-Ignore-cancelled-fingerprint-events-they-are-expecte.patch index 2c68ff7..672fb99 100644 --- a/patches_treble_td/platform_packages_apps_Settings/0002-Ignore-cancelled-fingerprint-events-they-are-expecte.patch +++ b/patches_treble_td/platform_packages_apps_Settings/0002-Ignore-cancelled-fingerprint-events-they-are-expecte.patch @@ -1,19 +1,19 @@ -From 8f91441175231c7eb8a96bb78cdd17e97eea3fb1 Mon Sep 17 00:00:00 2001 +From 5675f8bf2ccab5ff902daf501c6803805f6ee355 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 2 May 2022 17:44:28 -0400 -Subject: [PATCH 2/5] Ignore cancelled fingerprint events, they are expected, +Subject: [PATCH 2/4] Ignore cancelled fingerprint events, they are expected, plus add more fingerprint enroll logs --- - .../biometrics/fingerprint/FingerprintEnrollEnrolling.java | 5 ++++- - .../biometrics/fingerprint/FingerprintEnrollFindSensor.java | 1 + - 2 files changed, 5 insertions(+), 1 deletion(-) + .../biometrics/fingerprint/FingerprintEnrollEnrolling.java | 3 +++ + .../biometrics/fingerprint/FingerprintEnrollFindSensor.java | 1 + + 2 files changed, 4 insertions(+) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java -index a62bd6723e..e10ff1220d 100644 +index 6e908850e89..6746a71f3f2 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java -@@ -765,6 +765,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { +@@ -793,6 +793,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { @Override public void onEnrollmentError(int errMsgId, CharSequence errString) { @@ -23,18 +23,11 @@ index a62bd6723e..e10ff1220d 100644 onCancelEnrollment(errMsgId); dismissTouchDialogIfSfps(); } -@@ -1175,4 +1178,4 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { - return SettingsEnums.DIALOG_FINGERPRINT_ICON_TOUCH; - } - } --} -\ No newline at end of file -+} diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java -index aadc9329e4..8ab1020c6a 100644 +index 059173c198e..c89c2d0cfd0 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java -@@ -326,6 +326,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements +@@ -369,6 +369,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements @Override public void onEnrollmentError(int errMsgId, CharSequence errString) { diff --git a/patches_treble_td/platform_packages_apps_Settings/0003-Don-t-crash-when-we-get-no-DeviceLockManager.patch b/patches_treble_td/platform_packages_apps_Settings/0003-Don-t-crash-when-we-get-no-DeviceLockManager.patch deleted file mode 100644 index a1b9e43..0000000 --- a/patches_treble_td/platform_packages_apps_Settings/0003-Don-t-crash-when-we-get-no-DeviceLockManager.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8fa302ed4a0fe21da73c58b6f90332e4bbc92091 Mon Sep 17 00:00:00 2001 -From: Alberto Ponces -Date: Sun, 29 Oct 2023 18:34:01 +0000 -Subject: [PATCH 3/5] Don't crash when we get no DeviceLockManager - -Change-Id: I8f87cdb00e0950ee6528598b8dff2cafff0309e7 ---- - .../DeviceLockPreferenceController.java | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/src/com/android/settings/devicelock/DeviceLockPreferenceController.java b/src/com/android/settings/devicelock/DeviceLockPreferenceController.java -index 4b6fe88f66..0f65b1f725 100644 ---- a/src/com/android/settings/devicelock/DeviceLockPreferenceController.java -+++ b/src/com/android/settings/devicelock/DeviceLockPreferenceController.java -@@ -47,13 +47,14 @@ public final class DeviceLockPreferenceController extends BasePreferenceControll - @Override - public void updateState(Preference preference) { - super.updateState(preference); -- mDeviceLockManager.getKioskApps(mContext.getMainExecutor(), -- result -> { -- // if kiosk apps present on the device, the device is provisioned by Device Lock -- boolean isDeviceProvisionedByDeviceLock = result != null && !result.isEmpty(); -- Log.d(TAG, "Set preference visibility to " + isDeviceProvisionedByDeviceLock); -- // TODO(b/282179089): find alternatives instead of calling setVisible -- preference.setVisible(isDeviceProvisionedByDeviceLock); -- }); -+ if (mDeviceLockManager != null) -+ mDeviceLockManager.getKioskApps(mContext.getMainExecutor(), -+ result -> { -+ // if kiosk apps present on the device, the device is provisioned by Device Lock -+ boolean isDeviceProvisionedByDeviceLock = result != null && !result.isEmpty(); -+ Log.d(TAG, "Set preference visibility to " + isDeviceProvisionedByDeviceLock); -+ // TODO(b/282179089): find alternatives instead of calling setVisible -+ preference.setVisible(isDeviceProvisionedByDeviceLock); -+ }); - } - } --- -2.25.1 - diff --git a/patches_treble_td/platform_packages_apps_Settings/0004-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch b/patches_treble_td/platform_packages_apps_Settings/0003-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch similarity index 90% rename from patches_treble_td/platform_packages_apps_Settings/0004-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch rename to patches_treble_td/platform_packages_apps_Settings/0003-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch index dd397a2..482e907 100644 --- a/patches_treble_td/platform_packages_apps_Settings/0004-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch +++ b/patches_treble_td/platform_packages_apps_Settings/0003-Revert-Wi-Fi-Remove-Do-not-validate-option-in-CA-cer.patch @@ -1,7 +1,7 @@ -From 99c4744df7361c8d675ea699f36aa11b6cf36ec8 Mon Sep 17 00:00:00 2001 +From 0f4e55e82fa46fc1f406483a73bbc2cd77edada1 Mon Sep 17 00:00:00 2001 From: TogoFire Date: Fri, 6 Aug 2021 08:54:07 -0300 -Subject: [PATCH 4/5] Revert "[Wi-Fi] Remove 'Do not validate' option in CA +Subject: [PATCH 3/4] Revert "[Wi-Fi] Remove 'Do not validate' option in CA certificate spinner" This is not a definitive fix, so revert it. WPA2-Enterprise (802.1X) or @@ -27,7 +27,7 @@ Change-Id: I3cec92b74a419b5463c5e5db496863e66d034703 4 files changed, 62 insertions(+), 20 deletions(-) diff --git a/res/layout/wifi_network_config.xml b/res/layout/wifi_network_config.xml -index 6fe39bf026..5a9d6e64df 100644 +index 77afedc3042..4e3962c6b94 100644 --- a/res/layout/wifi_network_config.xml +++ b/res/layout/wifi_network_config.xml @@ -224,6 +224,18 @@ @@ -50,10 +50,10 @@ index 6fe39bf026..5a9d6e64df 100644 android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/res/values/strings.xml b/res/values/strings.xml -index 7fe1daa5cb..b5e993fe84 100644 +index 630aeed0049..8afb851ad03 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml -@@ -1895,6 +1895,10 @@ +@@ -2134,6 +2134,10 @@ Use system certificates Do not provide @@ -65,7 +65,7 @@ index 7fe1daa5cb..b5e993fe84 100644 Trust on First Use diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java -index 8f0a983d1f..6ca97c329c 100644 +index d2beec8dedb..4a191fc3497 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -166,6 +166,7 @@ public class WifiConfigController implements TextWatcher, @@ -118,7 +118,7 @@ index 8f0a983d1f..6ca97c329c 100644 && mView.findViewById(R.id.l_domain).getVisibility() != View.GONE && TextUtils.isEmpty(mEapDomainView.getText().toString())) { // Display warning if user chooses to use a certificate without restricting the -@@ -719,7 +730,8 @@ public class WifiConfigController implements TextWatcher, +@@ -722,7 +733,8 @@ public class WifiConfigController implements TextWatcher, config.enterpriseConfig.setCaCertificateAliases(null); config.enterpriseConfig.setCaPath(null); config.enterpriseConfig.setDomainSuffixMatch(mEapDomainView.getText().toString()); @@ -128,7 +128,7 @@ index 8f0a983d1f..6ca97c329c 100644 // ca_cert already set to null, so do nothing. } else if (caCert.equals(mUseSystemCertsString)) { config.enterpriseConfig.setCaPath(SYSTEM_CA_STORE_PATH); -@@ -753,7 +765,8 @@ public class WifiConfigController implements TextWatcher, +@@ -756,7 +768,8 @@ public class WifiConfigController implements TextWatcher, } // Only set OCSP option if there is a valid CA certificate. @@ -138,7 +138,7 @@ index 8f0a983d1f..6ca97c329c 100644 config.enterpriseConfig.setOcsp(WifiEnterpriseConfig.OCSP_NONE); } else { config.enterpriseConfig.setOcsp(mEapOcspSpinner.getSelectedItemPosition()); -@@ -1057,7 +1070,7 @@ public class WifiConfigController implements TextWatcher, +@@ -1061,7 +1074,7 @@ public class WifiConfigController implements TextWatcher, loadCertificates( mEapCaCertSpinner, androidKeystoreAliasLoader.getCaCertAliases(), @@ -147,7 +147,7 @@ index 8f0a983d1f..6ca97c329c 100644 false /* showMultipleCerts */, true /* showUsePreinstalledCertOption */); loadCertificates( -@@ -1141,7 +1154,7 @@ public class WifiConfigController implements TextWatcher, +@@ -1145,7 +1158,7 @@ public class WifiConfigController implements TextWatcher, } else { String[] caCerts = enterpriseConfig.getCaCertificateAliases(); if (caCerts == null) { @@ -156,7 +156,7 @@ index 8f0a983d1f..6ca97c329c 100644 } else if (caCerts.length == 1) { setSelection(mEapCaCertSpinner, caCerts[0]); } else { -@@ -1152,7 +1165,7 @@ public class WifiConfigController implements TextWatcher, +@@ -1156,7 +1169,7 @@ public class WifiConfigController implements TextWatcher, loadCertificates( mEapCaCertSpinner, androidKeystoreAliasLoader.getCaCertAliases(), @@ -165,7 +165,7 @@ index 8f0a983d1f..6ca97c329c 100644 true /* showMultipleCerts */, true /* showUsePreinstalledCertOption */); setSelection(mEapCaCertSpinner, mMultipleCertSetString); -@@ -1285,7 +1298,8 @@ public class WifiConfigController implements TextWatcher, +@@ -1289,7 +1302,8 @@ public class WifiConfigController implements TextWatcher, if (mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE) { String eapCertSelection = (String) mEapCaCertSpinner.getSelectedItem(); @@ -175,7 +175,7 @@ index 8f0a983d1f..6ca97c329c 100644 // Domain suffix matching is not relevant if the user hasn't chosen a CA // certificate yet, or chooses not to validate the EAP server. setDomainInvisible(); -@@ -1546,8 +1560,7 @@ public class WifiConfigController implements TextWatcher, +@@ -1550,8 +1564,7 @@ public class WifiConfigController implements TextWatcher, }).collect(Collectors.toList())); } @@ -186,10 +186,10 @@ index 8f0a983d1f..6ca97c329c 100644 } diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java -index f92b58fbd1..6074202a97 100644 +index b2353f047f7..a7e71d6d28d 100644 --- a/src/com/android/settings/wifi/WifiConfigController2.java +++ b/src/com/android/settings/wifi/WifiConfigController2.java -@@ -174,6 +174,7 @@ public class WifiConfigController2 implements TextWatcher, +@@ -175,6 +175,7 @@ public class WifiConfigController2 implements TextWatcher, private String mUseSystemCertsString; private String mTrustOnFirstUse; private String mDoNotProvideEapUserCertString; @@ -197,7 +197,7 @@ index f92b58fbd1..6074202a97 100644 @VisibleForTesting String mInstallCertsString; private Spinner mSecuritySpinner; -@@ -279,6 +280,8 @@ public class WifiConfigController2 implements TextWatcher, +@@ -285,6 +286,8 @@ public class WifiConfigController2 implements TextWatcher, mTrustOnFirstUse = mContext.getString(R.string.wifi_trust_on_first_use); mDoNotProvideEapUserCertString = mContext.getString(R.string.wifi_do_not_provide_eap_user_cert); @@ -206,7 +206,7 @@ index f92b58fbd1..6074202a97 100644 mInstallCertsString = mContext.getString(R.string.wifi_install_credentials); mSsidScanButton = (ImageButton) mView.findViewById(R.id.ssid_scanner_button); -@@ -532,7 +535,8 @@ public class WifiConfigController2 implements TextWatcher, +@@ -544,7 +547,8 @@ public class WifiConfigController2 implements TextWatcher, // Disallow submit if the user has not selected a CA certificate for an EAP network // configuration. enabled = false; @@ -216,7 +216,7 @@ index f92b58fbd1..6074202a97 100644 && mView.findViewById(R.id.l_domain).getVisibility() != View.GONE && TextUtils.isEmpty(mEapDomainView.getText().toString())) { // Disallow submit if the user chooses to use a certificate for EAP server -@@ -554,6 +558,7 @@ public class WifiConfigController2 implements TextWatcher, +@@ -566,6 +570,7 @@ public class WifiConfigController2 implements TextWatcher, } void showWarningMessagesIfAppropriate() { @@ -224,7 +224,7 @@ index f92b58fbd1..6074202a97 100644 mView.findViewById(R.id.no_user_cert_warning).setVisibility(View.GONE); mView.findViewById(R.id.no_domain_warning).setVisibility(View.GONE); mView.findViewById(R.id.ssid_too_long_warning).setVisibility(View.GONE); -@@ -566,7 +571,13 @@ public class WifiConfigController2 implements TextWatcher, +@@ -578,7 +583,13 @@ public class WifiConfigController2 implements TextWatcher, } if (mEapCaCertSpinner != null && mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE) { @@ -239,7 +239,7 @@ index f92b58fbd1..6074202a97 100644 && mView.findViewById(R.id.l_domain).getVisibility() != View.GONE && TextUtils.isEmpty(mEapDomainView.getText().toString())) { // Display warning if user chooses to use a certificate without restricting the -@@ -723,7 +734,8 @@ public class WifiConfigController2 implements TextWatcher, +@@ -735,7 +746,8 @@ public class WifiConfigController2 implements TextWatcher, config.enterpriseConfig.setCaCertificateAliases(null); config.enterpriseConfig.setCaPath(null); config.enterpriseConfig.setDomainSuffixMatch(mEapDomainView.getText().toString()); @@ -249,7 +249,7 @@ index f92b58fbd1..6074202a97 100644 // ca_cert already set to null, so do nothing. } else if (mIsTrustOnFirstUseSupported && caCert.equals(mTrustOnFirstUse)) { config.enterpriseConfig.enableTrustOnFirstUse(true); -@@ -758,7 +770,8 @@ public class WifiConfigController2 implements TextWatcher, +@@ -770,7 +782,8 @@ public class WifiConfigController2 implements TextWatcher, } // Only set certificate option if there is a valid CA certificate. @@ -259,16 +259,16 @@ index f92b58fbd1..6074202a97 100644 config.enterpriseConfig.setOcsp(WifiEnterpriseConfig.OCSP_NONE); config.enterpriseConfig.setMinimumTlsVersion(WifiEnterpriseConfig.TLS_V1_0); } else { -@@ -1067,7 +1080,7 @@ public class WifiConfigController2 implements TextWatcher, +@@ -1078,7 +1091,7 @@ public class WifiConfigController2 implements TextWatcher, loadCertificates( mEapCaCertSpinner, - androidKeystoreAliasLoader.getCaCertAliases(), + mAndroidKeystoreAliasLoader.getCaCertAliases(), - null /* noCertificateString */, + mDoNotValidateEapServerString /* noCertificateString */, false /* showMultipleCerts */, true /* showUsePreinstalledCertOption */); loadCertificates( -@@ -1153,7 +1166,7 @@ public class WifiConfigController2 implements TextWatcher, +@@ -1162,7 +1175,7 @@ public class WifiConfigController2 implements TextWatcher, && enterpriseConfig.isTrustOnFirstUseEnabled()) { setSelection(mEapCaCertSpinner, mTrustOnFirstUse); } else { @@ -277,16 +277,16 @@ index f92b58fbd1..6074202a97 100644 } } else if (caCerts.length == 1) { setSelection(mEapCaCertSpinner, caCerts[0]); -@@ -1164,7 +1177,7 @@ public class WifiConfigController2 implements TextWatcher, +@@ -1171,7 +1184,7 @@ public class WifiConfigController2 implements TextWatcher, loadCertificates( mEapCaCertSpinner, - androidKeystoreAliasLoader.getCaCertAliases(), + mAndroidKeystoreAliasLoader.getCaCertAliases(), - null /* noCertificateString */, + mDoNotValidateEapServerString /* noCertificateString */, true /* showMultipleCerts */, true /* showUsePreinstalledCertOption */); setSelection(mEapCaCertSpinner, mMultipleCertSetString); -@@ -1306,7 +1319,8 @@ public class WifiConfigController2 implements TextWatcher, +@@ -1313,7 +1326,8 @@ public class WifiConfigController2 implements TextWatcher, String eapCertSelection = (String) mEapCaCertSpinner.getSelectedItem(); if (eapCertSelection.equals(mUnspecifiedCertString) || (mIsTrustOnFirstUseSupported @@ -296,7 +296,7 @@ index f92b58fbd1..6074202a97 100644 setMinTlsVerInvisible(); // Domain suffix matching is not relevant if the user hasn't chosen a CA // certificate yet, or chooses not to validate the EAP server. -@@ -1590,8 +1604,7 @@ public class WifiConfigController2 implements TextWatcher, +@@ -1583,8 +1597,7 @@ public class WifiConfigController2 implements TextWatcher, }).collect(Collectors.toList())); } diff --git a/patches_treble_td/platform_packages_apps_Settings/0005-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch b/patches_treble_td/platform_packages_apps_Settings/0004-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch similarity index 93% rename from patches_treble_td/platform_packages_apps_Settings/0005-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch rename to patches_treble_td/platform_packages_apps_Settings/0004-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch index 25776ad..dc5921b 100644 --- a/patches_treble_td/platform_packages_apps_Settings/0005-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch +++ b/patches_treble_td/platform_packages_apps_Settings/0004-Revert-Wi-Fi-Check-if-domain-field-is-not-empty-when.patch @@ -1,7 +1,7 @@ -From 352739f644748d07adc3518482e97ba0214f0227 Mon Sep 17 00:00:00 2001 +From a21bd9df74b600e1bbe6fc04d6aa89e35e4f08a5 Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Thu, 2 Nov 2023 10:23:56 +0000 -Subject: [PATCH 5/5] Revert "[Wi-Fi] Check if domain field is not empty when +Subject: [PATCH 4/4] Revert "[Wi-Fi] Check if domain field is not empty when users choose a ca certificate" Change-Id: I52ede9eb6b5164e147578e2dc2756cc722fe36ef @@ -11,7 +11,7 @@ Change-Id: I52ede9eb6b5164e147578e2dc2756cc722fe36ef 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java -index 6ca97c329c..d2f3afd6ba 100644 +index 4a191fc3497..8efc9275a31 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -547,11 +547,11 @@ public class WifiConfigController implements TextWatcher, @@ -46,10 +46,10 @@ index 6ca97c329c..d2f3afd6ba 100644 } } diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java -index 6074202a97..90f518122a 100644 +index a7e71d6d28d..56b166e7931 100644 --- a/src/com/android/settings/wifi/WifiConfigController2.java +++ b/src/com/android/settings/wifi/WifiConfigController2.java -@@ -535,11 +535,11 @@ public class WifiConfigController2 implements TextWatcher, +@@ -547,11 +547,11 @@ public class WifiConfigController2 implements TextWatcher, // Disallow submit if the user has not selected a CA certificate for an EAP network // configuration. enabled = false; @@ -63,7 +63,7 @@ index 6074202a97..90f518122a 100644 // validation, but does not provide a domain. enabled = false; } -@@ -576,12 +576,13 @@ public class WifiConfigController2 implements TextWatcher, +@@ -588,12 +588,13 @@ public class WifiConfigController2 implements TextWatcher, // Display warning if user chooses not to validate the EAP server with a // user-supplied CA certificate in an EAP network configuration. mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.VISIBLE); diff --git a/patches_treble_td/platform_packages_modules_Bluetooth/0001-audio_hal_interface-Optionally-use-sysbta-HAL.patch b/patches_treble_td/platform_packages_modules_Bluetooth/0001-audio_hal_interface-Optionally-use-sysbta-HAL.patch index 9fbe419..fd9560e 100644 --- a/patches_treble_td/platform_packages_modules_Bluetooth/0001-audio_hal_interface-Optionally-use-sysbta-HAL.patch +++ b/patches_treble_td/platform_packages_modules_Bluetooth/0001-audio_hal_interface-Optionally-use-sysbta-HAL.patch @@ -1,4 +1,4 @@ -From 21929eab1eba85f9d9b9ccf2d3e58d59c326680d Mon Sep 17 00:00:00 2001 +From 2de85de1dc057fe72e30efad525ac704fc5c164d Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 24 Aug 2022 15:45:18 -0400 Subject: [PATCH 1/7] audio_hal_interface: Optionally use sysbta HAL @@ -7,16 +7,16 @@ Required to support sysbta, our system-side bt audio implementation. Change-Id: I59973e6ec84c5923be8a7c67b36b2e237f000860 --- - system/audio_hal_interface/aidl/client_interface_aidl.cc | 8 ++++---- - system/audio_hal_interface/aidl/client_interface_aidl.h | 7 +++++++ - system/audio_hal_interface/hal_version_manager.cc | 9 ++++++++- + .../audio_hal_interface/aidl/client_interface_aidl.cc | 6 +++--- + .../audio_hal_interface/aidl/client_interface_aidl.h | 7 +++++++ + system/audio_hal_interface/hal_version_manager.cc | 11 +++++++++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/system/audio_hal_interface/aidl/client_interface_aidl.cc b/system/audio_hal_interface/aidl/client_interface_aidl.cc -index 897b891aa7..ed41627c3e 100644 +index 9faa725022..f6706d98f1 100644 --- a/system/audio_hal_interface/aidl/client_interface_aidl.cc +++ b/system/audio_hal_interface/aidl/client_interface_aidl.cc -@@ -56,7 +56,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface( +@@ -58,7 +58,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface( bool BluetoothAudioClientInterface::is_aidl_available() { return AServiceManager_isDeclared( @@ -25,7 +25,7 @@ index 897b891aa7..ed41627c3e 100644 } std::vector -@@ -72,7 +72,7 @@ BluetoothAudioClientInterface::GetAudioCapabilities(SessionType session_type) { +@@ -74,7 +74,7 @@ BluetoothAudioClientInterface::GetAudioCapabilities(SessionType session_type) { } auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( ::ndk::SpAIBinder(AServiceManager_waitForService( @@ -34,7 +34,7 @@ index 897b891aa7..ed41627c3e 100644 if (provider_factory == nullptr) { LOG(ERROR) << __func__ << ", can't get capability from unknown factory"; -@@ -99,7 +99,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() { +@@ -101,7 +101,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() { } auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( ::ndk::SpAIBinder(AServiceManager_waitForService( @@ -43,17 +43,8 @@ index 897b891aa7..ed41627c3e 100644 if (provider_factory == nullptr) { LOG(ERROR) << __func__ << ", can't get capability from unknown factory"; -@@ -266,7 +266,7 @@ int BluetoothAudioClientInterface::GetAidlInterfaceVersion() { - - auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( - ::ndk::SpAIBinder(AServiceManager_waitForService( -- kDefaultAudioProviderFactoryInterface.c_str()))); -+ audioProviderFactoryInterface().c_str()))); - - if (provider_factory == nullptr) { - LOG(ERROR) << __func__ << ", can't get aidl version from unknown factory"; diff --git a/system/audio_hal_interface/aidl/client_interface_aidl.h b/system/audio_hal_interface/aidl/client_interface_aidl.h -index 8a40c1d7d7..6d962d3473 100644 +index 0dd9575acb..d28e8e46fb 100644 --- a/system/audio_hal_interface/aidl/client_interface_aidl.h +++ b/system/audio_hal_interface/aidl/client_interface_aidl.h @@ -28,6 +28,7 @@ @@ -64,7 +55,7 @@ index 8a40c1d7d7..6d962d3473 100644 #define BLUETOOTH_AUDIO_HAL_PROP_DISABLED \ "persist.bluetooth.bluetooth_audio_hal.disabled" -@@ -119,6 +120,12 @@ class BluetoothAudioClientInterface { +@@ -160,6 +161,12 @@ class BluetoothAudioClientInterface { // "android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default"; static inline const std::string kDefaultAudioProviderFactoryInterface = std::string() + IBluetoothAudioProviderFactory::descriptor + "/default"; @@ -78,39 +69,48 @@ index 8a40c1d7d7..6d962d3473 100644 private: IBluetoothTransportInstance* transport_; diff --git a/system/audio_hal_interface/hal_version_manager.cc b/system/audio_hal_interface/hal_version_manager.cc -index a2c192f37d..c3d1cf35c2 100644 +index 275bbb067e..885e34f188 100644 --- a/system/audio_hal_interface/hal_version_manager.cc +++ b/system/audio_hal_interface/hal_version_manager.cc -@@ -24,6 +24,7 @@ - #include +@@ -25,6 +25,7 @@ #include "aidl/audio_aidl_interfaces.h" + #include "osi/include/log.h" +#include "osi/include/properties.h" namespace bluetooth { namespace audio { -@@ -33,6 +34,12 @@ using ::aidl::android::hardware::bluetooth::audio:: +@@ -34,6 +35,12 @@ using ::aidl::android::hardware::bluetooth::audio:: static const std::string kDefaultAudioProviderFactoryInterface = std::string() + IBluetoothAudioProviderFactory::descriptor + "/default"; +static const std::string kSystemAudioProviderFactoryInterface = + std::string() + IBluetoothAudioProviderFactory::descriptor + "/sysbta"; -+static inline const std::string audioProviderFactoryInterface() { ++static inline const std::string& audioProviderFactoryInterface() { + return osi_property_get_bool("persist.bluetooth.system_audio_hal.enabled", false) + ? kSystemAudioProviderFactoryInterface : kDefaultAudioProviderFactoryInterface; +} std::unique_ptr HalVersionManager::instance_ptr = std::make_unique(); -@@ -92,7 +99,7 @@ HalVersionManager::GetProvidersFactory_2_0() { +@@ -88,7 +95,7 @@ BluetoothAudioHalVersion GetAidlInterfaceVersion() { + auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( + ::ndk::SpAIBinder(AServiceManager_waitForService( +- kDefaultAudioProviderFactoryInterface.c_str()))); ++ audioProviderFactoryInterface().c_str()))); + + if (provider_factory == nullptr) { + LOG_ERROR("Can't get aidl version from unknown factory"); +@@ -122,7 +129,7 @@ BluetoothAudioHalVersion GetAidlInterfaceVersion() { HalVersionManager::HalVersionManager() { + hal_transport_ = BluetoothAudioHalTransport::UNKNOWN; if (AServiceManager_checkService( - kDefaultAudioProviderFactoryInterface.c_str()) != nullptr) { + audioProviderFactoryInterface().c_str()) != nullptr) { - hal_version_ = BluetoothAudioHalVersion::VERSION_AIDL_V1; + hal_version_ = GetAidlInterfaceVersion(); + hal_transport_ = BluetoothAudioHalTransport::AIDL; return; - } -- 2.34.1 diff --git a/patches_treble_td/platform_packages_modules_Bluetooth/0002-Add-option-to-change-eSCO-Transport-Unit-Size.patch b/patches_treble_td/platform_packages_modules_Bluetooth/0002-Add-option-to-change-eSCO-Transport-Unit-Size.patch index cd68131..c981200 100644 --- a/patches_treble_td/platform_packages_modules_Bluetooth/0002-Add-option-to-change-eSCO-Transport-Unit-Size.patch +++ b/patches_treble_td/platform_packages_modules_Bluetooth/0002-Add-option-to-change-eSCO-Transport-Unit-Size.patch @@ -1,4 +1,4 @@ -From cb3f60b7a209f7853cd6812f4bd523fbaa4520fb Mon Sep 17 00:00:00 2001 +From 88705e8292e41191c83e04e3b9598eb6cad39d82 Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Thu, 17 Jun 2021 15:48:53 +0100 Subject: [PATCH 2/7] Add option to change eSCO Transport Unit Size @@ -15,12 +15,12 @@ Change-Id: I3e5897c2ce983042b9a4bef9def6744ba4253bcb 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/system/device/src/esco_parameters.cc b/system/device/src/esco_parameters.cc -index 48607e6d54..3b19d7c3ea 100644 +index 684450a80b..5bf31289bc 100644 --- a/system/device/src/esco_parameters.cc +++ b/system/device/src/esco_parameters.cc -@@ -22,7 +22,8 @@ - - #include "check.h" +@@ -25,7 +25,8 @@ + #include "hci/controller.h" + #include "main/shim/entry.h" -static const enh_esco_params_t default_esco_parameters[ESCO_NUM_CODECS] = { +#include @@ -28,18 +28,18 @@ index 48607e6d54..3b19d7c3ea 100644 // CVSD D1 { .transmit_bandwidth = TXRX_64KBITS_RATE, -@@ -288,6 +289,11 @@ enh_esco_params_t esco_parameters_for_codec(esco_codec_t codec, bool offload) { - CHECK(codec >= 0) << "codec index " << (int)codec << "< 0"; - CHECK(codec < ESCO_NUM_CODECS) - << "codec index " << (int)codec << " > " << ESCO_NUM_CODECS; +@@ -352,6 +353,11 @@ enh_esco_params_t esco_parameters_for_codec(esco_codec_t codec, bool offload) { + } + } + + int escoTransportUnitSize = property_get_int32("persist.sys.bt.esco_transport_unit_size", 0); + if(escoTransportUnitSize) { + default_esco_parameters[codec].input_transport_unit_size = escoTransportUnitSize; + default_esco_parameters[codec].output_transport_unit_size = escoTransportUnitSize; + } if (offload) { - return default_esco_parameters[codec]; - } + if (codec == ESCO_CODEC_SWB_Q0 || codec == ESCO_CODEC_SWB_Q1 || + codec == ESCO_CODEC_SWB_Q2 || codec == ESCO_CODEC_SWB_Q3) { -- 2.34.1 diff --git a/patches_treble_td/platform_packages_modules_Bluetooth/0003-Don-t-abort-when-failing-to-get-real-time-priority.patch b/patches_treble_td/platform_packages_modules_Bluetooth/0003-Don-t-abort-when-failing-to-get-real-time-priority.patch index 770c2fd..8c35b98 100644 --- a/patches_treble_td/platform_packages_modules_Bluetooth/0003-Don-t-abort-when-failing-to-get-real-time-priority.patch +++ b/patches_treble_td/platform_packages_modules_Bluetooth/0003-Don-t-abort-when-failing-to-get-real-time-priority.patch @@ -1,4 +1,4 @@ -From 8445e93797fe8e4bfc3006a4bf3817d312deb585 Mon Sep 17 00:00:00 2001 +From 4418924b219da6f93cdcb81a4f577e6794f6947a Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 17 Oct 2021 17:17:13 -0400 Subject: [PATCH 3/7] Don't abort when failing to get real-time priority @@ -15,14 +15,14 @@ Change-Id: Id25dac186628e933185bdfd640498004459b375a system/btif/src/btif_a2dp_sink.cc | 2 +- system/btif/src/btif_a2dp_source.cc | 2 +- system/osi/src/alarm.cc | 12 +++++++++++- - system/stack/btu/btu_task.cc | 2 +- + system/stack/btu/main_thread.cc | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/system/btif/src/btif_a2dp_sink.cc b/system/btif/src/btif_a2dp_sink.cc -index fb7e8f3607..2d68d49c84 100644 +index be2098788e..4da1dcf449 100644 --- a/system/btif/src/btif_a2dp_sink.cc +++ b/system/btif/src/btif_a2dp_sink.cc -@@ -197,7 +197,7 @@ bool btif_a2dp_sink_init() { +@@ -196,7 +196,7 @@ bool btif_a2dp_sink_init() { /* Schedule the rest of the operations */ if (!btif_a2dp_sink_cb.worker_thread.EnableRealTimeScheduling()) { #if defined(__ANDROID__) @@ -32,10 +32,10 @@ index fb7e8f3607..2d68d49c84 100644 #endif } diff --git a/system/btif/src/btif_a2dp_source.cc b/system/btif/src/btif_a2dp_source.cc -index 2a538390fb..1b0ffab492 100644 +index c0cb38fd08..63eca47dbf 100644 --- a/system/btif/src/btif_a2dp_source.cc +++ b/system/btif/src/btif_a2dp_source.cc -@@ -365,7 +365,7 @@ static void btif_a2dp_source_startup_delayed() { +@@ -367,7 +367,7 @@ static void btif_a2dp_source_startup_delayed() { LOG_INFO("%s: state=%s", __func__, btif_a2dp_source_cb.StateStr().c_str()); if (!btif_a2dp_source_thread.EnableRealTimeScheduling()) { #if defined(__ANDROID__) @@ -45,10 +45,10 @@ index 2a538390fb..1b0ffab492 100644 } if (!bluetooth::audio::a2dp::init(&btif_a2dp_source_thread)) { diff --git a/system/osi/src/alarm.cc b/system/osi/src/alarm.cc -index 2f0a27ea71..ec0f71c232 100644 +index 408f4f3bee..4b48be24c7 100644 --- a/system/osi/src/alarm.cc +++ b/system/osi/src/alarm.cc -@@ -678,7 +678,17 @@ static bool timer_create_internal(const clockid_t clock_id, timer_t* timer) { +@@ -673,7 +673,17 @@ static bool timer_create_internal(const clockid_t clock_id, timer_t* timer) { sigevent.sigev_notify = SIGEV_THREAD; sigevent.sigev_notify_function = (void (*)(union sigval))timer_callback; sigevent.sigev_notify_attributes = &thread_attr; @@ -67,11 +67,11 @@ index 2f0a27ea71..ec0f71c232 100644 LOG_ERROR("%s unable to create timer with clock %d: %s", __func__, clock_id, strerror(errno)); if (clock_id == CLOCK_BOOTTIME_ALARM) { -diff --git a/system/stack/btu/btu_task.cc b/system/stack/btu/btu_task.cc -index 2aa2510c04..e50de320c4 100644 ---- a/system/stack/btu/btu_task.cc -+++ b/system/stack/btu/btu_task.cc -@@ -122,7 +122,7 @@ void main_thread_start_up() { +diff --git a/system/stack/btu/main_thread.cc b/system/stack/btu/main_thread.cc +index b41a56bcfb..e4f5ba2255 100644 +--- a/system/stack/btu/main_thread.cc ++++ b/system/stack/btu/main_thread.cc +@@ -69,7 +69,7 @@ void main_thread_start_up() { } if (!main_thread.EnableRealTimeScheduling()) { #if defined(__ANDROID__) diff --git a/patches_treble_td/platform_packages_modules_Bluetooth/0004-On-Samsung-devices-we-need-to-tell-Audio-HAL-if-we-r.patch b/patches_treble_td/platform_packages_modules_Bluetooth/0004-On-Samsung-devices-we-need-to-tell-Audio-HAL-if-we-r.patch index 6a4b9fd..1f1a45d 100644 --- a/patches_treble_td/platform_packages_modules_Bluetooth/0004-On-Samsung-devices-we-need-to-tell-Audio-HAL-if-we-r.patch +++ b/patches_treble_td/platform_packages_modules_Bluetooth/0004-On-Samsung-devices-we-need-to-tell-Audio-HAL-if-we-r.patch @@ -1,4 +1,4 @@ -From da3b8f4208f8f6878e76f510273722bebcb89a79 Mon Sep 17 00:00:00 2001 +From 2440e9e24f1e90697f4519ec1f95922a1858902e Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sat, 12 Nov 2022 00:35:46 +0000 Subject: [PATCH 4/7] On Samsung devices, we need to tell Audio HAL if we're @@ -12,36 +12,36 @@ Change-Id: I7802b7a29c017a2cd7018e82772183df1dfa0b89 1 file changed, 8 insertions(+) diff --git a/android/app/src/com/android/bluetooth/hfp/HeadsetStateMachine.java b/android/app/src/com/android/bluetooth/hfp/HeadsetStateMachine.java -index 57eb9aff4c..fbe29415b8 100644 +index 29856803a8..0a22818d31 100644 --- a/android/app/src/com/android/bluetooth/hfp/HeadsetStateMachine.java +++ b/android/app/src/com/android/bluetooth/hfp/HeadsetStateMachine.java -@@ -151,6 +151,7 @@ public class HeadsetStateMachine extends StateMachine { - private boolean mHasNrecEnabled = false; +@@ -156,6 +156,7 @@ public class HeadsetStateMachine extends StateMachine { private boolean mHasWbsEnabled = false; - private boolean mHasSwbEnabled = false; + private boolean mHasSwbLc3Enabled = false; + private boolean mHasSwbAptXEnabled = false; + private int mReportScoSampleRate = 0; // AT Phone book keeps a group of states used by AT+CPBR commands @VisibleForTesting final AtPhonebook mPhonebook; -@@ -250,6 +251,7 @@ public class HeadsetStateMachine extends StateMachine { - mHasWbsEnabled = false; +@@ -268,6 +269,7 @@ public class HeadsetStateMachine extends StateMachine { mHasNrecEnabled = false; - mHasSwbEnabled = false; + mHasSwbLc3Enabled = false; + mHasSwbAptXEnabled = false; + mReportScoSampleRate = 0; } public void dump(StringBuilder sb) { -@@ -483,6 +485,7 @@ public class HeadsetStateMachine extends StateMachine { - mHasWbsEnabled = false; - mHasSwbEnabled = false; +@@ -502,6 +504,7 @@ public class HeadsetStateMachine extends StateMachine { + mHasSwbLc3Enabled = false; mHasNrecEnabled = false; + mHasSwbAptXEnabled = false; + mReportScoSampleRate = 0; broadcastStateTransitions(); logFailureIfNeeded(); -@@ -1618,6 +1621,9 @@ public class HeadsetStateMachine extends StateMachine { - + " hasWbsEnabled=" + mHasWbsEnabled); - am.setParameters("bt_lc3_swb=" + (mHasSwbEnabled ? "on" : "off")); +@@ -1680,6 +1683,9 @@ public class HeadsetStateMachine extends StateMachine { + /* AptX bt_swb: 0 -> on, 65535 -> off */ + am.setParameters("bt_swb=" + (mHasSwbAptXEnabled ? "0" : "65535")); am.setBluetoothHeadsetProperties(getCurrentDeviceName(), mHasNrecEnabled, mHasWbsEnabled); + if (mReportScoSampleRate > 0) { + am.setParameters("g_sco_samplerate=" + mReportScoSampleRate); @@ -49,7 +49,7 @@ index 57eb9aff4c..fbe29415b8 100644 } @VisibleForTesting -@@ -1761,10 +1767,12 @@ public class HeadsetStateMachine extends StateMachine { +@@ -1823,10 +1829,12 @@ public class HeadsetStateMachine extends StateMachine { switch (wbsConfig) { case HeadsetHalConstants.BTHF_WBS_YES: mHasWbsEnabled = true; diff --git a/patches_treble_td/platform_packages_modules_Bluetooth/0005-Add-properties-to-disable-some-features-commands-sta.patch b/patches_treble_td/platform_packages_modules_Bluetooth/0005-Add-properties-to-disable-some-features-commands-sta.patch index 6bdc047..55eef97 100644 --- a/patches_treble_td/platform_packages_modules_Bluetooth/0005-Add-properties-to-disable-some-features-commands-sta.patch +++ b/patches_treble_td/platform_packages_modules_Bluetooth/0005-Add-properties-to-disable-some-features-commands-sta.patch @@ -1,4 +1,4 @@ -From 9f147777e4e9312e4f2bfbb3af11669dcc4bee07 Mon Sep 17 00:00:00 2001 +From 95cbce50012388d50ba86146ffc2810a73a5b41f Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 27 May 2023 06:41:32 -0400 Subject: [PATCH 5/7] Add properties to disable some features/commands/states @@ -9,7 +9,7 @@ Subject: [PATCH 5/7] Add properties to disable some features/commands/states 1 file changed, 68 insertions(+), 4 deletions(-) diff --git a/system/gd/hci/controller.cc b/system/gd/hci/controller.cc -index c08ecab9d5..66b7de6b5e 100644 +index be068bdbd3..645c74e868 100644 --- a/system/gd/hci/controller.cc +++ b/system/gd/hci/controller.cc @@ -16,6 +16,7 @@ @@ -20,7 +20,7 @@ index c08ecab9d5..66b7de6b5e 100644 #include #include #include -@@ -27,6 +28,7 @@ +@@ -29,6 +30,7 @@ #include "os/metrics.h" #include "os/system_properties.h" #include "sysprops/sysprops_module.h" @@ -28,7 +28,7 @@ index c08ecab9d5..66b7de6b5e 100644 namespace bluetooth { namespace hci { -@@ -297,7 +299,23 @@ struct Controller::impl { +@@ -302,7 +304,23 @@ struct Controller::impl { ASSERT(complete_view.IsValid()); ErrorCode status = complete_view.GetStatus(); ASSERT_LOG(status == ErrorCode::SUCCESS, "Status 0x%02hhx, %s", status, ErrorCodeText(status).c_str()); @@ -53,7 +53,7 @@ index c08ecab9d5..66b7de6b5e 100644 } void read_local_extended_features_complete_handler(std::promise promise, CommandCompleteView view) { -@@ -306,7 +324,25 @@ struct Controller::impl { +@@ -311,7 +329,25 @@ struct Controller::impl { ErrorCode status = complete_view.GetStatus(); ASSERT_LOG(status == ErrorCode::SUCCESS, "Status 0x%02hhx, %s", status, ErrorCodeText(status).c_str()); uint8_t page_number = complete_view.GetPageNumber(); @@ -80,7 +80,7 @@ index c08ecab9d5..66b7de6b5e 100644 bluetooth::os::LogMetricBluetoothLocalSupportedFeatures(page_number, complete_view.GetExtendedLmpFeatures()); // Query all extended features if (page_number < complete_view.GetMaximumPageNumber()) { -@@ -449,7 +485,21 @@ struct Controller::impl { +@@ -464,7 +500,21 @@ struct Controller::impl { ASSERT(complete_view.IsValid()); ErrorCode status = complete_view.GetStatus(); ASSERT_LOG(status == ErrorCode::SUCCESS, "Status 0x%02hhx, %s", status, ErrorCodeText(status).c_str()); @@ -103,7 +103,7 @@ index c08ecab9d5..66b7de6b5e 100644 } void le_read_supported_states_handler(CommandCompleteView view) { -@@ -457,7 +507,21 @@ struct Controller::impl { +@@ -472,7 +522,21 @@ struct Controller::impl { ASSERT(complete_view.IsValid()); ErrorCode status = complete_view.GetStatus(); ASSERT_LOG(status == ErrorCode::SUCCESS, "Status 0x%02hhx, %s", status, ErrorCodeText(status).c_str()); diff --git a/patches_treble_td/platform_packages_modules_Bluetooth/0006-Add-a-property-to-cap-declared-le-vendor-version.-Fo.patch b/patches_treble_td/platform_packages_modules_Bluetooth/0006-Add-a-property-to-cap-declared-le-vendor-version.-Fo.patch index 0d7678a..1c7ec24 100644 --- a/patches_treble_td/platform_packages_modules_Bluetooth/0006-Add-a-property-to-cap-declared-le-vendor-version.-Fo.patch +++ b/patches_treble_td/platform_packages_modules_Bluetooth/0006-Add-a-property-to-cap-declared-le-vendor-version.-Fo.patch @@ -1,4 +1,4 @@ -From b03c154415fbfd5ec6ce691a33d3f2da5327d48c Mon Sep 17 00:00:00 2001 +From edc37e8d98bd9f122737509acc77b899ee441cad Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 30 May 2023 17:34:03 -0400 Subject: [PATCH 6/7] Add a property to cap declared le vendor version. Found @@ -9,10 +9,10 @@ Subject: [PATCH 6/7] Add a property to cap declared le vendor version. Found 1 file changed, 11 insertions(+) diff --git a/system/gd/hci/controller.cc b/system/gd/hci/controller.cc -index 66b7de6b5e..a51382cd0d 100644 +index 645c74e868..ffc2b149fe 100644 --- a/system/gd/hci/controller.cc +++ b/system/gd/hci/controller.cc -@@ -603,6 +603,13 @@ struct Controller::impl { +@@ -618,6 +618,13 @@ struct Controller::impl { if (complete_view.IsValid()) { vendor_capabilities_.is_supported_ = 0x01; @@ -26,7 +26,7 @@ index 66b7de6b5e..a51382cd0d 100644 // v0.55 BaseVendorCapabilities base_vendor_capabilities = complete_view.GetBaseVendorCapabilities(); vendor_capabilities_.max_advt_instances_ = base_vendor_capabilities.max_advt_instances_; -@@ -618,6 +625,8 @@ struct Controller::impl { +@@ -633,6 +640,8 @@ struct Controller::impl { return; } @@ -35,7 +35,7 @@ index 66b7de6b5e..a51382cd0d 100644 // v0.95 auto v95 = LeGetVendorCapabilitiesComplete095View::Create(complete_view); if (!v95.IsValid()) { -@@ -632,6 +641,7 @@ struct Controller::impl { +@@ -647,6 +656,7 @@ struct Controller::impl { return; } @@ -43,7 +43,7 @@ index 66b7de6b5e..a51382cd0d 100644 // v0.96 auto v96 = LeGetVendorCapabilitiesComplete096View::Create(v95); if (!v96.IsValid()) { -@@ -643,6 +653,7 @@ struct Controller::impl { +@@ -658,6 +668,7 @@ struct Controller::impl { return; } diff --git a/patches_treble_td/platform_packages_modules_Bluetooth/0007-gd-hci-Ignore-command-READ_REMOTE_VERSION_INFORMATIO.patch b/patches_treble_td/platform_packages_modules_Bluetooth/0007-gd-hci-Ignore-command-READ_REMOTE_VERSION_INFORMATIO.patch index c852762..f5e4302 100644 --- a/patches_treble_td/platform_packages_modules_Bluetooth/0007-gd-hci-Ignore-command-READ_REMOTE_VERSION_INFORMATIO.patch +++ b/patches_treble_td/platform_packages_modules_Bluetooth/0007-gd-hci-Ignore-command-READ_REMOTE_VERSION_INFORMATIO.patch @@ -1,4 +1,4 @@ -From aa4d0d779359918759e224693386445b2e624016 Mon Sep 17 00:00:00 2001 +From ec9504dd0d6a7ded46b0f3676e548391fee6fbc0 Mon Sep 17 00:00:00 2001 From: wbs306 Date: Fri, 20 Jan 2023 17:07:41 +0800 Subject: [PATCH 7/7] gd: hci: Ignore command READ_REMOTE_VERSION_INFORMATION @@ -14,10 +14,10 @@ It means this command isn't in the command_queue_, we can just ignore it. 1 file changed, 4 insertions(+) diff --git a/system/gd/hci/hci_layer.cc b/system/gd/hci/hci_layer.cc -index 3e8ab78371..32495069a2 100644 +index 0b61fd4a4a..eecdf092e7 100644 --- a/system/gd/hci/hci_layer.cc +++ b/system/gd/hci/hci_layer.cc -@@ -359,6 +359,10 @@ struct HciLayer::impl { +@@ -362,6 +362,10 @@ struct HciLayer::impl { auto view = CommandStatusView::Create(event); ASSERT(view.IsValid()); auto op_code = view.GetCommandOpCode(); diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0001-Allow-failing-to-load-bpf-programs-for-BPF-less-devi.patch b/patches_treble_td/platform_packages_modules_Connectivity/0001-Allow-failing-to-load-bpf-programs-for-BPF-less-devi.patch index c3cd4e6..1016519 100644 --- a/patches_treble_td/platform_packages_modules_Connectivity/0001-Allow-failing-to-load-bpf-programs-for-BPF-less-devi.patch +++ b/patches_treble_td/platform_packages_modules_Connectivity/0001-Allow-failing-to-load-bpf-programs-for-BPF-less-devi.patch @@ -1,7 +1,7 @@ -From de1f17d9c94ecb56f2f0e6c59ee6f3fb8d4c45b5 Mon Sep 17 00:00:00 2001 +From 74130e716bea3cd9b49e755976d51a5321c7fa4f Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 26 Oct 2022 18:10:04 -0400 -Subject: [PATCH 1/5] Allow failing to load bpf programs, for BPF-less devices +Subject: [PATCH 1/6] Allow failing to load bpf programs, for BPF-less devices Change-Id: I68ba3be2e15c188e56e32a6ecf844e1ca64d560f --- @@ -9,10 +9,10 @@ Change-Id: I68ba3be2e15c188e56e32a6ecf844e1ca64d560f 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/netd/BpfHandler.cpp b/netd/BpfHandler.cpp -index 64093743f8..3eb7419a02 100644 +index 2252e07fc9..b8333526d8 100644 --- a/netd/BpfHandler.cpp +++ b/netd/BpfHandler.cpp -@@ -87,8 +87,14 @@ static Status initPrograms(const char* cg2_path) { +@@ -115,8 +115,14 @@ static Status initPrograms(const char* cg2_path) { RETURN_IF_NOT_OK(checkProgramAccessible(XT_BPF_DENYLIST_PROG_PATH)); RETURN_IF_NOT_OK(checkProgramAccessible(XT_BPF_EGRESS_PROG_PATH)); RETURN_IF_NOT_OK(checkProgramAccessible(XT_BPF_INGRESS_PROG_PATH)); diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0002-Dont-delete-UID-from-BpfMap-on-BPF-less-kernel.patch b/patches_treble_td/platform_packages_modules_Connectivity/0002-Dont-delete-UID-from-BpfMap-on-BPF-less-kernel.patch deleted file mode 100644 index 7ab1e97..0000000 --- a/patches_treble_td/platform_packages_modules_Connectivity/0002-Dont-delete-UID-from-BpfMap-on-BPF-less-kernel.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 835e6fc1e750acbb1f3fc085e0574bb9c2d46f15 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Wed, 26 Oct 2022 18:11:10 -0400 -Subject: [PATCH 2/5] Dont delete UID from BpfMap on BPF-less kernel - -Change-Id: I93b5b8237f6655cb47e0b0584c54cad73a51e7b2 ---- - service-t/src/com/android/server/net/NetworkStatsService.java | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/service-t/src/com/android/server/net/NetworkStatsService.java b/service-t/src/com/android/server/net/NetworkStatsService.java -index f977a2724c..877f351b5f 100644 ---- a/service-t/src/com/android/server/net/NetworkStatsService.java -+++ b/service-t/src/com/android/server/net/NetworkStatsService.java -@@ -2498,6 +2498,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { - * @param uid - */ - private void deleteKernelTagData(int uid) { -+ if(mCookieTagMap == null) return; - try { - mCookieTagMap.forEach((key, value) -> { - // If SkDestroyListener deletes the socket tag while this code is running, --- -2.34.1 - diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0002-Support-non-working-BPF-maps-on-old-BPF-less-kernel.patch b/patches_treble_td/platform_packages_modules_Connectivity/0002-Support-non-working-BPF-maps-on-old-BPF-less-kernel.patch new file mode 100644 index 0000000..c117a8f --- /dev/null +++ b/patches_treble_td/platform_packages_modules_Connectivity/0002-Support-non-working-BPF-maps-on-old-BPF-less-kernel.patch @@ -0,0 +1,307 @@ +From 6537a2a2a0c62fb9bd45d517372eaaa2e6e94d3f Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 26 Oct 2022 18:11:10 -0400 +Subject: [PATCH 2/6] Support non-working BPF maps on old BPF-less kernel + +--- + .../src/android/net/BpfNetMapsReader.java | 13 ++++++-- + netbpfload/NetBpfLoad.cpp | 30 ++++++++----------- + .../libs/libnetworkstats/BpfNetworkStats.cpp | 1 + + .../server/net/NetworkStatsService.java | 29 ++++++++++-------- + .../src/com/android/server/BpfNetMaps.java | 14 +++++++-- + .../native/bpf_headers/include/bpf/BpfMap.h | 21 +++++++------ + 6 files changed, 65 insertions(+), 43 deletions(-) + +diff --git a/framework/src/android/net/BpfNetMapsReader.java b/framework/src/android/net/BpfNetMapsReader.java +index ee422abd9c..d31024c686 100644 +--- a/framework/src/android/net/BpfNetMapsReader.java ++++ b/framework/src/android/net/BpfNetMapsReader.java +@@ -124,7 +124,7 @@ public class BpfNetMapsReader { + return new BpfMap<>(CONFIGURATION_MAP_PATH, BpfMap.BPF_F_RDONLY, + S32.class, U32.class); + } catch (ErrnoException e) { +- throw new IllegalStateException("Cannot open configuration map", e); ++ return null; + } + } + +@@ -134,7 +134,7 @@ public class BpfNetMapsReader { + return new BpfMap<>(UID_OWNER_MAP_PATH, BpfMap.BPF_F_RDONLY, + S32.class, UidOwnerValue.class); + } catch (ErrnoException e) { +- throw new IllegalStateException("Cannot open uid owner map", e); ++ return null; + } + } + +@@ -144,7 +144,7 @@ public class BpfNetMapsReader { + return new BpfMap<>(DATA_SAVER_ENABLED_MAP_PATH, BpfMap.BPF_F_RDONLY, S32.class, + U8.class); + } catch (ErrnoException e) { +- throw new IllegalStateException("Cannot open data saver enabled map", e); ++ return null; + } + } + } +@@ -191,6 +191,8 @@ public class BpfNetMapsReader { + final IBpfMap configurationMap, final int chain) { + throwIfPreT("isChainEnabled is not available on pre-T devices"); + ++ if (configurationMap == null) return false; ++ + final long match = getMatchByFirewallChain(chain); + try { + final U32 config = configurationMap.getValue(UID_RULES_CONFIGURATION_KEY); +@@ -216,6 +218,8 @@ public class BpfNetMapsReader { + final int chain, final int uid) { + throwIfPreT("getUidRule is not available on pre-T devices"); + ++ if (uidOwnerMap == null) return FIREWALL_RULE_ALLOW; ++ + final long match = getMatchByFirewallChain(chain); + final boolean isAllowList = isFirewallAllowList(chain); + try { +@@ -244,6 +248,8 @@ public class BpfNetMapsReader { + boolean isDataSaverEnabled) { + throwIfPreT("isUidBlockedByFirewallChains is not available on pre-T devices"); + ++ if (mConfigurationMap == null) return false; ++ + final long uidRuleConfig; + final long uidMatch; + try { +@@ -277,6 +283,7 @@ public class BpfNetMapsReader { + public boolean getDataSaverEnabled() { + throwIfPreT("getDataSaverEnabled is not available on pre-T devices"); + ++ if (mDataSaverEnabledMap == null) return false; + try { + return mDataSaverEnabledMap.getValue(DATA_SAVER_ENABLED_KEY).val == DATA_SAVER_ENABLED; + } catch (ErrnoException e) { +diff --git a/netbpfload/NetBpfLoad.cpp b/netbpfload/NetBpfLoad.cpp +index 236adde3da..2e4e6fae6f 100644 +--- a/netbpfload/NetBpfLoad.cpp ++++ b/netbpfload/NetBpfLoad.cpp +@@ -175,9 +175,11 @@ int main(int argc, char** argv, char * const envp[]) { + + const int device_api_level = android_get_device_api_level(); + const bool isAtLeastU = (device_api_level >= __ANDROID_API_U__); ++ bool failed = false; + + if (!android::bpf::isAtLeastKernelVersion(4, 19, 0)) { + ALOGW("Android U QPR2 requires kernel 4.19."); ++ failed = true; + } + + if (android::bpf::isUserspace32bit() && android::bpf::isAtLeastKernelVersion(6, 2, 0)) { +@@ -201,14 +203,14 @@ int main(int argc, char** argv, char * const envp[]) { + * and 32-bit userspace on 64-bit kernel bpf ringbuffer compatibility is broken. + */ + ALOGE("64-bit userspace required on 6.2+ kernels."); +- return 1; ++ failed = true; + } + + // Ensure we can determine the Android build type. + if (!android::bpf::isEng() && !android::bpf::isUser() && !android::bpf::isUserdebug()) { + ALOGE("Failed to determine the build type: got %s, want 'eng', 'user', or 'userdebug'", + android::bpf::getBuildType().c_str()); +- return 1; ++ failed = true; + } + + if (isAtLeastU) { +@@ -240,31 +242,25 @@ int main(int argc, char** argv, char * const envp[]) { + // which could otherwise fail with ENOENT during object pinning or renaming, + // due to ordering issues) + for (const auto& location : locations) { +- if (createSysFsBpfSubDir(location.prefix)) return 1; ++ if (createSysFsBpfSubDir(location.prefix)) failed = true; + } + + // Load all ELF objects, create programs and maps, and pin them + for (const auto& location : locations) { + if (loadAllElfObjects(location) != 0) { +- ALOGE("=== CRITICAL FAILURE LOADING BPF PROGRAMS FROM %s ===", location.dir); +- ALOGE("If this triggers reliably, you're probably missing kernel options or patches."); +- ALOGE("If this triggers randomly, you might be hitting some memory allocation " +- "problems or startup script race."); +- ALOGE("--- DO NOT EXPECT SYSTEM TO BOOT SUCCESSFULLY ---"); +- sleep(20); +- return 2; ++ failed = true; + } + } + +- int key = 1; +- int value = 123; +- android::base::unique_fd map( +- android::bpf::createMap(BPF_MAP_TYPE_ARRAY, sizeof(key), sizeof(value), 2, 0)); +- if (android::bpf::writeToMapEntry(map, &key, &value, BPF_ANY)) { +- ALOGE("Critical kernel bug - failure to write into index 1 of 2 element bpf map array."); +- return 1; ++ if (failed) { ++ ALOGE("=== CRITICAL FAILURE LOADING BPF PROGRAMS ==="); ++ ALOGE("If this triggers reliably, you're probably missing kernel options or patches."); ++ ALOGE("If this triggers randomly, you might be hitting some memory allocation " ++ "problems or startup script race."); ++ ALOGE("--- DO NOT EXPECT SYSTEM TO BOOT SUCCESSFULLY ---"); + } + ++ + ALOGI("done, transferring control to platform bpfloader."); + + const char * args[] = { "/system/bin/bpfloader", NULL, }; +diff --git a/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp b/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp +index 31013972b8..8d6994818b 100644 +--- a/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp ++++ b/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp +@@ -170,6 +170,7 @@ int parseBpfNetworkStatsDetail(std::vector* lines) { + static BpfMapRO configurationMap(CONFIGURATION_MAP_PATH); + static BpfMap statsMapA(STATS_MAP_A_PATH); + static BpfMap statsMapB(STATS_MAP_B_PATH); ++ if (!configurationMap.isOk()) return -1; + auto configuration = configurationMap.readValue(CURRENT_STATS_MAP_CONFIGURATION_KEY); + if (!configuration.ok()) { + ALOGE("Cannot read the old configuration from map: %s", +diff --git a/service-t/src/com/android/server/net/NetworkStatsService.java b/service-t/src/com/android/server/net/NetworkStatsService.java +index 2c9f30c8f7..5471624368 100644 +--- a/service-t/src/com/android/server/net/NetworkStatsService.java ++++ b/service-t/src/com/android/server/net/NetworkStatsService.java +@@ -427,12 +427,12 @@ public class NetworkStatsService extends INetworkStatsService.Stub { + * mActiveUidCounterSet to avoid accessing kernel too frequently. + */ + private SparseIntArray mActiveUidCounterSet = new SparseIntArray(); +- private final IBpfMap mUidCounterSetMap; +- private final IBpfMap mCookieTagMap; +- private final IBpfMap mStatsMapA; +- private final IBpfMap mStatsMapB; +- private final IBpfMap mAppUidStatsMap; +- private final IBpfMap mIfaceStatsMap; ++ private IBpfMap mUidCounterSetMap = null; ++ private IBpfMap mCookieTagMap = null; ++ private IBpfMap mStatsMapA = null; ++ private IBpfMap mStatsMapB = null; ++ private IBpfMap mAppUidStatsMap = null; ++ private IBpfMap mIfaceStatsMap = null; + + /** Data layer operation counters for splicing into other structures. */ + private NetworkStats mUidOperations = new NetworkStats(0L, 10); +@@ -621,12 +621,16 @@ public class NetworkStatsService extends INetworkStatsService.Stub { + mLocationPermissionChecker = mDeps.makeLocationPermissionChecker(mContext); + mInterfaceMapUpdater = mDeps.makeBpfInterfaceMapUpdater(mContext, mHandler); + mInterfaceMapUpdater.start(); +- mUidCounterSetMap = mDeps.getUidCounterSetMap(); +- mCookieTagMap = mDeps.getCookieTagMap(); +- mStatsMapA = mDeps.getStatsMapA(); +- mStatsMapB = mDeps.getStatsMapB(); +- mAppUidStatsMap = mDeps.getAppUidStatsMap(); +- mIfaceStatsMap = mDeps.getIfaceStatsMap(); ++ try { ++ mUidCounterSetMap = mDeps.getUidCounterSetMap(); ++ mCookieTagMap = mDeps.getCookieTagMap(); ++ mStatsMapA = mDeps.getStatsMapA(); ++ mStatsMapB = mDeps.getStatsMapB(); ++ mAppUidStatsMap = mDeps.getAppUidStatsMap(); ++ mIfaceStatsMap = mDeps.getIfaceStatsMap(); ++ } catch(Throwable t) { ++ android.util.Log.e("PHH", "Failed creating bpf maps", t); ++ } + // To prevent any possible races, the flag is not allowed to change until rebooting. + mSupportEventLogger = mDeps.supportEventLogger(mContext); + if (mSupportEventLogger) { +@@ -2450,6 +2454,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { + * @param uid + */ + private void deleteKernelTagData(int uid) { ++ if(mCookieTagMap == null) return; + try { + mCookieTagMap.forEach((key, value) -> { + // If SkDestroyListener deletes the socket tag while this code is running, +diff --git a/service/src/com/android/server/BpfNetMaps.java b/service/src/com/android/server/BpfNetMaps.java +index ad9cfbe10e..9b2202b295 100644 +--- a/service/src/com/android/server/BpfNetMaps.java ++++ b/service/src/com/android/server/BpfNetMaps.java +@@ -358,7 +358,11 @@ public class BpfNetMaps { + @VisibleForTesting + public BpfNetMaps(final Context context, final INetd netd, final Dependencies deps) { + if (!PRE_T) { +- ensureInitialized(context); ++ try { ++ ensureInitialized(context); ++ } catch(Throwable t) { ++ android.util.Log.e("PHH", "Failed initialization BpfMaps, doing without it", t); ++ } + } + mNetd = netd; + mDeps = deps; +@@ -794,6 +798,8 @@ public class BpfNetMaps { + public void swapActiveStatsMap() { + throwIfPreT("swapActiveStatsMap is not available on pre-T devices"); + ++ if (sConfigurationMap == null) return; ++ + try { + synchronized (sCurrentStatsMapConfigLock) { + final long config = sConfigurationMap.getValue( +@@ -834,6 +840,8 @@ public class BpfNetMaps { + return; + } + ++ if (sUidPermissionMap == null) return; ++ + // Remove the entry if package is uninstalled or uid has only INTERNET permission. + if (permissions == PERMISSION_UNINSTALLED || permissions == PERMISSION_INTERNET) { + for (final int uid : uids) { +@@ -932,7 +940,9 @@ public class BpfNetMaps { + // deletion. netd and skDestroyListener could delete CookieTagMap entry concurrently. + // So using Set to count the number of entry in the map. + Set keySet = new ArraySet<>(); +- map.forEach((k, v) -> keySet.add(k)); ++ if (map != null) { ++ map.forEach((k, v) -> keySet.add(k)); ++ } + return keySet.size(); + } + +diff --git a/staticlibs/native/bpf_headers/include/bpf/BpfMap.h b/staticlibs/native/bpf_headers/include/bpf/BpfMap.h +index 3fede3c0ed..8266ec68c0 100644 +--- a/staticlibs/native/bpf_headers/include/bpf/BpfMap.h ++++ b/staticlibs/native/bpf_headers/include/bpf/BpfMap.h +@@ -58,21 +58,24 @@ class BpfMapRO { + + protected: + void abortOnMismatch(bool writable) const { +- if (!mMapFd.ok()) abort(); ++ (void) writable; ++ } ++ ++ public: ++ bool isOk(bool writable = false) const { ++ if (!mMapFd.ok()) return false; + if (isAtLeastKernelVersion(4, 14, 0)) { + int flags = bpfGetFdMapFlags(mMapFd); +- if (flags < 0) abort(); +- if (flags & BPF_F_WRONLY) abort(); +- if (writable && (flags & BPF_F_RDONLY)) abort(); +- if (bpfGetFdKeySize(mMapFd) != sizeof(Key)) abort(); +- if (bpfGetFdValueSize(mMapFd) != sizeof(Value)) abort(); ++ if (flags < 0) return false; ++ if (flags & BPF_F_WRONLY) return false; ++ if (writable && (flags & BPF_F_RDONLY)) return false; ++ if (bpfGetFdKeySize(mMapFd) != sizeof(Key)) return false; ++ if (bpfGetFdValueSize(mMapFd) != sizeof(Value)) return false; + } ++ return true; + } +- +- public: + explicit BpfMapRO(const char* pathname) { + mMapFd.reset(mapRetrieveRO(pathname)); +- abortOnMismatch(/* writable */ false); + } + + Result getFirstKey() const { +-- +2.34.1 + diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0004-Bring-back-traffic-indicators-for-legacy-devices.patch b/patches_treble_td/platform_packages_modules_Connectivity/0003-Bring-back-traffic-indicators-for-legacy-devices.patch similarity index 69% rename from patches_treble_td/platform_packages_modules_Connectivity/0004-Bring-back-traffic-indicators-for-legacy-devices.patch rename to patches_treble_td/platform_packages_modules_Connectivity/0003-Bring-back-traffic-indicators-for-legacy-devices.patch index f1daf60..ef5b15a 100644 --- a/patches_treble_td/platform_packages_modules_Connectivity/0004-Bring-back-traffic-indicators-for-legacy-devices.patch +++ b/patches_treble_td/platform_packages_modules_Connectivity/0003-Bring-back-traffic-indicators-for-legacy-devices.patch @@ -1,7 +1,7 @@ -From 3b78ece11b5fca158a07061f06a4ab7e6d60cceb Mon Sep 17 00:00:00 2001 +From a8511c3bc3855c98b1fec6e06a916da38cf43d78 Mon Sep 17 00:00:00 2001 From: koron393 Date: Fri, 20 Jan 2023 05:41:13 +0900 -Subject: [PATCH 4/5] Bring back traffic indicators for legacy devices +Subject: [PATCH 3/6] Bring back traffic indicators for legacy devices Revert: "remove qtaguid parsing" (commit 0b99c46bcde8e607d9233c474035da95ab68a6fe.) @@ -12,15 +12,14 @@ This fixes traffic indicator on BPF-less kernel. Change-Id: I65c626c1c5832d81805c45c53b021236fe09030b Signed-off-by: koron393 --- - ...android_server_net_NetworkStatsService.cpp | 97 ++++++++++++++++++- - .../src/com/android/server/BpfNetMaps.java | 2 +- - 2 files changed, 95 insertions(+), 4 deletions(-) + ...android_server_net_NetworkStatsService.cpp | 84 ++++++++++++++++++- + 1 file changed, 81 insertions(+), 3 deletions(-) diff --git a/service-t/jni/com_android_server_net_NetworkStatsService.cpp b/service-t/jni/com_android_server_net_NetworkStatsService.cpp -index dab9d07f09..bdce2c8aaf 100644 +index bdbb655e5c..2d8d673515 100644 --- a/service-t/jni/com_android_server_net_NetworkStatsService.cpp +++ b/service-t/jni/com_android_server_net_NetworkStatsService.cpp -@@ -38,6 +38,9 @@ using android::bpf::NetworkTraceHandler; +@@ -39,6 +39,9 @@ using android::bpf::NetworkTraceHandler; namespace android { @@ -30,11 +29,11 @@ index dab9d07f09..bdce2c8aaf 100644 // NOTE: keep these in sync with TrafficStats.java static const uint64_t UNKNOWN = -1; -@@ -69,13 +72,93 @@ static uint64_t getStatsType(Stats* stats, StatsType type) { +@@ -64,13 +67,80 @@ static uint64_t getStatsType(StatsValue* stats, StatsType type) { } } -+static int parseIfaceStats(const char* iface, Stats* stats) { ++static int parseIfaceStats(const char* iface, StatsValue* stats) { + FILE *fp = fopen(QTAGUID_IFACE_STATS, "r"); + if (fp == NULL) { + return -1; @@ -42,7 +41,6 @@ index dab9d07f09..bdce2c8aaf 100644 + + char buffer[384]; + char cur_iface[32]; -+ bool foundTcp = false; + uint64_t rxBytes, rxPackets, txBytes, txPackets, tcpRxPackets, tcpTxPackets; + + while (fgets(buffer, sizeof(buffer), fp) != NULL) { @@ -51,34 +49,22 @@ index dab9d07f09..bdce2c8aaf 100644 + "%*u %" SCNu64 " %*u %*u %*u %*u", cur_iface, &rxBytes, + &rxPackets, &txBytes, &txPackets, &tcpRxPackets, &tcpTxPackets); + if (matched >= 5) { -+ if (matched == 7) { -+ foundTcp = true; -+ } + if (!iface || !strcmp(iface, cur_iface)) { + stats->rxBytes += rxBytes; + stats->rxPackets += rxPackets; + stats->txBytes += txBytes; + stats->txPackets += txPackets; -+ if (matched == 7) { -+ stats->tcpRxPackets += tcpRxPackets; -+ stats->tcpTxPackets += tcpTxPackets; -+ } + } + } + } + -+ if (!foundTcp) { -+ stats->tcpRxPackets = UNKNOWN; -+ stats->tcpTxPackets = UNKNOWN; -+ } -+ + if (fclose(fp) != 0) { + return -1; + } + return 0; +} + -+static int parseUidStats(const uint32_t uid, Stats* stats) { ++static int parseUidStats(const uint32_t uid, StatsValue* stats) { + FILE *fp = fopen(QTAGUID_UID_STATS, "r"); + if (fp == NULL) { + return -1; @@ -111,7 +97,7 @@ index dab9d07f09..bdce2c8aaf 100644 +} + static jlong nativeGetTotalStat(JNIEnv* env, jclass clazz, jint type) { - Stats stats = {}; + StatsValue stats = {}; if (bpfGetIfaceStats(NULL, &stats) == 0) { return getStatsType(&stats, (StatsType) type); @@ -125,7 +111,7 @@ index dab9d07f09..bdce2c8aaf 100644 } } -@@ -90,7 +173,11 @@ static jlong nativeGetIfaceStat(JNIEnv* env, jclass clazz, jstring iface, jint t +@@ -85,7 +155,11 @@ static jlong nativeGetIfaceStat(JNIEnv* env, jclass clazz, jstring iface, jint t if (bpfGetIfaceStats(iface8.c_str(), &stats) == 0) { return getStatsType(&stats, (StatsType) type); } else { @@ -138,7 +124,7 @@ index dab9d07f09..bdce2c8aaf 100644 } } -@@ -100,7 +187,11 @@ static jlong nativeGetUidStat(JNIEnv* env, jclass clazz, jint uid, jint type) { +@@ -104,7 +178,11 @@ static jlong nativeGetUidStat(JNIEnv* env, jclass clazz, jint uid, jint type) { if (bpfGetUidStats(uid, &stats) == 0) { return getStatsType(&stats, (StatsType) type); } else { @@ -151,19 +137,6 @@ index dab9d07f09..bdce2c8aaf 100644 } } -diff --git a/service/src/com/android/server/BpfNetMaps.java b/service/src/com/android/server/BpfNetMaps.java -index 744df6e9b8..999c854634 100644 ---- a/service/src/com/android/server/BpfNetMaps.java -+++ b/service/src/com/android/server/BpfNetMaps.java -@@ -78,7 +78,7 @@ import java.util.StringJoiner; - * {@hide} - */ - public class BpfNetMaps { -- private static final boolean PRE_T = !SdkLevel.isAtLeastT(); -+ private static boolean PRE_T = !SdkLevel.isAtLeastT(); - static { - if (!PRE_T) { - System.loadLibrary("service-connectivity"); -- 2.34.1 diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0003-Make-the-use-of-IBpfMaps-optional.patch b/patches_treble_td/platform_packages_modules_Connectivity/0003-Make-the-use-of-IBpfMaps-optional.patch deleted file mode 100644 index 23ae18f..0000000 --- a/patches_treble_td/platform_packages_modules_Connectivity/0003-Make-the-use-of-IBpfMaps-optional.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 216b9a8c686dd41f3dbd46e8c5b2438f34623748 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Fri, 6 Oct 2023 09:27:33 -0400 -Subject: [PATCH 3/5] Make the use of IBpfMaps optional - ---- - .../server/net/NetworkStatsService.java | 29 +++++++++++-------- - .../src/com/android/server/BpfNetMaps.java | 7 ++++- - 2 files changed, 23 insertions(+), 13 deletions(-) - -diff --git a/service-t/src/com/android/server/net/NetworkStatsService.java b/service-t/src/com/android/server/net/NetworkStatsService.java -index 877f351b5f..79314b6454 100644 ---- a/service-t/src/com/android/server/net/NetworkStatsService.java -+++ b/service-t/src/com/android/server/net/NetworkStatsService.java -@@ -412,12 +412,12 @@ public class NetworkStatsService extends INetworkStatsService.Stub { - * mActiveUidCounterSet to avoid accessing kernel too frequently. - */ - private SparseIntArray mActiveUidCounterSet = new SparseIntArray(); -- private final IBpfMap mUidCounterSetMap; -- private final IBpfMap mCookieTagMap; -- private final IBpfMap mStatsMapA; -- private final IBpfMap mStatsMapB; -- private final IBpfMap mAppUidStatsMap; -- private final IBpfMap mIfaceStatsMap; -+ private IBpfMap mUidCounterSetMap = null; -+ private IBpfMap mCookieTagMap = null; -+ private IBpfMap mStatsMapA = null; -+ private IBpfMap mStatsMapB = null; -+ private IBpfMap mAppUidStatsMap = null; -+ private IBpfMap mIfaceStatsMap = null; - - /** Data layer operation counters for splicing into other structures. */ - private NetworkStats mUidOperations = new NetworkStats(0L, 10); -@@ -603,12 +603,17 @@ public class NetworkStatsService extends INetworkStatsService.Stub { - mLocationPermissionChecker = mDeps.makeLocationPermissionChecker(mContext); - mInterfaceMapUpdater = mDeps.makeBpfInterfaceMapUpdater(mContext, mHandler); - mInterfaceMapUpdater.start(); -- mUidCounterSetMap = mDeps.getUidCounterSetMap(); -- mCookieTagMap = mDeps.getCookieTagMap(); -- mStatsMapA = mDeps.getStatsMapA(); -- mStatsMapB = mDeps.getStatsMapB(); -- mAppUidStatsMap = mDeps.getAppUidStatsMap(); -- mIfaceStatsMap = mDeps.getIfaceStatsMap(); -+ -+ try { -+ mUidCounterSetMap = mDeps.getUidCounterSetMap(); -+ mCookieTagMap = mDeps.getCookieTagMap(); -+ mStatsMapA = mDeps.getStatsMapA(); -+ mStatsMapB = mDeps.getStatsMapB(); -+ mAppUidStatsMap = mDeps.getAppUidStatsMap(); -+ mIfaceStatsMap = mDeps.getIfaceStatsMap(); -+ } catch(Throwable t) { -+ android.util.Log.e("PHH", "Failed creating bpf maps", t); -+ } - - // TODO: Remove bpfNetMaps creation and always start SkDestroyListener - // Following code is for the experiment to verify the SkDestroyListener refactoring. Based -diff --git a/service/src/com/android/server/BpfNetMaps.java b/service/src/com/android/server/BpfNetMaps.java -index ec168dd0ab..744df6e9b8 100644 ---- a/service/src/com/android/server/BpfNetMaps.java -+++ b/service/src/com/android/server/BpfNetMaps.java -@@ -345,7 +345,12 @@ public class BpfNetMaps { - @VisibleForTesting - public BpfNetMaps(final Context context, final INetd netd, final Dependencies deps) { - if (!PRE_T) { -- ensureInitialized(context); -+ try { -+ ensureInitialized(context); -+ } catch(Throwable t) { -+ android.util.Log.e("PHH", "Failed initialization BpfMaps, doing without it", t); -+ sEnableJavaBpfMap = false; -+ } - } - mNetd = netd; - mDeps = deps; --- -2.34.1 - diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0004-Revert-drop-support-for-V-gsi-on-pixel-5-R-base-kern.patch b/patches_treble_td/platform_packages_modules_Connectivity/0004-Revert-drop-support-for-V-gsi-on-pixel-5-R-base-kern.patch new file mode 100644 index 0000000..7241d51 --- /dev/null +++ b/patches_treble_td/platform_packages_modules_Connectivity/0004-Revert-drop-support-for-V-gsi-on-pixel-5-R-base-kern.patch @@ -0,0 +1,44 @@ +From e036d1921fd6fb24b148ea12e3bd446baa14aa3d Mon Sep 17 00:00:00 2001 +From: Peter Cai +Date: Sat, 16 Mar 2024 15:27:27 -0400 +Subject: [PATCH 4/6] Revert "drop support for V gsi on pixel 5 R base kernel" + +This reverts commit bbbd18a71368a80f689b924dcf82062c2ee351b2. +--- + ..._android_server_connectivity_ClatCoordinator.cpp | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/service/jni/com_android_server_connectivity_ClatCoordinator.cpp b/service/jni/com_android_server_connectivity_ClatCoordinator.cpp +index c125bd6479..787ef8fd69 100644 +--- a/service/jni/com_android_server_connectivity_ClatCoordinator.cpp ++++ b/service/jni/com_android_server_connectivity_ClatCoordinator.cpp +@@ -90,6 +90,11 @@ static void verifyPerms(const char * const path, + + #undef ALOGF + ++bool isGsiImage() { ++ // this implementation matches 2 other places in the codebase (same function name too) ++ return !access("/system/system_ext/etc/init/init.gsi.rc", F_OK); ++} ++ + static const char* kClatdDir = "/apex/com.android.tethering/bin/for-system"; + static const char* kClatdBin = "/apex/com.android.tethering/bin/for-system/clatd"; + +@@ -130,6 +135,14 @@ static void verifyClatPerms() { + + #undef V2 + ++ // HACK: Some old vendor kernels lack ~5.10 backport of 'bpffs selinux genfscon' support. ++ // This is *NOT* supported, but let's allow, at least for now, U+ GSI to boot on them. ++ // (without this hack pixel5 R vendor + U gsi breaks) ++ if (isGsiImage() && !bpf::isAtLeastKernelVersion(5, 10, 0)) { ++ ALOGE("GSI with *BAD* pre-5.10 kernel lacking bpffs selinux genfscon support."); ++ return; ++ } ++ + if (fatal) abort(); + } + +-- +2.34.1 + diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0005-BpfNetMaps-check-if-map-is-null-to-prevent-crash-on-.patch b/patches_treble_td/platform_packages_modules_Connectivity/0005-BpfNetMaps-check-if-map-is-null-to-prevent-crash-on-.patch deleted file mode 100644 index d8da39b..0000000 --- a/patches_treble_td/platform_packages_modules_Connectivity/0005-BpfNetMaps-check-if-map-is-null-to-prevent-crash-on-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a871a1fab69be0a301644dd5896d9caa4b01bddf Mon Sep 17 00:00:00 2001 -From: Alberto Ponces -Date: Tue, 30 Jan 2024 16:17:43 +0000 -Subject: [PATCH 5/5] BpfNetMaps: check if map is null to prevent crash on - BPF-less devices - -Change-Id: I46a949a80e7de0c2d75743445289a778a881a27e ---- - service/src/com/android/server/BpfNetMaps.java | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/service/src/com/android/server/BpfNetMaps.java b/service/src/com/android/server/BpfNetMaps.java -index 999c854634..15b1104386 100644 ---- a/service/src/com/android/server/BpfNetMaps.java -+++ b/service/src/com/android/server/BpfNetMaps.java -@@ -1007,7 +1007,9 @@ public class BpfNetMaps { - // deletion. netd and skDestroyListener could delete CookieTagMap entry concurrently. - // So using Set to count the number of entry in the map. - Set keySet = new ArraySet<>(); -- map.forEach((k, v) -> keySet.add(k)); -+ if (map != null) { -+ map.forEach((k, v) -> keySet.add(k)); -+ } - return keySet.size(); - } - --- -2.34.1 - diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0005-More-bpf-errors-ignore-there-are-some-4.14-without-t.patch b/patches_treble_td/platform_packages_modules_Connectivity/0005-More-bpf-errors-ignore-there-are-some-4.14-without-t.patch new file mode 100644 index 0000000..baf84b1 --- /dev/null +++ b/patches_treble_td/platform_packages_modules_Connectivity/0005-More-bpf-errors-ignore-there-are-some-4.14-without-t.patch @@ -0,0 +1,44 @@ +From 5d5a4f8f2c25b60df861aa3fbc18ddafe341e6bf Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 15 May 2024 05:56:59 -0400 +Subject: [PATCH 5/6] More bpf errors ignore -- there are some 4.14 without the + bpf jit file + +--- + netbpfload/NetBpfLoad.cpp | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/netbpfload/NetBpfLoad.cpp b/netbpfload/NetBpfLoad.cpp +index 2e4e6fae6f..6e9b85da31 100644 +--- a/netbpfload/NetBpfLoad.cpp ++++ b/netbpfload/NetBpfLoad.cpp +@@ -218,8 +218,7 @@ int main(int argc, char** argv, char * const envp[]) { + // but we need 0 (enabled) + // (this writeFile is known to fail on at least 4.19, but always defaults to 0 on + // pre-5.13, on 5.13+ it depends on CONFIG_BPF_UNPRIV_DEFAULT_OFF) +- if (writeProcSysFile("/proc/sys/kernel/unprivileged_bpf_disabled", "0\n") && +- android::bpf::isAtLeastKernelVersion(5, 13, 0)) return 1; ++ writeProcSysFile("/proc/sys/kernel/unprivileged_bpf_disabled", "0\n"); + + // Enable the eBPF JIT -- but do note that on 64-bit kernels it is likely + // already force enabled by the kernel config option BPF_JIT_ALWAYS_ON. +@@ -227,14 +226,12 @@ int main(int argc, char** argv, char * const envp[]) { + // kernel does not have CONFIG_BPF_JIT=y) + // BPF_JIT is required by R VINTF (which means 4.14/4.19/5.4 kernels), + // but 4.14/4.19 were released with P & Q, and only 5.4 is new in R+. +- if (writeProcSysFile("/proc/sys/net/core/bpf_jit_enable", "1\n") && +- android::bpf::isAtLeastKernelVersion(4, 14, 0)) return 1; ++ writeProcSysFile("/proc/sys/net/core/bpf_jit_enable", "1\n"); + + // Enable JIT kallsyms export for privileged users only + // (Note: this (open) will fail with ENOENT 'No such file or directory' if + // kernel does not have CONFIG_HAVE_EBPF_JIT=y) +- if (writeProcSysFile("/proc/sys/net/core/bpf_jit_kallsyms", "1\n") && +- android::bpf::isAtLeastKernelVersion(4, 14, 0)) return 1; ++ writeProcSysFile("/proc/sys/net/core/bpf_jit_kallsyms", "1\n"); + } + + // Create all the pin subdirectories +-- +2.34.1 + diff --git a/patches_treble_td/platform_packages_modules_Connectivity/0006-Fixup-Support-non-working-BPF-maps-on-old-BPF-less-k.patch b/patches_treble_td/platform_packages_modules_Connectivity/0006-Fixup-Support-non-working-BPF-maps-on-old-BPF-less-k.patch new file mode 100644 index 0000000..515f27c --- /dev/null +++ b/patches_treble_td/platform_packages_modules_Connectivity/0006-Fixup-Support-non-working-BPF-maps-on-old-BPF-less-k.patch @@ -0,0 +1,120 @@ +From a6104075f33b9d64f60745ac64d9c4cc491305b0 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Sun, 26 May 2024 12:15:41 +0800 +Subject: [PATCH 6/6] Fixup! Support non-working BPF maps on old BPF-less + kernel + +Null-check all other BPF map usages, which could be used by e.g. internet restriction in LOS +--- + .../src/com/android/server/BpfNetMaps.java | 25 +++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/service/src/com/android/server/BpfNetMaps.java b/service/src/com/android/server/BpfNetMaps.java +index 9b2202b295..ec1d1abfbc 100644 +--- a/service/src/com/android/server/BpfNetMaps.java ++++ b/service/src/com/android/server/BpfNetMaps.java +@@ -381,6 +381,8 @@ public class BpfNetMaps { + } + + private void removeRule(final int uid, final long match, final String caller) { ++ if (sUidOwnerMap == null) return; ++ + try { + synchronized (sUidOwnerMap) { + final UidOwnerValue oldMatch = sUidOwnerMap.getValue(new S32(uid)); +@@ -408,6 +410,8 @@ public class BpfNetMaps { + } + + private void addRule(final int uid, final long match, final int iif, final String caller) { ++ if (sUidOwnerMap == null) return; ++ + if (match != IIF_MATCH && iif != 0) { + throw new ServiceSpecificException(EINVAL, + "Non-interface match must have zero interface index"); +@@ -510,6 +514,8 @@ public class BpfNetMaps { + public void setChildChain(final int childChain, final boolean enable) { + throwIfPreT("setChildChain is not available on pre-T devices"); + ++ if (sConfigurationMap == null) return; ++ + final long match = getMatchByFirewallChain(childChain); + try { + synchronized (sUidRulesConfigBpfMapLock) { +@@ -562,6 +568,8 @@ public class BpfNetMaps { + public void replaceUidChain(final int chain, final int[] uids) { + throwIfPreT("replaceUidChain is not available on pre-T devices"); + ++ if (sUidOwnerMap == null) return; ++ + final long match; + try { + match = getMatchByFirewallChain(chain); +@@ -642,6 +650,9 @@ public class BpfNetMaps { + private Set getUidsMatchEnabled(final int childChain) throws ErrnoException { + final long match = getMatchByFirewallChain(childChain); + Set uids = new ArraySet<>(); ++ ++ if (sUidOwnerMap == null) return uids; ++ + synchronized (sUidOwnerMap) { + sUidOwnerMap.forEach((uid, val) -> { + if (val == null) { +@@ -876,6 +887,8 @@ public class BpfNetMaps { + public void setDataSaverEnabled(boolean enable) { + throwIfPreT("setDataSaverEnabled is not available on pre-T devices"); + ++ if (sDataSaverEnabledMap == null) return; ++ + try { + final short config = enable ? DATA_SAVER_ENABLED : DATA_SAVER_DISABLED; + sDataSaverEnabledMap.updateEntry(DATA_SAVER_ENABLED_KEY, new U8(config)); +@@ -894,6 +907,9 @@ public class BpfNetMaps { + @RequiresApi(Build.VERSION_CODES.TIRAMISU) + public void setIngressDiscardRule(final InetAddress address, final String iface) { + throwIfPreT("setIngressDiscardRule is not available on pre-T devices"); ++ ++ if (sIngressDiscardMap == null) return; ++ + final int ifIndex = mDeps.getIfIndex(iface); + if (ifIndex == 0) { + Log.e(TAG, "Failed to get if index, skip setting ingress discard rule for " + address +@@ -917,6 +933,9 @@ public class BpfNetMaps { + @RequiresApi(Build.VERSION_CODES.TIRAMISU) + public void removeIngressDiscardRule(final InetAddress address) { + throwIfPreT("removeIngressDiscardRule is not available on pre-T devices"); ++ ++ if (sIngressDiscardMap == null) return; ++ + try { + sIngressDiscardMap.deleteEntry(new IngressDiscardKey(address)); + } catch (ErrnoException e) { +@@ -989,6 +1008,8 @@ public class BpfNetMaps { + } + + private void dumpOwnerMatchConfig(final IndentingPrintWriter pw) { ++ if (sConfigurationMap == null) return; ++ + try { + final long match = sConfigurationMap.getValue(UID_RULES_CONFIGURATION_KEY).val; + pw.println("current ownerMatch configuration: " + match + " " + matchToString(match)); +@@ -998,6 +1019,8 @@ public class BpfNetMaps { + } + + private void dumpCurrentStatsMapConfig(final IndentingPrintWriter pw) { ++ if (sConfigurationMap == null) return; ++ + try { + final long config = sConfigurationMap.getValue(CURRENT_STATS_MAP_CONFIGURATION_KEY).val; + final String currentStatsMap = +@@ -1009,6 +1032,8 @@ public class BpfNetMaps { + } + + private void dumpDataSaverConfig(final IndentingPrintWriter pw) { ++ if (sDataSaverEnabledMap == null) return; ++ + try { + final short config = sDataSaverEnabledMap.getValue(DATA_SAVER_ENABLED_KEY).val; + // Any non-zero value converted from short to boolean is true by convention. +-- +2.34.1 + diff --git a/patches_treble_td/platform_packages_modules_DeviceLock/0001-Don-t-crash-when-we-get-no-DeviceLockManager.patch b/patches_treble_td/platform_packages_modules_DeviceLock/0001-Don-t-crash-when-we-get-no-DeviceLockManager.patch index 266c08e..a414056 100644 --- a/patches_treble_td/platform_packages_modules_DeviceLock/0001-Don-t-crash-when-we-get-no-DeviceLockManager.patch +++ b/patches_treble_td/platform_packages_modules_DeviceLock/0001-Don-t-crash-when-we-get-no-DeviceLockManager.patch @@ -1,4 +1,4 @@ -From bf319499c381dd044afc41f68fd1941092bf775b Mon Sep 17 00:00:00 2001 +From d6e25483a85b782d60ff23318e6aa3cbf881b355 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 18 Oct 2023 17:44:59 -0400 Subject: [PATCH] Don't crash when we get no DeviceLockManager @@ -9,7 +9,7 @@ Change-Id: Iaba659694e706c82a95ec2e99feb26e2bc6314e0 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/DeviceLockController/src/com/android/devicelockcontroller/SystemDeviceLockManagerImpl.java b/DeviceLockController/src/com/android/devicelockcontroller/SystemDeviceLockManagerImpl.java -index 9bde80b..fa3658c 100644 +index e376aaeb..af90d23e 100644 --- a/DeviceLockController/src/com/android/devicelockcontroller/SystemDeviceLockManagerImpl.java +++ b/DeviceLockController/src/com/android/devicelockcontroller/SystemDeviceLockManagerImpl.java @@ -48,7 +48,10 @@ public final class SystemDeviceLockManagerImpl implements SystemDeviceLockManage diff --git a/patches_treble_td/platform_packages_modules_DnsResolver/0001-Dont-abort-if-the-DnsHelper-failed-to-init-on-BPF-le.patch b/patches_treble_td/platform_packages_modules_DnsResolver/0001-Dont-abort-if-the-DnsHelper-failed-to-init-on-BPF-le.patch new file mode 100644 index 0000000..c5e4319 --- /dev/null +++ b/patches_treble_td/platform_packages_modules_DnsResolver/0001-Dont-abort-if-the-DnsHelper-failed-to-init-on-BPF-le.patch @@ -0,0 +1,24 @@ +From 5da69cbf1c4bde5aba341cb02d801c43a008e396 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Tue, 7 May 2024 22:44:25 +0000 +Subject: [PATCH] Dont abort if the DnsHelper failed to init on BPF-less kernel + +--- + DnsProxyListener.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/DnsProxyListener.cpp b/DnsProxyListener.cpp +index e70ddb40..2bf599e8 100644 +--- a/DnsProxyListener.cpp ++++ b/DnsProxyListener.cpp +@@ -690,7 +690,6 @@ IsUidBlockedFn resolveIsUidNetworkingBlockedFn() { + const int ret = (*ADnsHelper_init)(); + if (ret) { + LOG(ERROR) << __func__ << ": ADnsHelper_init failed " << strerror(-ret); +- abort(); + } + + IsUidBlockedFn f = +-- +2.25.1 + diff --git a/patches_treble_td/platform_packages_modules_Wifi/0001-Add-persist.sys.phh.wifi_disable_sae-property-to-dis.patch b/patches_treble_td/platform_packages_modules_Wifi/0001-Add-persist.sys.phh.wifi_disable_sae-property-to-dis.patch new file mode 100644 index 0000000..c7ad7af --- /dev/null +++ b/patches_treble_td/platform_packages_modules_Wifi/0001-Add-persist.sys.phh.wifi_disable_sae-property-to-dis.patch @@ -0,0 +1,37 @@ +From b28cb024741e06a50b31389f8f7e553ffc4a4d86 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 21 Feb 2024 17:26:07 -0500 +Subject: [PATCH] Add persist.sys.phh.wifi_disable_sae property to disable + WPA2=>WPA3 upgrades + +Change-Id: I72a0133e986f2c745af3c915ed65d7b540d2119b +--- + service/java/com/android/server/wifi/WifiGlobals.java | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/service/java/com/android/server/wifi/WifiGlobals.java b/service/java/com/android/server/wifi/WifiGlobals.java +index 1725ed7cec..25e7846b5c 100644 +--- a/service/java/com/android/server/wifi/WifiGlobals.java ++++ b/service/java/com/android/server/wifi/WifiGlobals.java +@@ -56,7 +56,7 @@ public class WifiGlobals { + private final AtomicBoolean mIsWepAllowed = new AtomicBoolean(false); + + // These are read from the overlay, cache them after boot up. +- private final boolean mIsWpa3SaeUpgradeEnabled; ++ private boolean mIsWpa3SaeUpgradeEnabled; + private final boolean mIsWpa3SaeUpgradeOffloadEnabled; + private final boolean mIsOweUpgradeEnabled; + private final boolean mFlushAnqpCacheOnWifiToggleOffEvent; +@@ -98,6 +98,9 @@ public class WifiGlobals { + + mIsWpa3SaeUpgradeEnabled = mContext.getResources() + .getBoolean(R.bool.config_wifiSaeUpgradeEnabled); ++ var prop = android.os.SystemProperties.get("persist.sys.phh.wifi_disable_sae", null); ++ if (prop != null && "true".equals(prop)) ++ mIsWpa3SaeUpgradeEnabled = false; + mIsWpa3SaeUpgradeOffloadEnabled = mContext.getResources() + .getBoolean(R.bool.config_wifiSaeUpgradeOffloadEnabled); + mIsOweUpgradeEnabled = mContext.getResources() +-- +2.25.1 + diff --git a/patches_treble_td/platform_packages_modules_vndk/0001-Include-vndk-v28-apex.patch b/patches_treble_td/platform_packages_modules_vndk/0001-Include-vndk-v28-apex.patch index 5a5da35..831e85f 100644 --- a/patches_treble_td/platform_packages_modules_vndk/0001-Include-vndk-v28-apex.patch +++ b/patches_treble_td/platform_packages_modules_vndk/0001-Include-vndk-v28-apex.patch @@ -1,4 +1,4 @@ -From 500f05a09984b110c412f3ae6f51b4e8f68ed6a6 Mon Sep 17 00:00:00 2001 +From 81a649a999ddd0eadd2595620b5b9dc17d72778e Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Oct 2023 05:18:39 -0400 Subject: [PATCH] Include vndk v28 apex @@ -9,10 +9,10 @@ Change-Id: I5689074542f13e136e5bc1292afec2a8288f9e1c 1 file changed, 6 insertions(+) diff --git a/apex/Android.bp b/apex/Android.bp -index da5d4b7..2989ebd 100644 +index 3e20230..4ccf12f 100644 --- a/apex/Android.bp +++ b/apex/Android.bp -@@ -82,3 +82,9 @@ apex_vndk { +@@ -89,3 +89,9 @@ apex_vndk { system_ext_specific: true, } diff --git a/patches_treble_td/platform_packages_services_Telephony/0001-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch b/patches_treble_td/platform_packages_services_Telephony/0001-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch new file mode 100644 index 0000000..cf0cce1 --- /dev/null +++ b/patches_treble_td/platform_packages_services_Telephony/0001-Revert-Remove-deprecated-IRadio-1.4-APIs-and-referen.patch @@ -0,0 +1,86 @@ +From d471946c91b4dfed8c1fbcbae9f681d116957158 Mon Sep 17 00:00:00 2001 +From: Alberto Ponces +Date: Mon, 1 Apr 2024 09:15:33 +0000 +Subject: [PATCH] Revert "Remove deprecated IRadio <1.4 APIs and references" + +This reverts commit b4a31f92a15ccf1f74c804ab3706ef8e4b59c8df. +--- + .../android/phone/PhoneInterfaceManager.java | 48 +++++++++++++++++++ + 1 file changed, 48 insertions(+) + +diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java +index 3bd29e311..dd3869217 100644 +--- a/src/com/android/phone/PhoneInterfaceManager.java ++++ b/src/com/android/phone/PhoneInterfaceManager.java +@@ -302,6 +302,8 @@ public class PhoneInterfaceManager extends ITelephony.Stub { + private static final int EVENT_GET_ALLOWED_NETWORK_TYPES_BITMASK_DONE = 22; + private static final int CMD_SEND_ENVELOPE = 25; + private static final int EVENT_SEND_ENVELOPE_DONE = 26; ++ private static final int CMD_INVOKE_OEM_RIL_REQUEST_RAW = 27; ++ private static final int EVENT_INVOKE_OEM_RIL_REQUEST_RAW_DONE = 28; + private static final int CMD_TRANSMIT_APDU_BASIC_CHANNEL = 29; + private static final int EVENT_TRANSMIT_APDU_BASIC_CHANNEL_DONE = 30; + private static final int CMD_EXCHANGE_SIM_IO = 31; +@@ -1161,6 +1163,19 @@ public class PhoneInterfaceManager extends ITelephony.Stub { + handleNullReturnEvent(msg, "setAllowedNetworkTypesForReason"); + break; + ++ case CMD_INVOKE_OEM_RIL_REQUEST_RAW: ++ request = (MainThreadRequest)msg.obj; ++ onCompleted = obtainMessage(EVENT_INVOKE_OEM_RIL_REQUEST_RAW_DONE, request); ++ defaultPhone.invokeOemRilRequestRaw((byte[]) request.argument, onCompleted); ++ break; ++ ++ case EVENT_INVOKE_OEM_RIL_REQUEST_RAW_DONE: ++ ar = (AsyncResult)msg.obj; ++ request = (MainThreadRequest)ar.userObj; ++ request.result = ar; ++ notifyRequester(request); ++ break; ++ + case CMD_SET_VOICEMAIL_NUMBER: + request = (MainThreadRequest) msg.obj; + onCompleted = obtainMessage(EVENT_SET_VOICEMAIL_NUMBER_DONE, request); +@@ -7519,6 +7534,39 @@ public class PhoneInterfaceManager extends ITelephony.Stub { + } + } + ++ @Override ++ @Deprecated ++ public int invokeOemRilRequestRaw(byte[] oemReq, byte[] oemResp) { ++ enforceModifyPermission(); ++ ++ int returnValue = 0; ++ try { ++ AsyncResult result = (AsyncResult) sendRequest(CMD_INVOKE_OEM_RIL_REQUEST_RAW, oemReq); ++ if(result.exception == null) { ++ if (result.result != null) { ++ byte[] responseData = (byte[])(result.result); ++ if(responseData.length > oemResp.length) { ++ Log.w(LOG_TAG, "Buffer to copy response too small: Response length is " + ++ responseData.length + "bytes. Buffer Size is " + ++ oemResp.length + "bytes."); ++ } ++ System.arraycopy(responseData, 0, oemResp, 0, responseData.length); ++ returnValue = responseData.length; ++ } ++ } else { ++ CommandException ex = (CommandException) result.exception; ++ returnValue = ex.getCommandError().ordinal(); ++ if(returnValue > 0) returnValue *= -1; ++ } ++ } catch (RuntimeException e) { ++ Log.w(LOG_TAG, "sendOemRilRequestRaw: Runtime Exception"); ++ returnValue = (CommandException.Error.GENERIC_FAILURE.ordinal()); ++ if(returnValue > 0) returnValue *= -1; ++ } ++ ++ return returnValue; ++ } ++ + @Override + public int getRadioAccessFamily(int phoneId, String callingPackage) { + int raf = RadioAccessFamily.RAF_UNKNOWN; +-- +2.25.1 + diff --git a/patches_treble_td/platform_system_apex/0001-Disable-O_DIRECT-for-old-kernels.patch b/patches_treble_td/platform_system_apex/0001-Disable-O_DIRECT-for-old-kernels.patch new file mode 100644 index 0000000..2a47ff8 --- /dev/null +++ b/patches_treble_td/platform_system_apex/0001-Disable-O_DIRECT-for-old-kernels.patch @@ -0,0 +1,54 @@ +From 4d3925eb9d2d2ce31012df8a9e320f77fdbff888 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Tue, 7 May 2024 19:28:41 -0400 +Subject: [PATCH] Disable O_DIRECT for old kernels + +On old kernels, mounting over O_DIRECT over FBE ext4 leads to corrupted +reads. +"Old kernel" is hard to define, some 4.19 and 4.14 got the fix. +The penalty for not using o_direct is a bit of performance/ram hit, so +live with it + +Co-authored-by: Alberto Ponces +Change-Id: I710e870bc467000547b00958b0818aaf0ddca072 +--- + apexd/apexd_loop.cpp | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/apexd/apexd_loop.cpp b/apexd/apexd_loop.cpp +index 1ae573d8..b613c7c9 100644 +--- a/apexd/apexd_loop.cpp ++++ b/apexd/apexd_loop.cpp +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -351,7 +352,20 @@ Result ConfigureLoopDevice(const int device_fd, const std::string& target, + * condition is now met. + */ + bool use_buffered_io = false; +- unique_fd target_fd(open(target.c_str(), O_RDONLY | O_CLOEXEC | O_DIRECT)); ++ bool enable_odirect = false; ++ struct utsname uts; ++ unsigned int major, minor; ++ if (uname(&uts) == 0 && sscanf(uts.release, "%u.%u", &major, &minor) == 2) { ++ if(major > 4) enable_odirect = true; ++ if(major == 4 && minor > 19) enable_odirect = true; ++ } ++ unique_fd target_fd; ++ if (enable_odirect) { ++ target_fd = unique_fd(open(target.c_str(), O_RDONLY | O_CLOEXEC | O_DIRECT)); ++ } else { ++ target_fd = unique_fd(open(target.c_str(), O_RDONLY | O_CLOEXEC)); ++ } ++ //unique_fd target_fd(open(target.c_str(), O_RDONLY | O_CLOEXEC)); + if (target_fd.get() == -1) { + struct statfs stbuf; + int saved_errno = errno; +-- +2.25.1 + diff --git a/patches_treble_td/platform_system_bpf/0001-Support-no-bpf-usecase.patch b/patches_treble_td/platform_system_bpf/0001-Support-no-bpf-usecase.patch index 1b2069c..da83eaa 100644 --- a/patches_treble_td/platform_system_bpf/0001-Support-no-bpf-usecase.patch +++ b/patches_treble_td/platform_system_bpf/0001-Support-no-bpf-usecase.patch @@ -1,7 +1,7 @@ -From 4b484de1b55acb758be89fbbdffd25a02b2dde5b Mon Sep 17 00:00:00 2001 +From f3e0b506e8e331083d1813d1da2f2e037da44ca0 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 13 Oct 2021 10:56:52 -0400 -Subject: [PATCH 1/2] Support no-bpf usecase +Subject: [PATCH] Support no-bpf usecase Change-Id: I75a427a2a41aa4ab1104ad88a891bef0dc2d9c91 --- @@ -9,10 +9,10 @@ Change-Id: I75a427a2a41aa4ab1104ad88a891bef0dc2d9c91 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/bpfloader/BpfLoader.cpp b/bpfloader/BpfLoader.cpp -index e53669a..158dca6 100644 +index 29da777..37a2a19 100644 --- a/bpfloader/BpfLoader.cpp +++ b/bpfloader/BpfLoader.cpp -@@ -284,7 +284,9 @@ int main(int argc, char** argv) { +@@ -206,7 +206,9 @@ int main(int argc, char** argv) { // which could otherwise fail with ENOENT during object pinning or renaming, // due to ordering issues) for (const auto& location : locations) { @@ -23,7 +23,7 @@ index e53669a..158dca6 100644 } // Note: there's no actual src dir for fs_bpf_loader .o's, -@@ -292,18 +294,15 @@ int main(int argc, char** argv) { +@@ -214,18 +216,15 @@ int main(int argc, char** argv) { // This is because this is primarily meant for triggering genfscon rules, // and as such this will likely always be the case. // Thus we need to manually create the /sys/fs/bpf/loader subdirectory. @@ -47,7 +47,7 @@ index e53669a..158dca6 100644 } } -@@ -321,5 +320,13 @@ int main(int argc, char** argv) { +@@ -234,5 +233,13 @@ int main(int argc, char** argv) { return 1; } @@ -62,5 +62,5 @@ index e53669a..158dca6 100644 return 0; } -- -2.25.1 +2.34.1 diff --git a/patches_treble_td/platform_system_bpf/0002-Revert-detect-inability-to-write-to-index-0-of-bpf-m.patch b/patches_treble_td/platform_system_bpf/0002-Revert-detect-inability-to-write-to-index-0-of-bpf-m.patch deleted file mode 100644 index 8a23073..0000000 --- a/patches_treble_td/platform_system_bpf/0002-Revert-detect-inability-to-write-to-index-0-of-bpf-m.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 059cfff8796aa45e138c67fc9cd6aa966cb8ef68 Mon Sep 17 00:00:00 2001 -From: Andy CrossGate Yan -Date: Wed, 19 Oct 2022 02:20:05 +0000 -Subject: [PATCH 2/2] Revert "detect inability to write to index != 0 of bpf - map array" - -This reverts commit ead9d83423877458023056f6ccf9390950d6726f. ---- - bpfloader/BpfLoader.cpp | 9 --------- - 1 file changed, 9 deletions(-) - -diff --git a/bpfloader/BpfLoader.cpp b/bpfloader/BpfLoader.cpp -index 158dca6..0af23c9 100644 ---- a/bpfloader/BpfLoader.cpp -+++ b/bpfloader/BpfLoader.cpp -@@ -306,15 +306,6 @@ int main(int argc, char** argv) { - } - } - -- int key = 1; -- int value = 123; -- android::base::unique_fd map( -- android::bpf::createMap(BPF_MAP_TYPE_ARRAY, sizeof(key), sizeof(value), 2, 0)); -- if (android::bpf::writeToMapEntry(map, &key, &value, BPF_ANY)) { -- ALOGE("Critical kernel bug - failure to write into index 1 of 2 element bpf map array."); -- return 1; -- } -- - if (android::base::SetProperty("bpf.progs_loaded", "1") == false) { - ALOGE("Failed to set bpf.progs_loaded property"); - return 1; --- -2.25.1 - diff --git a/patches_treble_td/platform_system_core/0001-Let-system-override-ro.apex.updatable.patch b/patches_treble_td/platform_system_core/0001-Let-system-override-ro.apex.updatable.patch index 89b49af..d15fb25 100644 --- a/patches_treble_td/platform_system_core/0001-Let-system-override-ro.apex.updatable.patch +++ b/patches_treble_td/platform_system_core/0001-Let-system-override-ro.apex.updatable.patch @@ -1,4 +1,4 @@ -From d48d4248dcd4daf667189d88d79dcc21dadf6b3c Mon Sep 17 00:00:00 2001 +From f0f3419eaa2ccdde8ca14f5fbb61f0436d7f1832 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 23 Feb 2022 17:37:47 -0500 Subject: [PATCH 01/26] Let system override ro.apex.updatable @@ -13,10 +13,10 @@ So, ignore the override policy for this prop 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/init/property_service.cpp b/init/property_service.cpp -index c8e1e14c3..b17fa6dfc 100644 +index 9e9d0f9de..d34d24f89 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp -@@ -788,8 +788,12 @@ static void LoadProperties(char* data, const char* filter, const char* filename, +@@ -802,8 +802,12 @@ static void LoadProperties(char* data, const char* filter, const char* filename, } else if (it->second != value) { LOG(WARNING) << "Overriding previous property '" << key << "':'" << it->second << "' with new value '" << value << "'"; diff --git a/patches_treble_td/platform_system_core/0004-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch b/patches_treble_td/platform_system_core/0002-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch similarity index 90% rename from patches_treble_td/platform_system_core/0004-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch rename to patches_treble_td/platform_system_core/0002-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch index b9e2474..e1688a5 100644 --- a/patches_treble_td/platform_system_core/0004-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch +++ b/patches_treble_td/platform_system_core/0002-Don-t-abandon-creating-property-tree-if-there-is-a-c.patch @@ -1,7 +1,7 @@ -From a89484bded21058ccc45944c8295035fb8d432ff Mon Sep 17 00:00:00 2001 +From 8ccff05b30cd49a662c2eef3316094e8b4065f79 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 18 Oct 2020 18:14:47 +0200 -Subject: [PATCH 04/26] Don't abandon creating property tree if there is a +Subject: [PATCH 02/26] Don't abandon creating property tree if there is a conflict, and hope for the best Change-Id: I194c815fdd58bfb84aaf7db02b8f0d00b4db21e8 diff --git a/patches_treble_td/platform_system_core/0002-If-Vboot2-fails-fall-back-to-Vboot1.patch b/patches_treble_td/platform_system_core/0002-If-Vboot2-fails-fall-back-to-Vboot1.patch deleted file mode 100644 index 9840314..0000000 --- a/patches_treble_td/platform_system_core/0002-If-Vboot2-fails-fall-back-to-Vboot1.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3f434f315e7c6bc0e587e4fc3263cfcb22b57106 Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Thu, 12 Sep 2019 13:05:37 +0200 -Subject: [PATCH 02/26] If Vboot2 fails, fall-back to Vboot1 - -Some devices, for instance Honor View 10, running Pie vendor declares -vbmeta in their device-tree, but doesn't have a vbmeta partition. - -Test: without this fix the device reboots into bootloader -Test: with this fix, the device boots. - -Please note that other fixes are also required to get this device to -actually boot. - -Change-Id: I97a7042fb03f817c41b801d558e438d2c1f6c375 ---- - init/first_stage_mount.cpp | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/init/first_stage_mount.cpp b/init/first_stage_mount.cpp -index 977cf7a01..84196de8a 100644 ---- a/init/first_stage_mount.cpp -+++ b/init/first_stage_mount.cpp -@@ -825,10 +825,17 @@ bool DoFirstStageMount(bool create_devices) { - } - - if (create_devices) { -- if (!(*fsm)->DoCreateDevices()) return false; -+ if (!(*fsm)->DoCreateDevices()) LOG(ERROR) << "Failed to create devices"; - } - -- return (*fsm)->DoFirstStageMount(); -+ if(!(*fsm)->DoFirstStageMount()) { -+ *fsm = nullptr; -+ auto fstab = ReadFirstStageFstab(); -+ auto v = std::make_unique(std::move(*fstab)); -+ v->DoCreateDevices(); -+ return v->DoFirstStageMount(); -+ } -+ return true; - } - - void SetInitAvbVersionInRecovery() { --- -2.34.1 - diff --git a/patches_treble_td/platform_system_core/0003-Revert-Remove-support-for-AVB-1.0.patch b/patches_treble_td/platform_system_core/0003-Revert-Remove-support-for-AVB-1.0.patch deleted file mode 100644 index 02e7640..0000000 --- a/patches_treble_td/platform_system_core/0003-Revert-Remove-support-for-AVB-1.0.patch +++ /dev/null @@ -1,896 +0,0 @@ -From 8f772c9094340177dfe01d1551733fdaa35c13d9 Mon Sep 17 00:00:00 2001 -From: Alberto Ponces -Date: Wed, 28 Sep 2022 17:04:03 +0100 -Subject: [PATCH 03/26] Revert "Remove support for AVB 1.0." - -This reverts commit 21ef2310eb1ef4e61117b8a63741f3a9577a20c9. - -Revert "init: Remove first_stage_mount support for AVB 1.0." - -This reverts commit ace7d45d0783d465d3dda4fa255e5280ff0c792f. ---- - fs_mgr/Android.bp | 1 + - fs_mgr/fs_mgr.cpp | 55 +-- - fs_mgr/fs_mgr_fstab.cpp | 2 + - fs_mgr/fs_mgr_verity.cpp | 557 +++++++++++++++++++++++++++++ - fs_mgr/include_fstab/fstab/fstab.h | 2 + - fs_mgr/tests/fs_mgr_test.cpp | 6 +- - init/first_stage_mount.cpp | 71 +++- - 7 files changed, 668 insertions(+), 26 deletions(-) - create mode 100644 fs_mgr/fs_mgr_verity.cpp - -diff --git a/fs_mgr/Android.bp b/fs_mgr/Android.bp -index f4410112f..fedea4359 100644 ---- a/fs_mgr/Android.bp -+++ b/fs_mgr/Android.bp -@@ -69,6 +69,7 @@ cc_defaults { - "file_wait.cpp", - "fs_mgr.cpp", - "fs_mgr_format.cpp", -+ "fs_mgr_verity.cpp", - "fs_mgr_dm_linear.cpp", - "fs_mgr_overlayfs.cpp", - "fs_mgr_roots.cpp", -diff --git a/fs_mgr/fs_mgr.cpp b/fs_mgr/fs_mgr.cpp -index 6f6c87e9e..07295ebd3 100644 ---- a/fs_mgr/fs_mgr.cpp -+++ b/fs_mgr/fs_mgr.cpp -@@ -1492,6 +1492,14 @@ MountAllResult fs_mgr_mount_all(Fstab* fstab, int mount_mode) { - // Skips mounting the device. - continue; - } -+ } else if ((current_entry.fs_mgr_flags.verify)) { -+ int rc = fs_mgr_setup_verity(¤t_entry, true); -+ if (rc == FS_MGR_SETUP_VERITY_DISABLED || rc == FS_MGR_SETUP_VERITY_SKIPPED) { -+ LINFO << "Verity disabled"; -+ } else if (rc != FS_MGR_SETUP_VERITY_SUCCESS) { -+ LERROR << "Could not set up verified partition, skipping!"; -+ continue; -+ } - } - - int last_idx_inspected; -@@ -1656,6 +1664,13 @@ int fs_mgr_umount_all(android::fs_mgr::Fstab* fstab) { - ret |= FsMgrUmountStatus::ERROR_VERITY; - continue; - } -+ } else if ((current_entry.fs_mgr_flags.verify)) { -+ if (!fs_mgr_teardown_verity(¤t_entry)) { -+ LERROR << "Failed to tear down verified partition on mount point: " -+ << current_entry.mount_point; -+ ret |= FsMgrUmountStatus::ERROR_VERITY; -+ continue; -+ } - } - } - return ret; -@@ -1952,6 +1967,14 @@ static int fs_mgr_do_mount_helper(Fstab* fstab, const std::string& n_name, - // Skips mounting the device. - continue; - } -+ } else if (fstab_entry.fs_mgr_flags.verify) { -+ int rc = fs_mgr_setup_verity(&fstab_entry, true); -+ if (rc == FS_MGR_SETUP_VERITY_DISABLED || rc == FS_MGR_SETUP_VERITY_SKIPPED) { -+ LINFO << "Verity disabled"; -+ } else if (rc != FS_MGR_SETUP_VERITY_SUCCESS) { -+ LERROR << "Could not set up verified partition, skipping!"; -+ continue; -+ } - } - - int retry_count = 2; -@@ -2171,7 +2194,7 @@ bool fs_mgr_swapon_all(const Fstab& fstab) { - } - - bool fs_mgr_is_verity_enabled(const FstabEntry& entry) { -- if (!entry.fs_mgr_flags.avb) { -+ if (!entry.fs_mgr_flags.verify && !entry.fs_mgr_flags.avb) { - return false; - } - -@@ -2182,12 +2205,17 @@ bool fs_mgr_is_verity_enabled(const FstabEntry& entry) { - return false; - } - -+ const char* status; - std::vector table; - if (!dm.GetTableStatus(mount_point, &table) || table.empty() || table[0].data.empty()) { -- return false; -+ if (!entry.fs_mgr_flags.verify_at_boot) { -+ return false; -+ } -+ status = "V"; -+ } else { -+ status = table[0].data.c_str(); - } - -- auto status = table[0].data.c_str(); - if (*status == 'C' || *status == 'V') { - return true; - } -@@ -2196,7 +2224,7 @@ bool fs_mgr_is_verity_enabled(const FstabEntry& entry) { - } - - std::optional fs_mgr_get_hashtree_info(const android::fs_mgr::FstabEntry& entry) { -- if (!entry.fs_mgr_flags.avb) { -+ if (!entry.fs_mgr_flags.verify && !entry.fs_mgr_flags.avb) { - return {}; - } - DeviceMapper& dm = DeviceMapper::Instance(); -@@ -2358,25 +2386,6 @@ bool fs_mgr_mount_overlayfs_fstab_entry(const FstabEntry& entry) { - return true; - } - --bool fs_mgr_load_verity_state(int* mode) { -- // unless otherwise specified, use EIO mode. -- *mode = VERITY_MODE_EIO; -- -- // The bootloader communicates verity mode via the kernel commandline -- std::string verity_mode; -- if (!fs_mgr_get_boot_config("veritymode", &verity_mode)) { -- return false; -- } -- -- if (verity_mode == "enforcing") { -- *mode = VERITY_MODE_DEFAULT; -- } else if (verity_mode == "logging") { -- *mode = VERITY_MODE_LOGGING; -- } -- -- return true; --} -- - bool fs_mgr_filesystem_available(const std::string& filesystem) { - std::string filesystems; - if (!android::base::ReadFileToString("/proc/filesystems", &filesystems)) return false; -diff --git a/fs_mgr/fs_mgr_fstab.cpp b/fs_mgr/fs_mgr_fstab.cpp -index ef7147ea9..fc4d080d0 100644 ---- a/fs_mgr/fs_mgr_fstab.cpp -+++ b/fs_mgr/fs_mgr_fstab.cpp -@@ -167,10 +167,12 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { - CheckFlag("recoveryonly", recovery_only); - CheckFlag("noemulatedsd", no_emulated_sd); - CheckFlag("notrim", no_trim); -+ CheckFlag("verify", verify); - CheckFlag("formattable", formattable); - CheckFlag("slotselect", slot_select); - CheckFlag("latemount", late_mount); - CheckFlag("nofail", no_fail); -+ CheckFlag("verifyatboot", verify_at_boot); - CheckFlag("quota", quota); - CheckFlag("avb", avb); - CheckFlag("logical", logical); -diff --git a/fs_mgr/fs_mgr_verity.cpp b/fs_mgr/fs_mgr_verity.cpp -new file mode 100644 -index 000000000..efa218078 ---- /dev/null -+++ b/fs_mgr/fs_mgr_verity.cpp -@@ -0,0 +1,557 @@ -+/* -+ * Copyright (C) 2013 The Android Open Source Project -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "fec/io.h" -+ -+#include "fs_mgr.h" -+#include "fs_mgr_dm_linear.h" -+#include "fs_mgr_priv.h" -+ -+// Realistically, this file should be part of the android::fs_mgr namespace; -+using namespace android::fs_mgr; -+ -+#define VERITY_TABLE_RSA_KEY "/verity_key" -+#define VERITY_TABLE_HASH_IDX 8 -+#define VERITY_TABLE_SALT_IDX 9 -+ -+#define VERITY_TABLE_OPT_RESTART "restart_on_corruption" -+#define VERITY_TABLE_OPT_LOGGING "ignore_corruption" -+#define VERITY_TABLE_OPT_IGNZERO "ignore_zero_blocks" -+ -+#define VERITY_TABLE_OPT_FEC_FORMAT \ -+ "use_fec_from_device %s fec_start %" PRIu64 " fec_blocks %" PRIu64 \ -+ " fec_roots %u " VERITY_TABLE_OPT_IGNZERO -+#define VERITY_TABLE_OPT_FEC_ARGS 9 -+ -+#define METADATA_MAGIC 0x01564c54 -+#define METADATA_TAG_MAX_LENGTH 63 -+#define METADATA_EOD "eod" -+ -+#define VERITY_LASTSIG_TAG "verity_lastsig" -+ -+#define VERITY_STATE_TAG "verity_state" -+#define VERITY_STATE_HEADER 0x83c0ae9d -+#define VERITY_STATE_VERSION 1 -+ -+#define VERITY_KMSG_RESTART "dm-verity device corrupted" -+#define VERITY_KMSG_BUFSIZE 1024 -+ -+#define READ_BUF_SIZE 4096 -+ -+#define __STRINGIFY(x) #x -+#define STRINGIFY(x) __STRINGIFY(x) -+ -+struct verity_state { -+ uint32_t header; -+ uint32_t version; -+ int32_t mode; -+}; -+ -+extern struct fs_info info; -+ -+static RSA *load_key(const char *path) -+{ -+ uint8_t key_data[ANDROID_PUBKEY_ENCODED_SIZE]; -+ -+ auto f = std::unique_ptr{fopen(path, "re"), fclose}; -+ if (!f) { -+ LERROR << "Can't open " << path; -+ return nullptr; -+ } -+ -+ if (!fread(key_data, sizeof(key_data), 1, f.get())) { -+ LERROR << "Could not read key!"; -+ return nullptr; -+ } -+ -+ RSA* key = nullptr; -+ if (!android_pubkey_decode(key_data, sizeof(key_data), &key)) { -+ LERROR << "Could not parse key!"; -+ return nullptr; -+ } -+ -+ return key; -+} -+ -+static int verify_table(const uint8_t *signature, size_t signature_size, -+ const char *table, uint32_t table_length) -+{ -+ RSA *key; -+ uint8_t hash_buf[SHA256_DIGEST_LENGTH]; -+ int retval = -1; -+ -+ // Hash the table -+ SHA256((uint8_t*)table, table_length, hash_buf); -+ -+ // Now get the public key from the keyfile -+ key = load_key(VERITY_TABLE_RSA_KEY); -+ if (!key) { -+ LERROR << "Couldn't load verity keys"; -+ goto out; -+ } -+ -+ // verify the result -+ if (!RSA_verify(NID_sha256, hash_buf, sizeof(hash_buf), signature, -+ signature_size, key)) { -+ LERROR << "Couldn't verify table"; -+ goto out; -+ } -+ -+ retval = 0; -+ -+out: -+ RSA_free(key); -+ return retval; -+} -+ -+static int verify_verity_signature(const struct fec_verity_metadata& verity) -+{ -+ if (verify_table(verity.signature, sizeof(verity.signature), -+ verity.table, verity.table_length) == 0 || -+ verify_table(verity.ecc_signature, sizeof(verity.ecc_signature), -+ verity.table, verity.table_length) == 0) { -+ return 0; -+ } -+ -+ return -1; -+} -+ -+static int invalidate_table(char *table, size_t table_length) -+{ -+ size_t n = 0; -+ size_t idx = 0; -+ size_t cleared = 0; -+ -+ while (n < table_length) { -+ if (table[n++] == ' ') { -+ ++idx; -+ } -+ -+ if (idx != VERITY_TABLE_HASH_IDX && idx != VERITY_TABLE_SALT_IDX) { -+ continue; -+ } -+ -+ while (n < table_length && table[n] != ' ') { -+ table[n++] = '0'; -+ } -+ -+ if (++cleared == 2) { -+ return 0; -+ } -+ } -+ -+ return -1; -+} -+ -+struct verity_table_params { -+ char *table; -+ int mode; -+ struct fec_ecc_metadata ecc; -+ const char *ecc_dev; -+}; -+ -+typedef bool (*format_verity_table_func)(char *buf, const size_t bufsize, -+ const struct verity_table_params *params); -+ -+static bool format_verity_table(char *buf, const size_t bufsize, -+ const struct verity_table_params *params) -+{ -+ const char *mode_flag = NULL; -+ int res = -1; -+ -+ if (params->mode == VERITY_MODE_RESTART) { -+ mode_flag = VERITY_TABLE_OPT_RESTART; -+ } else if (params->mode == VERITY_MODE_LOGGING) { -+ mode_flag = VERITY_TABLE_OPT_LOGGING; -+ } -+ -+ if (params->ecc.valid) { -+ if (mode_flag) { -+ res = snprintf(buf, bufsize, -+ "%s %u %s " VERITY_TABLE_OPT_FEC_FORMAT, -+ params->table, 1 + VERITY_TABLE_OPT_FEC_ARGS, mode_flag, params->ecc_dev, -+ params->ecc.start / FEC_BLOCKSIZE, params->ecc.blocks, params->ecc.roots); -+ } else { -+ res = snprintf(buf, bufsize, -+ "%s %u " VERITY_TABLE_OPT_FEC_FORMAT, -+ params->table, VERITY_TABLE_OPT_FEC_ARGS, params->ecc_dev, -+ params->ecc.start / FEC_BLOCKSIZE, params->ecc.blocks, params->ecc.roots); -+ } -+ } else if (mode_flag) { -+ res = snprintf(buf, bufsize, "%s 2 " VERITY_TABLE_OPT_IGNZERO " %s", params->table, -+ mode_flag); -+ } else { -+ res = snprintf(buf, bufsize, "%s 1 " VERITY_TABLE_OPT_IGNZERO, params->table); -+ } -+ -+ if (res < 0 || (size_t)res >= bufsize) { -+ LERROR << "Error building verity table; insufficient buffer size?"; -+ return false; -+ } -+ -+ return true; -+} -+ -+static bool format_legacy_verity_table(char *buf, const size_t bufsize, -+ const struct verity_table_params *params) -+{ -+ int res; -+ -+ if (params->mode == VERITY_MODE_EIO) { -+ res = strlcpy(buf, params->table, bufsize); -+ } else { -+ res = snprintf(buf, bufsize, "%s %d", params->table, params->mode); -+ } -+ -+ if (res < 0 || (size_t)res >= bufsize) { -+ LERROR << "Error building verity table; insufficient buffer size?"; -+ return false; -+ } -+ -+ return true; -+} -+ -+static int load_verity_table(android::dm::DeviceMapper& dm, const std::string& name, -+ uint64_t device_size, const struct verity_table_params* params, -+ format_verity_table_func format) { -+ android::dm::DmTable table; -+ table.set_readonly(true); -+ -+ char buffer[DM_BUF_SIZE]; -+ if (!format(buffer, sizeof(buffer), params)) { -+ LERROR << "Failed to format verity parameters"; -+ return -1; -+ } -+ -+ android::dm::DmTargetVerityString target(0, device_size / 512, buffer); -+ if (!table.AddTarget(std::make_unique(target))) { -+ LERROR << "Failed to add verity target"; -+ return -1; -+ } -+ if (!dm.CreateDevice(name, table)) { -+ LERROR << "Failed to create verity device \"" << name << "\""; -+ return -1; -+ } -+ return 0; -+} -+ -+static int read_partition(const char *path, uint64_t size) -+{ -+ char buf[READ_BUF_SIZE]; -+ ssize_t size_read; -+ android::base::unique_fd fd(TEMP_FAILURE_RETRY(open(path, O_RDONLY | O_CLOEXEC))); -+ -+ if (fd == -1) { -+ PERROR << "Failed to open " << path; -+ return -errno; -+ } -+ -+ while (size) { -+ size_read = TEMP_FAILURE_RETRY(read(fd, buf, READ_BUF_SIZE)); -+ if (size_read == -1) { -+ PERROR << "Error in reading partition " << path; -+ return -errno; -+ } -+ size -= size_read; -+ } -+ -+ return 0; -+} -+ -+bool fs_mgr_load_verity_state(int* mode) { -+ // unless otherwise specified, use EIO mode. -+ *mode = VERITY_MODE_EIO; -+ -+ // The bootloader communicates verity mode via the kernel commandline -+ std::string verity_mode; -+ if (!fs_mgr_get_boot_config("veritymode", &verity_mode)) { -+ return false; -+ } -+ -+ if (verity_mode == "enforcing") { -+ *mode = VERITY_MODE_DEFAULT; -+ } else if (verity_mode == "logging") { -+ *mode = VERITY_MODE_LOGGING; -+ } -+ -+ return true; -+} -+ -+// Update the verity table using the actual block device path. -+// Two cases: -+// Case-1: verity table is shared for devices with different by-name prefix. -+// Example: -+// verity table token: /dev/block/bootdevice/by-name/vendor -+// blk_device-1 (non-A/B): /dev/block/platform/soc.0/7824900.sdhci/by-name/vendor -+// blk_device-2 (A/B): /dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor_a -+// -+// Case-2: append A/B suffix in the verity table. -+// Example: -+// verity table token: /dev/block/platform/soc.0/7824900.sdhci/by-name/vendor -+// blk_device: /dev/block/platform/soc.0/7824900.sdhci/by-name/vendor_a -+static void update_verity_table_blk_device(const std::string& blk_device, char** table, -+ bool slot_select) { -+ bool updated = false; -+ std::string result, ab_suffix; -+ auto tokens = android::base::Split(*table, " "); -+ -+ // If slot_select is set, it means blk_device is already updated with ab_suffix. -+ if (slot_select) ab_suffix = fs_mgr_get_slot_suffix(); -+ -+ for (const auto& token : tokens) { -+ std::string new_token; -+ if (android::base::StartsWith(token, "/dev/block/")) { -+ if (token == blk_device) return; // no need to update if they're already the same. -+ std::size_t found1 = blk_device.find("by-name"); -+ std::size_t found2 = token.find("by-name"); -+ if (found1 != std::string::npos && found2 != std::string::npos && -+ blk_device.substr(found1) == token.substr(found2) + ab_suffix) { -+ new_token = blk_device; -+ } -+ } -+ -+ if (!new_token.empty()) { -+ updated = true; -+ LINFO << "Verity table: updated block device from '" << token << "' to '" << new_token -+ << "'"; -+ } else { -+ new_token = token; -+ } -+ -+ if (result.empty()) { -+ result = new_token; -+ } else { -+ result += " " + new_token; -+ } -+ } -+ -+ if (!updated) { -+ return; -+ } -+ -+ free(*table); -+ *table = strdup(result.c_str()); -+} -+ -+// prepares the verity enabled (MF_VERIFY / MF_VERIFYATBOOT) fstab record for -+// mount. The 'wait_for_verity_dev' parameter makes this function wait for the -+// verity device to get created before return -+int fs_mgr_setup_verity(FstabEntry* entry, bool wait_for_verity_dev) { -+ int retval = FS_MGR_SETUP_VERITY_FAIL; -+ int fd = -1; -+ std::string verity_blk_name; -+ struct fec_handle *f = NULL; -+ struct fec_verity_metadata verity; -+ struct verity_table_params params = { .table = NULL }; -+ -+ const std::string mount_point(basename(entry->mount_point.c_str())); -+ bool verified_at_boot = false; -+ -+ android::dm::DeviceMapper& dm = android::dm::DeviceMapper::Instance(); -+ -+ if (fec_open(&f, entry->blk_device.c_str(), O_RDONLY, FEC_VERITY_DISABLE, FEC_DEFAULT_ROOTS) < -+ 0) { -+ PERROR << "Failed to open '" << entry->blk_device << "'"; -+ return retval; -+ } -+ -+ // read verity metadata -+ if (fec_verity_get_metadata(f, &verity) < 0) { -+ PERROR << "Failed to get verity metadata '" << entry->blk_device << "'"; -+ // Allow verity disabled when the device is unlocked without metadata -+ if (fs_mgr_is_device_unlocked()) { -+ retval = FS_MGR_SETUP_VERITY_SKIPPED; -+ LWARNING << "Allow invalid metadata when the device is unlocked"; -+ } -+ goto out; -+ } -+ -+#ifdef ALLOW_ADBD_DISABLE_VERITY -+ if (verity.disabled) { -+ retval = FS_MGR_SETUP_VERITY_DISABLED; -+ LINFO << "Attempt to cleanly disable verity - only works in USERDEBUG/ENG"; -+ goto out; -+ } -+#endif -+ -+ // read ecc metadata -+ if (fec_ecc_get_metadata(f, ¶ms.ecc) < 0) { -+ params.ecc.valid = false; -+ } -+ -+ params.ecc_dev = entry->blk_device.c_str(); -+ -+ if (!fs_mgr_load_verity_state(¶ms.mode)) { -+ /* if accessing or updating the state failed, switch to the default -+ * safe mode. This makes sure the device won't end up in an endless -+ * restart loop, and no corrupted data will be exposed to userspace -+ * without a warning. */ -+ params.mode = VERITY_MODE_EIO; -+ } -+ -+ if (!verity.table) { -+ goto out; -+ } -+ -+ params.table = strdup(verity.table); -+ if (!params.table) { -+ goto out; -+ } -+ -+ // verify the signature on the table -+ if (verify_verity_signature(verity) < 0) { -+ // Allow signature verification error when the device is unlocked -+ if (fs_mgr_is_device_unlocked()) { -+ retval = FS_MGR_SETUP_VERITY_SKIPPED; -+ LWARNING << "Allow signature verification error when the device is unlocked"; -+ goto out; -+ } -+ if (params.mode == VERITY_MODE_LOGGING) { -+ // the user has been warned, allow mounting without dm-verity -+ retval = FS_MGR_SETUP_VERITY_SKIPPED; -+ goto out; -+ } -+ -+ // invalidate root hash and salt to trigger device-specific recovery -+ if (invalidate_table(params.table, verity.table_length) < 0) { -+ goto out; -+ } -+ } -+ -+ LINFO << "Enabling dm-verity for " << mount_point.c_str() -+ << " (mode " << params.mode << ")"; -+ -+ // Update the verity params using the actual block device path -+ update_verity_table_blk_device(entry->blk_device, ¶ms.table, -+ entry->fs_mgr_flags.slot_select); -+ -+ // load the verity mapping table -+ if (load_verity_table(dm, mount_point, verity.data_size, ¶ms, format_verity_table) == 0) { -+ goto loaded; -+ } -+ -+ if (params.ecc.valid) { -+ // kernel may not support error correction, try without -+ LINFO << "Disabling error correction for " << mount_point.c_str(); -+ params.ecc.valid = false; -+ -+ if (load_verity_table(dm, mount_point, verity.data_size, ¶ms, format_verity_table) == 0) { -+ goto loaded; -+ } -+ } -+ -+ // try the legacy format for backwards compatibility -+ if (load_verity_table(dm, mount_point, verity.data_size, ¶ms, format_legacy_verity_table) == -+ 0) { -+ goto loaded; -+ } -+ -+ if (params.mode != VERITY_MODE_EIO) { -+ // as a last resort, EIO mode should always be supported -+ LINFO << "Falling back to EIO mode for " << mount_point.c_str(); -+ params.mode = VERITY_MODE_EIO; -+ -+ if (load_verity_table(dm, mount_point, verity.data_size, ¶ms, -+ format_legacy_verity_table) == 0) { -+ goto loaded; -+ } -+ } -+ -+ LERROR << "Failed to load verity table for " << mount_point.c_str(); -+ goto out; -+ -+loaded: -+ if (!dm.GetDmDevicePathByName(mount_point, &verity_blk_name)) { -+ LERROR << "Couldn't get verity device number!"; -+ goto out; -+ } -+ -+ // mark the underlying block device as read-only -+ fs_mgr_set_blk_ro(entry->blk_device); -+ -+ // Verify the entire partition in one go -+ // If there is an error, allow it to mount as a normal verity partition. -+ if (entry->fs_mgr_flags.verify_at_boot) { -+ LINFO << "Verifying partition " << entry->blk_device << " at boot"; -+ int err = read_partition(verity_blk_name.c_str(), verity.data_size); -+ if (!err) { -+ LINFO << "Verified verity partition " << entry->blk_device << " at boot"; -+ verified_at_boot = true; -+ } -+ } -+ -+ // assign the new verity block device as the block device -+ if (!verified_at_boot) { -+ entry->blk_device = verity_blk_name; -+ } else if (!dm.DeleteDevice(mount_point)) { -+ LERROR << "Failed to remove verity device " << mount_point.c_str(); -+ goto out; -+ } -+ -+ // make sure we've set everything up properly -+ if (wait_for_verity_dev && !WaitForFile(entry->blk_device, 1s)) { -+ goto out; -+ } -+ -+ retval = FS_MGR_SETUP_VERITY_SUCCESS; -+ -+out: -+ if (fd != -1) { -+ close(fd); -+ } -+ -+ fec_close(f); -+ free(params.table); -+ -+ return retval; -+} -+ -+bool fs_mgr_teardown_verity(FstabEntry* entry) { -+ const std::string mount_point(basename(entry->mount_point.c_str())); -+ if (!android::fs_mgr::UnmapDevice(mount_point)) { -+ return false; -+ } -+ LINFO << "Unmapped verity device " << mount_point; -+ return true; -+} -diff --git a/fs_mgr/include_fstab/fstab/fstab.h b/fs_mgr/include_fstab/fstab/fstab.h -index 26ae4648b..c3e95b5de 100644 ---- a/fs_mgr/include_fstab/fstab/fstab.h -+++ b/fs_mgr/include_fstab/fstab/fstab.h -@@ -64,6 +64,7 @@ struct FstabEntry { - bool nonremovable : 1; - bool vold_managed : 1; - bool recovery_only : 1; -+ bool verify : 1; - bool no_emulated_sd : 1; // No emulated sdcard daemon; sd card is the only external - // storage. - bool no_trim : 1; -@@ -72,6 +73,7 @@ struct FstabEntry { - bool slot_select : 1; - bool late_mount : 1; - bool no_fail : 1; -+ bool verify_at_boot : 1; - bool quota : 1; - bool avb : 1; - bool logical : 1; -diff --git a/fs_mgr/tests/fs_mgr_test.cpp b/fs_mgr/tests/fs_mgr_test.cpp -index e33681c3f..6aeac9a9e 100644 ---- a/fs_mgr/tests/fs_mgr_test.cpp -+++ b/fs_mgr/tests/fs_mgr_test.cpp -@@ -192,6 +192,7 @@ bool CompareFlags(FstabEntry::FsMgrFlags& lhs, FstabEntry::FsMgrFlags& rhs) { - lhs.nonremovable == rhs.nonremovable && - lhs.vold_managed == rhs.vold_managed && - lhs.recovery_only == rhs.recovery_only && -+ lhs.verify == rhs.verify && - lhs.no_emulated_sd == rhs.no_emulated_sd && - lhs.no_trim == rhs.no_trim && - lhs.file_encryption == rhs.file_encryption && -@@ -199,6 +200,7 @@ bool CompareFlags(FstabEntry::FsMgrFlags& lhs, FstabEntry::FsMgrFlags& rhs) { - lhs.slot_select == rhs.slot_select && - lhs.late_mount == rhs.late_mount && - lhs.no_fail == rhs.no_fail && -+ lhs.verify_at_boot == rhs.verify_at_boot && - lhs.quota == rhs.quota && - lhs.avb == rhs.avb && - lhs.logical == rhs.logical && -@@ -407,7 +409,7 @@ TEST(fs_mgr, ReadFstabFromFile_FsMgrFlags) { - TemporaryFile tf; - ASSERT_TRUE(tf.fd != -1); - std::string fstab_contents = R"fs( --source none0 swap defaults wait,check,nonremovable,recoveryonly -+source none0 swap defaults wait,check,nonremovable,recoveryonly,verifyatboot,verify - source none1 swap defaults avb,noemulatedsd,notrim,formattable,nofail - source none2 swap defaults first_stage_mount,latemount,quota,logical - source none3 swap defaults checkpoint=block -@@ -428,6 +430,8 @@ source none5 swap defaults defaults - flags.check = true; - flags.nonremovable = true; - flags.recovery_only = true; -+ flags.verify_at_boot = true; -+ flags.verify = true; - EXPECT_TRUE(CompareFlags(flags, entry->fs_mgr_flags)); - } - -diff --git a/init/first_stage_mount.cpp b/init/first_stage_mount.cpp -index 84196de8a..8ef20ecf9 100644 ---- a/init/first_stage_mount.cpp -+++ b/init/first_stage_mount.cpp -@@ -81,7 +81,8 @@ class FirstStageMount { - FirstStageMount(Fstab fstab); - virtual ~FirstStageMount() = default; - -- // The factory method to create a FirstStageMountVBootV2 instance. -+ // The factory method to create either FirstStageMountVBootV1 or FirstStageMountVBootV2 -+ // based on device tree configurations. - static Result> Create(); - bool DoCreateDevices(); // Creates devices and logical partitions from storage devices - bool DoFirstStageMount(); // Mounts fstab entries read from device tree. -@@ -124,6 +125,16 @@ class FirstStageMount { - std::map> preload_avb_key_blobs_; - }; - -+class FirstStageMountVBootV1 : public FirstStageMount { -+ public: -+ FirstStageMountVBootV1(Fstab fstab) : FirstStageMount(std::move(fstab)) {} -+ ~FirstStageMountVBootV1() override = default; -+ -+ protected: -+ bool GetDmVerityDevices(std::set* devices) override; -+ bool SetUpDmVerity(FstabEntry* fstab_entry) override; -+}; -+ - class FirstStageMountVBootV2 : public FirstStageMount { - public: - friend void SetInitAvbVersionInRecovery(); -@@ -191,6 +202,8 @@ static bool GetRootEntry(FstabEntry* root_entry) { - auto& dm = android::dm::DeviceMapper::Instance(); - if (dm.GetState("vroot") != android::dm::DmDeviceState::INVALID) { - root_entry->fs_mgr_flags.avb = true; -+ } else { -+ root_entry->fs_mgr_flags.verify = true; - } - return true; - } -@@ -230,7 +243,11 @@ Result> FirstStageMount::Create() { - return fstab.error(); - } - -- return std::make_unique(std::move(*fstab)); -+ if (IsDtVbmetaCompatible(*fstab)) { -+ return std::make_unique(std::move(*fstab)); -+ } else { -+ return std::make_unique(std::move(*fstab)); -+ } - } - - bool FirstStageMount::DoCreateDevices() { -@@ -662,6 +679,56 @@ void FirstStageMount::UseDsuIfPresent() { - TransformFstabForDsu(&fstab_, active_dsu, dsu_partitions); - } - -+bool FirstStageMountVBootV1::GetDmVerityDevices(std::set* devices) { -+ need_dm_verity_ = false; -+ -+ for (const auto& fstab_entry : fstab_) { -+ // Don't allow verifyatboot in the first stage. -+ if (fstab_entry.fs_mgr_flags.verify_at_boot) { -+ LOG(ERROR) << "Partitions can't be verified at boot"; -+ return false; -+ } -+ // Checks for verified partitions. -+ if (fstab_entry.fs_mgr_flags.verify) { -+ need_dm_verity_ = true; -+ } -+ } -+ -+ // Includes the partition names of fstab records. -+ // Notes that fstab_rec->blk_device has A/B suffix updated by fs_mgr when A/B is used. -+ for (const auto& fstab_entry : fstab_) { -+ // Skip pseudo filesystems. -+ if (fstab_entry.fs_type == "overlay") { -+ continue; -+ } -+ if (!fstab_entry.fs_mgr_flags.logical) { -+ devices->emplace(basename(fstab_entry.blk_device.c_str())); -+ } -+ } -+ -+ return true; -+} -+ -+bool FirstStageMountVBootV1::SetUpDmVerity(FstabEntry* fstab_entry) { -+ if (fstab_entry->fs_mgr_flags.verify) { -+ int ret = fs_mgr_setup_verity(fstab_entry, false /* wait_for_verity_dev */); -+ switch (ret) { -+ case FS_MGR_SETUP_VERITY_SKIPPED: -+ case FS_MGR_SETUP_VERITY_DISABLED: -+ LOG(INFO) << "Verity disabled/skipped for '" << fstab_entry->mount_point << "'"; -+ return true; -+ case FS_MGR_SETUP_VERITY_SUCCESS: -+ // The exact block device name (fstab_rec->blk_device) is changed to -+ // "/dev/block/dm-XX". Needs to create it because ueventd isn't started in init -+ // first stage. -+ return block_dev_init_.InitDmDevice(fstab_entry->blk_device); -+ default: -+ return false; -+ } -+ } -+ return true; // Returns true to mount the partition. -+} -+ - // First retrieve any vbmeta partitions from device tree (legacy) then read through the fstab - // for any further vbmeta partitions. - FirstStageMountVBootV2::FirstStageMountVBootV2(Fstab fstab) --- -2.34.1 - diff --git a/patches_treble_td/platform_system_core/0005-init-Do-not-start-console-service-when-debuggable.patch b/patches_treble_td/platform_system_core/0003-init-Do-not-start-console-service-when-debuggable.patch similarity index 78% rename from patches_treble_td/platform_system_core/0005-init-Do-not-start-console-service-when-debuggable.patch rename to patches_treble_td/platform_system_core/0003-init-Do-not-start-console-service-when-debuggable.patch index cf9284f..d25aa8b 100644 --- a/patches_treble_td/platform_system_core/0005-init-Do-not-start-console-service-when-debuggable.patch +++ b/patches_treble_td/platform_system_core/0003-init-Do-not-start-console-service-when-debuggable.patch @@ -1,7 +1,7 @@ -From e9a08475befb7dd2c66dcc6b58c829193e7a319d Mon Sep 17 00:00:00 2001 +From 9b1c2568461f71705a868cf384427680b6f44f09 Mon Sep 17 00:00:00 2001 From: Isaac Chen Date: Wed, 23 Jun 2021 13:07:30 +0800 -Subject: [PATCH 05/26] init: Do not start console service when debuggable +Subject: [PATCH 03/26] init: Do not start console service when debuggable Google added a check for this in R, when it's running it will show a notification about that performance is impacted. @@ -13,10 +13,10 @@ Change-Id: I34cfd6b42d3b9aee4b3e63181480cfb8b1255f29 1 file changed, 3 deletions(-) diff --git a/rootdir/init.rc b/rootdir/init.rc -index 7da264611..8b037bc9a 100644 +index eb67c8cd0..c24c8e7a8 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc -@@ -1312,9 +1312,6 @@ on property:ro.debuggable=1 +@@ -1290,9 +1290,6 @@ on property:ro.debuggable=1 # Give reads to anyone for the accessibility trace folder on debug builds. chmod 0775 /data/misc/a11ytrace diff --git a/patches_treble_td/platform_system_core/0004-Panic-into-recovery-rather-than-bootloader.patch b/patches_treble_td/platform_system_core/0004-Panic-into-recovery-rather-than-bootloader.patch new file mode 100644 index 0000000..2836aaf --- /dev/null +++ b/patches_treble_td/platform_system_core/0004-Panic-into-recovery-rather-than-bootloader.patch @@ -0,0 +1,29 @@ +From ff122c00b53f0b2f1ec055b6c8e17b07965855fc Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Wed, 4 Sep 2019 21:11:48 +0200 +Subject: [PATCH 04/26] Panic into recovery rather than bootloader + +Getting last_kmsg/pstore from bootloader isn't possible for other people +than the OEM, but we have TWRP to access last_kmsg/pstore + +Change-Id: If04bb6572dc66677d7b44f7d302b2d69ce526200 +--- + init/reboot_utils.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/init/reboot_utils.cpp b/init/reboot_utils.cpp +index 547b1869f..dd0fbbfe8 100644 +--- a/init/reboot_utils.cpp ++++ b/init/reboot_utils.cpp +@@ -37,7 +37,7 @@ + namespace android { + namespace init { + +-static std::string init_fatal_reboot_target = "bootloader"; ++static std::string init_fatal_reboot_target = "recovery"; + static bool init_fatal_panic = false; + + // this needs to read the /proc/* files directly because it is called before +-- +2.34.1 + diff --git a/patches_treble_td/platform_system_core/0007-Detect-allowed-sdcard-options-based-on-vndk.patch b/patches_treble_td/platform_system_core/0005-Detect-allowed-sdcard-options-based-on-vndk.patch similarity index 93% rename from patches_treble_td/platform_system_core/0007-Detect-allowed-sdcard-options-based-on-vndk.patch rename to patches_treble_td/platform_system_core/0005-Detect-allowed-sdcard-options-based-on-vndk.patch index b4f477f..3541cdf 100644 --- a/patches_treble_td/platform_system_core/0007-Detect-allowed-sdcard-options-based-on-vndk.patch +++ b/patches_treble_td/platform_system_core/0005-Detect-allowed-sdcard-options-based-on-vndk.patch @@ -1,7 +1,7 @@ -From 51fe2eb7c35e6edfc20e4d28cc6b442b71f5605c Mon Sep 17 00:00:00 2001 +From 45794a5fa21a9b1c1f826a5de3122bd91bfff3e6 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 14 Aug 2018 19:33:03 +0200 -Subject: [PATCH 07/26] Detect allowed sdcard options based on vndk +Subject: [PATCH 05/26] Detect allowed sdcard options based on vndk Some kernel crashes when using too recent sdcardfs options diff --git a/patches_treble_td/platform_system_core/0006-Panic-into-recovery-rather-than-bootloader.patch b/patches_treble_td/platform_system_core/0006-Panic-into-recovery-rather-than-bootloader.patch deleted file mode 100644 index ad2ae37..0000000 --- a/patches_treble_td/platform_system_core/0006-Panic-into-recovery-rather-than-bootloader.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5b87237f86c1c0c933f940b92ffca63b1782751c Mon Sep 17 00:00:00 2001 -From: Pierre-Hugues Husson -Date: Wed, 4 Sep 2019 21:11:48 +0200 -Subject: [PATCH 06/26] Panic into recovery rather than bootloader - -Getting last_kmsg/pstore from bootloader isn't possible for other people -than the OEM, but we have TWRP to access last_kmsg/pstore - -Change-Id: If04bb6572dc66677d7b44f7d302b2d69ce526200 ---- - init/reboot_utils.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/init/reboot_utils.cpp b/init/reboot_utils.cpp -index e6b868e79..1c8fed965 100644 ---- a/init/reboot_utils.cpp -+++ b/init/reboot_utils.cpp -@@ -36,7 +36,7 @@ - namespace android { - namespace init { - --static std::string init_fatal_reboot_target = "bootloader"; -+static std::string init_fatal_reboot_target = "recovery"; - static bool init_fatal_panic = false; - - // this needs to read the /proc/* files directly because it is called before -@@ -73,7 +73,7 @@ void SetFatalRebootTarget(const std::optional& reboot_target) { - init_fatal_reboot_target = value; - } - }); -- // We already default to bootloader if no setting is provided. -+ // We already default to recovery if no setting is provided. - } else { - const std::string kRebootTargetStringPattern = kRebootTargetString + "="; - start_pos += sizeof(kRebootTargetStringPattern) - 1; --- -2.34.1 - diff --git a/patches_treble_td/platform_system_core/0008-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch b/patches_treble_td/platform_system_core/0006-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch similarity index 83% rename from patches_treble_td/platform_system_core/0008-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch rename to patches_treble_td/platform_system_core/0006-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch index 2928fc0..ae50f69 100644 --- a/patches_treble_td/platform_system_core/0008-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch +++ b/patches_treble_td/platform_system_core/0006-Ugly-but-secure-Set-dev-uinput-as-0666-to-fix-finger.patch @@ -1,7 +1,7 @@ -From a000472c7fcc95c6bad5908ae0c3cd67af555d47 Mon Sep 17 00:00:00 2001 +From 37d343f47891d32e166d5e07405480dbc3997eae Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 1 Nov 2019 18:22:13 +0100 -Subject: [PATCH 08/26] Ugly but secure: Set /dev/uinput as 0666 to fix +Subject: [PATCH 06/26] Ugly but secure: Set /dev/uinput as 0666 to fix fingerprint sensor on some devices cf https://github.com/phhusson/device_phh_treble/pull/122/commits/e000d69c286b6686777ea6f1867f379e30273e48 @@ -15,10 +15,10 @@ Change-Id: Id374e781957927d5604cb96c7a39b3fb28b3a6c5 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/ueventd.rc b/rootdir/ueventd.rc -index 0b7ffb8ea..e06e453b1 100644 +index 3927501a4..d0ab3f7bb 100644 --- a/rootdir/ueventd.rc +++ b/rootdir/ueventd.rc -@@ -54,7 +54,7 @@ subsystem dma_heap +@@ -60,7 +60,7 @@ subsystem vfio # these should not be world writable /dev/uhid 0660 uhid uhid diff --git a/patches_treble_td/platform_system_core/0009-Revert-Set-system-xbin-permissions-to-750.patch b/patches_treble_td/platform_system_core/0007-Revert-Set-system-xbin-permissions-to-750.patch similarity index 82% rename from patches_treble_td/platform_system_core/0009-Revert-Set-system-xbin-permissions-to-750.patch rename to patches_treble_td/platform_system_core/0007-Revert-Set-system-xbin-permissions-to-750.patch index 3901117..5ad6512 100644 --- a/patches_treble_td/platform_system_core/0009-Revert-Set-system-xbin-permissions-to-750.patch +++ b/patches_treble_td/platform_system_core/0007-Revert-Set-system-xbin-permissions-to-750.patch @@ -1,7 +1,7 @@ -From 1d2dd2652d562fc1fc99a9dcdf984d7cd43bbfce Mon Sep 17 00:00:00 2001 +From 9befecd06ed6d04af914c3c70e43d264afd8ccb1 Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Tue, 1 Feb 2022 13:48:35 +0000 -Subject: [PATCH 09/26] Revert "Set /system/xbin permissions to 750." +Subject: [PATCH 07/26] Revert "Set /system/xbin permissions to 750." This reverts commit 42a1a126e554a8bca31d0afc832848b7b0fa1f4e. @@ -11,10 +11,10 @@ Change-Id: I277def5153616d6f00bc877e6170b7fed7cd799d 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcutils/fs_config.cpp b/libcutils/fs_config.cpp -index f90a1bc3c..8aadc3bb7 100644 +index 919be2ff2..9ab7f4305 100644 --- a/libcutils/fs_config.cpp +++ b/libcutils/fs_config.cpp -@@ -87,7 +87,7 @@ static const struct fs_path_config android_dirs[] = { +@@ -83,7 +83,7 @@ static const struct fs_path_config android_dirs[] = { { 00751, AID_ROOT, AID_SHELL, 0, "system/bin" }, { 00755, AID_ROOT, AID_ROOT, 0, "system/etc/ppp" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/vendor" }, diff --git a/patches_treble_td/platform_system_core/0010-Add-my-own-OTA-mechanism-going-over-data.patch b/patches_treble_td/platform_system_core/0008-Add-my-own-OTA-mechanism-going-over-data.patch similarity index 84% rename from patches_treble_td/platform_system_core/0010-Add-my-own-OTA-mechanism-going-over-data.patch rename to patches_treble_td/platform_system_core/0008-Add-my-own-OTA-mechanism-going-over-data.patch index fb1007d..6b61bc2 100644 --- a/patches_treble_td/platform_system_core/0010-Add-my-own-OTA-mechanism-going-over-data.patch +++ b/patches_treble_td/platform_system_core/0008-Add-my-own-OTA-mechanism-going-over-data.patch @@ -1,7 +1,7 @@ -From 23956400bf831101f68a2614d0b8a3aa0dd413b3 Mon Sep 17 00:00:00 2001 +From fd2982fd1eb598afb5ac9b51636718ae45d315e0 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 22 Jan 2022 14:34:45 -0500 -Subject: [PATCH 10/26] Add my own OTA mechanism going over /data +Subject: [PATCH 08/26] Add my own OTA mechanism going over /data Change-Id: I9cacff2d761affa0376b4bb8ca63353a9d95b5de --- @@ -23,23 +23,23 @@ index c416f4df4..b8eba80aa 100644 FiemapStatus ImageManager::CreateBackingImage( diff --git a/init/selinux.cpp b/init/selinux.cpp -index 907eb80e3..636c16bb6 100644 +index 1f211ddfa..bd7f02df8 100644 --- a/init/selinux.cpp +++ b/init/selinux.cpp -@@ -62,6 +62,9 @@ +@@ -58,6 +58,9 @@ + #include #include #include - #include +#include +#include +#include - #include #include -@@ -80,12 +83,16 @@ - #include + #include +@@ -71,12 +74,16 @@ + #include + #include #include - #include +#include +#include +#include @@ -53,7 +53,7 @@ index 907eb80e3..636c16bb6 100644 using namespace std::string_literals; -@@ -94,6 +101,7 @@ using android::base::Timer; +@@ -85,6 +92,7 @@ using android::base::Timer; using android::base::unique_fd; using android::fs_mgr::AvbHandle; using android::snapshot::SnapshotManager; @@ -61,8 +61,8 @@ index 907eb80e3..636c16bb6 100644 namespace android { namespace init { -@@ -954,6 +962,60 @@ static void LoadSelinuxPolicy(std::string& policy) { - } +@@ -732,6 +740,60 @@ void LoadSelinuxPolicyMicrodroid() { + LoadSelinuxPolicy(policy); } +static void setupPhhOta() { @@ -122,15 +122,15 @@ index 907eb80e3..636c16bb6 100644 // The SELinux setup process is carefully orchestrated around snapuserd. Policy // must be loaded off dynamic partitions, and during an OTA, those partitions // cannot be read without snapuserd. But, with kernel-privileged snapuserd -@@ -976,6 +1038,8 @@ int SetupSelinux(char** argv) { - if (REBOOT_BOOTLOADER_ON_PANIC) { - InstallRebootSignalHandlers(); - } +@@ -748,6 +810,8 @@ void LoadSelinuxPolicyMicrodroid() { + // + // After this sequence, it is safe to enable enforcing mode and continue booting. + void LoadSelinuxPolicyAndroid() { + setenv("PHH_STEP1", (char*)"1", 1); + setupPhhOta(); + MountMissingSystemPartitions(); - boot_clock::time_point start_time = boot_clock::now(); - + LOG(INFO) << "Opening SELinux policy"; -- 2.34.1 diff --git a/patches_treble_td/platform_system_core/0011-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch b/patches_treble_td/platform_system_core/0009-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch similarity index 65% rename from patches_treble_td/platform_system_core/0011-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch rename to patches_treble_td/platform_system_core/0009-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch index bf14871..ca3436b 100644 --- a/patches_treble_td/platform_system_core/0011-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch +++ b/patches_treble_td/platform_system_core/0009-fs_mgr-Keep-allowing-encryptable-fstab-flag.patch @@ -1,20 +1,20 @@ -From 00c28b677c460fd8b2e802d14c670c25086fc595 Mon Sep 17 00:00:00 2001 +From 611de800d440dce3c7780bbfcb0bd81d17ec5ed9 Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Mon, 3 Oct 2022 13:50:36 +0100 -Subject: [PATCH 11/26] fs_mgr: Keep allowing encryptable fstab flag +Subject: [PATCH 09/26] fs_mgr: Keep allowing encryptable fstab flag Some users still use "encryptable" flag while being unencrypted. Let them still boot their devices. Change-Id: Id2554d6563a869bb5bcf39c67b0322484bdab0c9 --- - fs_mgr/fs_mgr_fstab.cpp | 11 ----------- - 1 file changed, 11 deletions(-) + fs_mgr/libfstab/fstab.cpp | 10 ---------- + 1 file changed, 10 deletions(-) -diff --git a/fs_mgr/fs_mgr_fstab.cpp b/fs_mgr/fs_mgr_fstab.cpp -index fc4d080d0..885f752c3 100644 ---- a/fs_mgr/fs_mgr_fstab.cpp -+++ b/fs_mgr/fs_mgr_fstab.cpp -@@ -323,17 +323,6 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { +diff --git a/fs_mgr/libfstab/fstab.cpp b/fs_mgr/libfstab/fstab.cpp +index f6a20f98b..f793b5202 100644 +--- a/fs_mgr/libfstab/fstab.cpp ++++ b/fs_mgr/libfstab/fstab.cpp +@@ -324,16 +324,6 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { } } @@ -23,8 +23,7 @@ index fc4d080d0..885f752c3 100644 - // some recovery fstabs still contain the FDE options since they didn't do - // anything in recovery mode anyway (except possibly to cause the - // reservation of a crypto footer) and thus never got removed. -- if (entry->fs_mgr_flags.crypt && !entry->fs_mgr_flags.vold_managed && -- access("/system/bin/recovery", F_OK) != 0) { +- if (entry->fs_mgr_flags.crypt && !entry->fs_mgr_flags.vold_managed && !InRecovery()) { - LERROR << "FDE is no longer supported; 'encryptable' can only be used for adoptable " - "storage"; - return false; diff --git a/patches_treble_td/platform_system_core/0012-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch b/patches_treble_td/platform_system_core/0010-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch similarity index 74% rename from patches_treble_td/platform_system_core/0012-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch rename to patches_treble_td/platform_system_core/0010-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch index 71533d0..1225d47 100644 --- a/patches_treble_td/platform_system_core/0012-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch +++ b/patches_treble_td/platform_system_core/0010-FDE-is-dead.-Fallback-FDE-to-no-encryption-and-FDE-F.patch @@ -1,18 +1,18 @@ -From 6eb7d2359f056e1d42a100ddf8e4c805e375f7c8 Mon Sep 17 00:00:00 2001 +From d2ff33c433010b05ad00117aa9a6a1c56aaa29d7 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 10 Nov 2022 13:30:50 -0500 -Subject: [PATCH 12/26] FDE is dead. Fallback FDE to no encryption, and FDE+FBE +Subject: [PATCH 10/26] FDE is dead. Fallback FDE to no encryption, and FDE+FBE to FBE --- - fs_mgr/fs_mgr_fstab.cpp | 7 +++---- + fs_mgr/libfstab/fstab.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) -diff --git a/fs_mgr/fs_mgr_fstab.cpp b/fs_mgr/fs_mgr_fstab.cpp -index 885f752c3..6a24d506c 100644 ---- a/fs_mgr/fs_mgr_fstab.cpp -+++ b/fs_mgr/fs_mgr_fstab.cpp -@@ -189,7 +189,7 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { +diff --git a/fs_mgr/libfstab/fstab.cpp b/fs_mgr/libfstab/fstab.cpp +index f793b5202..bccdbe7f9 100644 +--- a/fs_mgr/libfstab/fstab.cpp ++++ b/fs_mgr/libfstab/fstab.cpp +@@ -188,7 +188,7 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { #undef CheckFlag // Then handle flags that take an argument. @@ -21,7 +21,7 @@ index 885f752c3..6a24d506c 100644 // The "encryptable" flag identifies adoptable storage volumes. The // argument to this flag is ignored, but it should be "userdata". // -@@ -199,9 +199,8 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { +@@ -198,9 +198,8 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) { // storage volumes. Today, FDE is no longer supported, leaving only // the adoptable storage volume meaning for this flag. entry->fs_mgr_flags.crypt = true; diff --git a/patches_treble_td/platform_system_core/0013-Let-system-override-adb-secure-props-so-we-dont-get-.patch b/patches_treble_td/platform_system_core/0011-Let-system-override-adb-secure-props-so-we-dont-get-.patch similarity index 80% rename from patches_treble_td/platform_system_core/0013-Let-system-override-adb-secure-props-so-we-dont-get-.patch rename to patches_treble_td/platform_system_core/0011-Let-system-override-adb-secure-props-so-we-dont-get-.patch index aabfe2c..5da9f6c 100644 --- a/patches_treble_td/platform_system_core/0013-Let-system-override-adb-secure-props-so-we-dont-get-.patch +++ b/patches_treble_td/platform_system_core/0011-Let-system-override-adb-secure-props-so-we-dont-get-.patch @@ -1,7 +1,7 @@ -From d19399bcbab5046bac28113b49c63542eece92ea Mon Sep 17 00:00:00 2001 +From 9eddbb8c9e97dcc6a8d3a8593b733a23df77befa Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 9 Dec 2022 13:57:10 -0500 -Subject: [PATCH 13/26] Let system override adb/secure props, so we dont get +Subject: [PATCH 11/26] Let system override adb/secure props, so we dont get stuck in ro.adb.secure=1 vendors --- @@ -9,10 +9,10 @@ Subject: [PATCH 13/26] Let system override adb/secure props, so we dont get 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init/property_service.cpp b/init/property_service.cpp -index b17fa6dfc..0f21bfde5 100644 +index d34d24f89..ed785760e 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp -@@ -788,7 +788,7 @@ static void LoadProperties(char* data, const char* filter, const char* filename, +@@ -802,7 +802,7 @@ static void LoadProperties(char* data, const char* filter, const char* filename, } else if (it->second != value) { LOG(WARNING) << "Overriding previous property '" << key << "':'" << it->second << "' with new value '" << value << "'"; diff --git a/patches_treble_td/platform_system_core/0014-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch b/patches_treble_td/platform_system_core/0012-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch similarity index 81% rename from patches_treble_td/platform_system_core/0014-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch rename to patches_treble_td/platform_system_core/0012-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch index 5cdde30..8b8402e 100644 --- a/patches_treble_td/platform_system_core/0014-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch +++ b/patches_treble_td/platform_system_core/0012-Allow-apex-on-5.0-kernels.-This-is-needed-because-on.patch @@ -1,27 +1,28 @@ -From 90c062deaf75ca5271ab4e53d9dd8a26e35452c6 Mon Sep 17 00:00:00 2001 +From 62dbf37d4c662cc310cf268b1a6da57bb0a29034 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 28 Apr 2023 12:29:05 -0400 -Subject: [PATCH 14/26] Allow apex on > 5.0 kernels. This is needed because on +Subject: [PATCH 12/26] Allow apex on > 5.0 kernels. This is needed because on Pixels, camera HAL are exclusively in vendor apex Change-Id: I334cde4c5557b0ff70d550205c5bb727d4b5dbf5 --- - init/property_service.cpp | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) + init/property_service.cpp | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/init/property_service.cpp b/init/property_service.cpp -index 0f21bfde5..2a162b805 100644 +index ed785760e..5fda97afb 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp -@@ -62,6 +62,7 @@ +@@ -64,6 +64,8 @@ #include #include #include +#include - ++ #include "debug_ramdisk.h" #include "epoll.h" -@@ -691,6 +692,16 @@ uint32_t InitPropertySet(const std::string& name, const std::string& value) { + #include "init.h" +@@ -705,6 +707,16 @@ uint32_t InitPropertySet(const std::string& name, const std::string& value) { static Result load_properties_from_file(const char*, const char*, std::map*); @@ -38,7 +39,7 @@ index 0f21bfde5..2a162b805 100644 /* * Filter is used to decide which properties to load: NULL loads all keys, * "ro.foo.*" is a prefix match, and "ro.foo.bar" is an exact match. -@@ -788,7 +799,9 @@ static void LoadProperties(char* data, const char* filter, const char* filename, +@@ -802,7 +814,9 @@ static void LoadProperties(char* data, const char* filter, const char* filename, } else if (it->second != value) { LOG(WARNING) << "Overriding previous property '" << key << "':'" << it->second << "' with new value '" << value << "'"; diff --git a/patches_treble_td/platform_system_core/0015-watchdogd-Support-pinging-two-watchdogs.patch b/patches_treble_td/platform_system_core/0013-watchdogd-Support-pinging-two-watchdogs.patch similarity index 94% rename from patches_treble_td/platform_system_core/0015-watchdogd-Support-pinging-two-watchdogs.patch rename to patches_treble_td/platform_system_core/0013-watchdogd-Support-pinging-two-watchdogs.patch index 5036769..d7094b6 100644 --- a/patches_treble_td/platform_system_core/0015-watchdogd-Support-pinging-two-watchdogs.patch +++ b/patches_treble_td/platform_system_core/0013-watchdogd-Support-pinging-two-watchdogs.patch @@ -1,7 +1,7 @@ -From 643a34d53a26b34fc0625d688ee5589b9794b700 Mon Sep 17 00:00:00 2001 +From d0218468cf8ee9113df9c208a6500bd0640667e2 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 27 May 2023 05:36:21 -0400 -Subject: [PATCH 15/26] watchdogd: Support pinging two watchdogs +Subject: [PATCH 13/26] watchdogd: Support pinging two watchdogs --- watchdogd/watchdogd.cpp | 33 +++++++++++++++++++++++++++++++++ diff --git a/patches_treble_td/platform_system_core/0016-healthd-offline-charger-fix-screen-off-3-3.patch b/patches_treble_td/platform_system_core/0014-healthd-offline-charger-fix-screen-off-3-3.patch similarity index 98% rename from patches_treble_td/platform_system_core/0016-healthd-offline-charger-fix-screen-off-3-3.patch rename to patches_treble_td/platform_system_core/0014-healthd-offline-charger-fix-screen-off-3-3.patch index 348fa7f..e772a05 100644 --- a/patches_treble_td/platform_system_core/0016-healthd-offline-charger-fix-screen-off-3-3.patch +++ b/patches_treble_td/platform_system_core/0014-healthd-offline-charger-fix-screen-off-3-3.patch @@ -1,7 +1,7 @@ -From bb3b8b22e14ab0197cd09b97d5ead897d43925d1 Mon Sep 17 00:00:00 2001 +From 0a6db48185d2b6ff0a9511473b8c3818e25d68eb Mon Sep 17 00:00:00 2001 From: Raphael Mounier Date: Sun, 21 May 2023 16:15:42 +0200 -Subject: [PATCH 16/26] healthd : offline charger fix screen off 3/3 +Subject: [PATCH 14/26] healthd : offline charger fix screen off 3/3 When the phone is charging, the animation never turns off on huawei phones (kernel 4.9). This patch allows you to turn it off by setting the brightness to 0. This problem may also exist on other phone models. diff --git a/patches_treble_td/platform_system_core/0017-Disable-quotas-on-legacy-devices-with-encryption-dis.patch b/patches_treble_td/platform_system_core/0015-Disable-quotas-on-legacy-devices-with-encryption-dis.patch similarity index 86% rename from patches_treble_td/platform_system_core/0017-Disable-quotas-on-legacy-devices-with-encryption-dis.patch rename to patches_treble_td/platform_system_core/0015-Disable-quotas-on-legacy-devices-with-encryption-dis.patch index 487208b..82ac9f9 100644 --- a/patches_treble_td/platform_system_core/0017-Disable-quotas-on-legacy-devices-with-encryption-dis.patch +++ b/patches_treble_td/platform_system_core/0015-Disable-quotas-on-legacy-devices-with-encryption-dis.patch @@ -1,7 +1,7 @@ -From eac5654ab944a43d8805696637759a5adc60dbfb Mon Sep 17 00:00:00 2001 +From 8f52eb3eff28346ad076cbbfd5f161cdc4e78d2b Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 6 Jun 2023 16:17:11 +0100 -Subject: [PATCH 17/26] Disable quotas on legacy devices with encryption +Subject: [PATCH 15/26] Disable quotas on legacy devices with encryption disabled Source: https://t.me/phhtreblebuilders/20521 and https://t.me/phhtreblebuilders/20546 @@ -10,7 +10,7 @@ Source: https://t.me/phhtreblebuilders/20521 and https://t.me/phhtreblebuilders/ 1 file changed, 7 insertions(+) diff --git a/fs_mgr/fs_mgr.cpp b/fs_mgr/fs_mgr.cpp -index 07295ebd3..a1659c938 100644 +index 3e0b43d28..a6e6d1508 100644 --- a/fs_mgr/fs_mgr.cpp +++ b/fs_mgr/fs_mgr.cpp @@ -378,6 +378,13 @@ static void tune_quota(const std::string& blk_device, const FstabEntry& entry, diff --git a/patches_treble_td/platform_system_core/0018-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch b/patches_treble_td/platform_system_core/0016-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch similarity index 80% rename from patches_treble_td/platform_system_core/0018-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch rename to patches_treble_td/platform_system_core/0016-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch index 2bbaaa9..65a9b02 100644 --- a/patches_treble_td/platform_system_core/0018-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch +++ b/patches_treble_td/platform_system_core/0016-Add-vendor-firmware_mnt.-Moto-Razr-2019-look-for-fir.patch @@ -1,7 +1,7 @@ -From 66fd4ce2bfcf9baeda64836d58c48cc43623a49a Mon Sep 17 00:00:00 2001 +From 65088ddabf5831202b48e3698b5fa265706fa5f9 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 11 Jul 2023 14:52:40 -0400 -Subject: [PATCH 18/26] Add /vendor/firmware_mnt. Moto Razr 2019 look for +Subject: [PATCH 16/26] Add /vendor/firmware_mnt. Moto Razr 2019 look for firmwares (modem, sensors, ...) there --- @@ -9,7 +9,7 @@ Subject: [PATCH 18/26] Add /vendor/firmware_mnt. Moto Razr 2019 look for 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/ueventd.rc b/rootdir/ueventd.rc -index e06e453b1..0af6948f8 100644 +index d0ab3f7bb..39e8fe9eb 100644 --- a/rootdir/ueventd.rc +++ b/rootdir/ueventd.rc @@ -1,7 +1,7 @@ diff --git a/patches_treble_td/platform_system_core/0019-Ignore-dm-verity-setup-issues.patch b/patches_treble_td/platform_system_core/0017-Ignore-dm-verity-setup-issues.patch similarity index 79% rename from patches_treble_td/platform_system_core/0019-Ignore-dm-verity-setup-issues.patch rename to patches_treble_td/platform_system_core/0017-Ignore-dm-verity-setup-issues.patch index 3944425..9151892 100644 --- a/patches_treble_td/platform_system_core/0019-Ignore-dm-verity-setup-issues.patch +++ b/patches_treble_td/platform_system_core/0017-Ignore-dm-verity-setup-issues.patch @@ -1,7 +1,7 @@ -From f053ee584e053fe63715beab67564f8826998a06 Mon Sep 17 00:00:00 2001 +From c0c23bbb67f6f9c6c0a494664a7006fcc8966610 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Oct 2023 08:20:48 -0400 -Subject: [PATCH 19/26] Ignore dm-verity setup issues +Subject: [PATCH 17/26] Ignore dm-verity setup issues On Amlogic STB Android 9 vendor, no boot device is setup (fstab doesn't use /dev/block/by-name but more direct mappings) @@ -16,10 +16,10 @@ Change-Id: If406984b096f71b9f5892e1228d4980aa49079a7 1 file changed, 1 deletion(-) diff --git a/init/first_stage_mount.cpp b/init/first_stage_mount.cpp -index 8ef20ecf9..506f3d1e8 100644 +index 8cf7a89e4..a7503420a 100644 --- a/init/first_stage_mount.cpp +++ b/init/first_stage_mount.cpp -@@ -440,7 +440,6 @@ bool FirstStageMount::MountPartition(const Fstab::iterator& begin, bool erase_sa +@@ -429,7 +429,6 @@ bool FirstStageMountVBootV2::MountPartition(const Fstab::iterator& begin, bool e if (begin->fs_mgr_flags.avb) { if (!SetUpDmVerity(&(*begin))) { PLOG(ERROR) << "Failed to setup verity for '" << begin->mount_point << "'"; diff --git a/patches_treble_td/platform_system_core/0020-Fix-support-for-devices-without-cgroupv2-support.patch b/patches_treble_td/platform_system_core/0018-Fix-support-for-devices-without-cgroupv2-support.patch similarity index 56% rename from patches_treble_td/platform_system_core/0020-Fix-support-for-devices-without-cgroupv2-support.patch rename to patches_treble_td/platform_system_core/0018-Fix-support-for-devices-without-cgroupv2-support.patch index a013951..01aad8c 100644 --- a/patches_treble_td/platform_system_core/0020-Fix-support-for-devices-without-cgroupv2-support.patch +++ b/patches_treble_td/platform_system_core/0018-Fix-support-for-devices-without-cgroupv2-support.patch @@ -1,7 +1,7 @@ -From cf622dc86a7105c7cce8db42da3488992bc65cbc Mon Sep 17 00:00:00 2001 +From 580821598b9c6ed42045404ca703739c79f58225 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 26 Oct 2022 17:59:11 -0400 -Subject: [PATCH 20/26] Fix support for devices without cgroupv2 support +Subject: [PATCH 18/26] Fix support for devices without cgroupv2 support This is technically a revert of 1bd1746447. The warning inside the commit doesn't really apply to us, because the @@ -12,22 +12,21 @@ devices without cgroupv2 simply won't freeze processes at all 1 file changed, 3 insertions(+) diff --git a/init/service.cpp b/init/service.cpp -index caf971c4e..c60a6d37b 100644 +index e7d710baf..010c9cd27 100644 --- a/init/service.cpp +++ b/init/service.cpp -@@ -710,6 +710,8 @@ Result Service::Start() { +@@ -706,12 +706,15 @@ Result Service::Start() { limit_percent_ != -1 || !limit_property_.empty(); - errno = -createProcessGroup(proc_attr_.uid, pid_, use_memcg); + errno = -createProcessGroup(uid(), pid_, use_memcg); if (errno != 0) { -+ PLOG(ERROR) << "createProcessGroup(" << proc_attr_.uid << ", " << pid_ << ") failed for service '" << name_ << "'"; ++ PLOG(ERROR) << "createProcessGroup(" << uid() << ", " << pid_ << ") failed for service '" << name_ << "'"; +#if 0 Result result = cgroups_activated.Write(kActivatingCgroupsFailed); if (!result.ok()) { return Error() << "Sending notification failed: " << result.error(); -@@ -717,6 +719,7 @@ Result Service::Start() { - return Error() << "createProcessGroup(" << proc_attr_.uid << ", " << pid_ << ", " - << use_memcg << ") failed for service '" << name_ - << "': " << strerror(errno); + } + return Error() << "createProcessGroup(" << uid() << ", " << pid_ << ", " << use_memcg + << ") failed for service '" << name_ << "': " << strerror(errno); +#endif } diff --git a/patches_treble_td/platform_system_core/0021-Disable-project_quota-on-old-devices-but-new-enough-.patch b/patches_treble_td/platform_system_core/0019-Disable-project_quota-on-old-devices-but-new-enough-.patch similarity index 84% rename from patches_treble_td/platform_system_core/0021-Disable-project_quota-on-old-devices-but-new-enough-.patch rename to patches_treble_td/platform_system_core/0019-Disable-project_quota-on-old-devices-but-new-enough-.patch index f5e37bf..fd5951a 100644 --- a/patches_treble_td/platform_system_core/0021-Disable-project_quota-on-old-devices-but-new-enough-.patch +++ b/patches_treble_td/platform_system_core/0019-Disable-project_quota-on-old-devices-but-new-enough-.patch @@ -1,7 +1,7 @@ -From d8cb7a7cfc014318cec947af5f06f801d4fd49b0 Mon Sep 17 00:00:00 2001 +From 211b263f066571a102f293cc094c944fd4123b3d Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Oct 2023 19:01:27 -0400 -Subject: [PATCH 21/26] Disable project_quota on old devices but new enough to +Subject: [PATCH 19/26] Disable project_quota on old devices but new enough to have encryption (they do keep quota support) --- @@ -9,7 +9,7 @@ Subject: [PATCH 21/26] Disable project_quota on old devices but new enough to 1 file changed, 8 insertions(+) diff --git a/fs_mgr/fs_mgr.cpp b/fs_mgr/fs_mgr.cpp -index a1659c938..96c29509a 100644 +index a6e6d1508..993396c02 100644 --- a/fs_mgr/fs_mgr.cpp +++ b/fs_mgr/fs_mgr.cpp @@ -385,6 +385,14 @@ static void tune_quota(const std::string& blk_device, const FstabEntry& entry, diff --git a/patches_treble_td/platform_system_core/0022-fix-Nubia-6-series-custom-rc-action-prop-validation.patch b/patches_treble_td/platform_system_core/0020-fix-Nubia-6-series-custom-rc-action-prop-validation.patch similarity index 85% rename from patches_treble_td/platform_system_core/0022-fix-Nubia-6-series-custom-rc-action-prop-validation.patch rename to patches_treble_td/platform_system_core/0020-fix-Nubia-6-series-custom-rc-action-prop-validation.patch index 86b03f1..19b04a9 100644 --- a/patches_treble_td/platform_system_core/0022-fix-Nubia-6-series-custom-rc-action-prop-validation.patch +++ b/patches_treble_td/platform_system_core/0020-fix-Nubia-6-series-custom-rc-action-prop-validation.patch @@ -1,7 +1,7 @@ -From 4b6d22231e7453f7c0a3ce680c5eb480fa99b751 Mon Sep 17 00:00:00 2001 +From ba6a900f97582c66dc35e7ab4c8b9073889df524 Mon Sep 17 00:00:00 2001 From: Huy Hoang <38396158+boydaihungst@users.noreply.github.com> Date: Thu, 19 Oct 2023 07:06:55 +0700 -Subject: [PATCH 22/26] fix: Nubia 6 series custom rc action prop validation +Subject: [PATCH 20/26] fix: Nubia 6 series custom rc action prop validation --- init/action_parser.cpp | 1 + diff --git a/patches_treble_td/platform_system_core/0023-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch b/patches_treble_td/platform_system_core/0021-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch similarity index 84% rename from patches_treble_td/platform_system_core/0023-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch rename to patches_treble_td/platform_system_core/0021-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch index f972961..bd6cfaf 100644 --- a/patches_treble_td/platform_system_core/0023-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch +++ b/patches_treble_td/platform_system_core/0021-HACK-Ignore-errors-when-setting-fscrypt-directory.-S.patch @@ -1,7 +1,7 @@ -From c85d7ee1a4732b7f936d1151394cae7227392283 Mon Sep 17 00:00:00 2001 +From b07959ff5733aa9039dfdf9b60fc189f29c49387 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 23 Nov 2023 11:05:20 -0500 -Subject: [PATCH 23/26] HACK: Ignore errors when setting fscrypt directory. +Subject: [PATCH 21/26] HACK: Ignore errors when setting fscrypt directory. Some devices fail to set it on first boot, but is happy later (?!?) --- @@ -9,10 +9,10 @@ Subject: [PATCH 23/26] HACK: Ignore errors when setting fscrypt directory. 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/init/builtins.cpp b/init/builtins.cpp -index bc23972a2..f2944ebca 100644 +index a95a4a315..7558f4dff 100644 --- a/init/builtins.cpp +++ b/init/builtins.cpp -@@ -428,9 +428,13 @@ static Result make_dir_with_options(const MkdirOptions& options) { +@@ -430,9 +430,13 @@ static Result make_dir_with_options(const MkdirOptions& options) { } } if (IsFbeEnabled()) { diff --git a/patches_treble_td/platform_system_core/0024-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch b/patches_treble_td/platform_system_core/0022-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch similarity index 81% rename from patches_treble_td/platform_system_core/0024-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch rename to patches_treble_td/platform_system_core/0022-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch index 03e65f9..0a6a655 100644 --- a/patches_treble_td/platform_system_core/0024-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch +++ b/patches_treble_td/platform_system_core/0022-Keep-our-own-version-of-ro.logd.kernel.-We-do-want-l.patch @@ -1,7 +1,7 @@ -From 41f1ee5c67174832b13ef8184dfe8e977b0ddf56 Mon Sep 17 00:00:00 2001 +From eed2d63520cdddb07427a1c2204ef149a33e9d3a Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 25 Nov 2023 09:51:14 -0500 -Subject: [PATCH 24/26] Keep our own version of ro.logd.kernel. We do want +Subject: [PATCH 22/26] Keep our own version of ro.logd.kernel. We do want logcat -b kernel, unlike what OEM set from their vendor --- @@ -9,10 +9,10 @@ Subject: [PATCH 24/26] Keep our own version of ro.logd.kernel. We do want 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init/property_service.cpp b/init/property_service.cpp -index 2a162b805..15bd0a57b 100644 +index 5fda97afb..f1c162cc9 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp -@@ -801,7 +801,7 @@ static void LoadProperties(char* data, const char* filter, const char* filename, +@@ -816,7 +816,7 @@ static void LoadProperties(char* data, const char* filter, const char* filename, << "' with new value '" << value << "'"; if(strcmp("ro.apex.updatable", key) == 0 && !kernel_supports_capex()) { LOG(WARNING) << "... Ignored apex by kernel version"; diff --git a/patches_treble_td/platform_system_core/0025-Keep-capex-when-there-are-vendor-apexes.patch b/patches_treble_td/platform_system_core/0023-Keep-capex-when-there-are-vendor-apexes.patch similarity index 82% rename from patches_treble_td/platform_system_core/0025-Keep-capex-when-there-are-vendor-apexes.patch rename to patches_treble_td/platform_system_core/0023-Keep-capex-when-there-are-vendor-apexes.patch index 68268c2..99b4dcb 100644 --- a/patches_treble_td/platform_system_core/0025-Keep-capex-when-there-are-vendor-apexes.patch +++ b/patches_treble_td/platform_system_core/0023-Keep-capex-when-there-are-vendor-apexes.patch @@ -1,7 +1,7 @@ -From acf3e429b0cb952ab785828c6c5e6f69b92bf784 Mon Sep 17 00:00:00 2001 +From bb0e5ddb169d8f2d0410ff7ecd37ab2b81bcb07f Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 16 Jan 2024 10:30:57 -0500 -Subject: [PATCH 25/26] Keep capex when there are vendor apexes +Subject: [PATCH 23/26] Keep capex when there are vendor apexes When disabling APEX on Linux < 5, we might break some vendor APEXes For instance Pixel 4a on Linux 4.14. @@ -11,10 +11,10 @@ If there is a vendor apex, enable APEX anyway. 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/init/property_service.cpp b/init/property_service.cpp -index 15bd0a57b..d17837614 100644 +index f1c162cc9..41e488b2e 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp -@@ -698,8 +698,18 @@ static bool kernel_supports_capex() { +@@ -713,8 +713,18 @@ static bool kernel_supports_capex() { uname(&buf); const char *where = buf.release; int a = atoi(where); diff --git a/patches_treble_td/platform_system_core/0026-When-setting-ro.apex.updatable-actually-set-the-valu.patch b/patches_treble_td/platform_system_core/0024-When-setting-ro.apex.updatable-actually-set-the-valu.patch similarity index 90% rename from patches_treble_td/platform_system_core/0026-When-setting-ro.apex.updatable-actually-set-the-valu.patch rename to patches_treble_td/platform_system_core/0024-When-setting-ro.apex.updatable-actually-set-the-valu.patch index 1a11f9a..b1048a4 100644 --- a/patches_treble_td/platform_system_core/0026-When-setting-ro.apex.updatable-actually-set-the-valu.patch +++ b/patches_treble_td/platform_system_core/0024-When-setting-ro.apex.updatable-actually-set-the-valu.patch @@ -1,7 +1,7 @@ -From f8ed761669e7f37dd096163c707f728bef549630 Mon Sep 17 00:00:00 2001 +From 905d4d6f945de009f868bfd228e02178ab489d7b Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 25 Jan 2024 15:20:10 -0500 -Subject: [PATCH 26/26] When setting ro.apex.updatable, actually set the value +Subject: [PATCH 24/26] When setting ro.apex.updatable, actually set the value Before this change, we were only changing the override, but on newest Android 14 vendor, they don't explicitly set ro.apex.updatable=true @@ -15,10 +15,10 @@ This fixes boot on Samsung Galaxy S24 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/init/property_service.cpp b/init/property_service.cpp -index d17837614..340f50af6 100644 +index 41e488b2e..649823d92 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp -@@ -804,17 +804,22 @@ static void LoadProperties(char* data, const char* filter, const char* filename, +@@ -819,17 +819,22 @@ static void LoadProperties(char* data, const char* filter, const char* filename, std::string error; if (CheckPermissions(key, value, context, cr, &error) == PROP_SUCCESS) { auto it = properties->find(key); diff --git a/patches_treble_td/platform_system_core/0025-If-AVB-fails-ignore-disable-AVB.patch b/patches_treble_td/platform_system_core/0025-If-AVB-fails-ignore-disable-AVB.patch new file mode 100644 index 0000000..21a5154 --- /dev/null +++ b/patches_treble_td/platform_system_core/0025-If-AVB-fails-ignore-disable-AVB.patch @@ -0,0 +1,41 @@ +From ced436e94d59cd7567a0305c47c393043108d5e1 Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Sun, 31 Mar 2024 17:18:05 -0400 +Subject: [PATCH 25/26] If AVB fails, ignore/disable AVB + +DO NOT INCLUDE THIS PATCH If you want to run GSIs on a locked bootloader + +This is needed on Honor View 10 which declares "avb" in fstab while +being AVB1.0 +--- + init/first_stage_mount.cpp | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/init/first_stage_mount.cpp b/init/first_stage_mount.cpp +index a7503420a..aa511f349 100644 +--- a/init/first_stage_mount.cpp ++++ b/init/first_stage_mount.cpp +@@ -267,7 +267,19 @@ bool FirstStageMountVBootV2::DoFirstStageMount() { + return true; + } + +- if (!MountPartitions()) return false; ++ if (!MountPartitions()) { ++ // Cheat and disable avb ++ for(auto& part: fstab_) { ++ part.avb_keys = ""; ++ part.fs_mgr_flags.avb = false; ++ LOG(ERROR) << "Failed Mouting partitions with avb. Retrying without it."; ++ if (!MountPartitions()) { ++ LOG(ERROR) << "... still failed"; ++ return false; ++ } ++ } ++ ++ } + + return true; + } +-- +2.34.1 + diff --git a/patches_treble_td/platform_system_core/0026-Flattened-apexes-no-longer-exist-we-ll-deal-with-it-.patch b/patches_treble_td/platform_system_core/0026-Flattened-apexes-no-longer-exist-we-ll-deal-with-it-.patch new file mode 100644 index 0000000..36f6110 --- /dev/null +++ b/patches_treble_td/platform_system_core/0026-Flattened-apexes-no-longer-exist-we-ll-deal-with-it-.patch @@ -0,0 +1,53 @@ +From ecec3ca008ad5d8c62e673ef7412ca9fc228ceeb Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Tue, 2 Apr 2024 16:53:08 -0400 +Subject: [PATCH 26/26] Flattened apexes no longer exist, we'll deal with it + another way + +--- + init/property_service.cpp | 22 +--------------------- + 1 file changed, 1 insertion(+), 21 deletions(-) + +diff --git a/init/property_service.cpp b/init/property_service.cpp +index 649823d92..14713c043 100644 +--- a/init/property_service.cpp ++++ b/init/property_service.cpp +@@ -707,26 +707,6 @@ uint32_t InitPropertySet(const std::string& name, const std::string& value) { + static Result load_properties_from_file(const char*, const char*, + std::map*); + +-static bool kernel_supports_capex() { +- //Put a threshold at >= 5.0 +- struct utsname buf; +- uname(&buf); +- const char *where = buf.release; +- int a = atoi(where); +- if(a >= 5) return true; +- +- // If there are vendor apexes, we most likely actually need them +- auto dir = std::unique_ptr{opendir("/vendor/apex"), closedir}; +- if (!dir) { +- return false; +- } +- for (struct dirent* ent = readdir(dir.get()); ent; ent = readdir(dir.get())) { +- if(strstr(ent->d_name, "apex")) return true; +- } +- +- return false; +-} +- + /* + * Filter is used to decide which properties to load: NULL loads all keys, + * "ro.foo.*" is a prefix match, and "ro.foo.bar" is an exact match. +@@ -822,7 +802,7 @@ static void LoadProperties(char* data, const char* filter, const char* filename, + const char *new_value = value; + + if(strcmp("ro.apex.updatable", key) == 0) { +- new_value = kernel_supports_capex() ? "true" : "false"; ++ new_value = "true"; + } + if (it == properties->end()) { + (*properties)[key] = new_value; +-- +2.34.1 + diff --git a/patches_treble_td/platform_system_extras/0001-libfscrypt-Bail-out-if-we-can-t-open-directory.patch b/patches_treble_td/platform_system_extras/0001-libfscrypt-Bail-out-if-we-can-t-open-directory.patch index 0e469fe..f532829 100644 --- a/patches_treble_td/platform_system_extras/0001-libfscrypt-Bail-out-if-we-can-t-open-directory.patch +++ b/patches_treble_td/platform_system_extras/0001-libfscrypt-Bail-out-if-we-can-t-open-directory.patch @@ -1,4 +1,4 @@ -From 5c3b72e250dd43f0c66fdfe62971d6802ae26fbc Mon Sep 17 00:00:00 2001 +From d7eddbbf8e62f503ce49532c1650860793b965d6 Mon Sep 17 00:00:00 2001 From: Luca Stefani Date: Wed, 9 Sep 2020 12:43:54 +0200 Subject: [PATCH] libfscrypt: Bail out if we can't open directory diff --git a/patches_treble_td/platform_system_linkerconfig/0001-Disable-vndklite-handling.patch b/patches_treble_td/platform_system_linkerconfig/0001-Disable-vndklite-handling.patch index d312da3..87abc55 100644 --- a/patches_treble_td/platform_system_linkerconfig/0001-Disable-vndklite-handling.patch +++ b/patches_treble_td/platform_system_linkerconfig/0001-Disable-vndklite-handling.patch @@ -1,4 +1,4 @@ -From 54d0800923cfdaf7bdcbf9b8379823f600a4f23a Mon Sep 17 00:00:00 2001 +From 84aa5841c240b73f702b6eac562fb86746758dcc Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 27 Oct 2021 14:40:26 -0400 Subject: [PATCH] Disable vndklite handling @@ -9,10 +9,10 @@ Change-Id: I4a132512471a68891f2efb59539267c35a3c3e56 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/environment.cc b/modules/environment.cc -index 82801f3..e05341b 100644 +index 01e520e..e4991c2 100644 --- a/modules/environment.cc +++ b/modules/environment.cc -@@ -29,7 +29,7 @@ bool IsLegacyDevice() { +@@ -28,7 +28,7 @@ bool IsTreblelizedDevice() { } bool IsVndkLiteDevice() { diff --git a/patches_treble_td/platform_system_netd/0001-Huawei-Kirin-960-accept-broken-rpfilter-match.patch b/patches_treble_td/platform_system_netd/0001-Huawei-Kirin-960-accept-broken-rpfilter-match.patch index b6b5973..1a9f025 100644 --- a/patches_treble_td/platform_system_netd/0001-Huawei-Kirin-960-accept-broken-rpfilter-match.patch +++ b/patches_treble_td/platform_system_netd/0001-Huawei-Kirin-960-accept-broken-rpfilter-match.patch @@ -1,4 +1,4 @@ -From 5eca866c8d670d959f76935f129c20539241bc79 Mon Sep 17 00:00:00 2001 +From 2558386176b8de642e5e284a1ff2398b21757b4f Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 2 Jul 2018 22:01:43 +0200 Subject: [PATCH 1/4] Huawei Kirin 960:: accept broken rpfilter match @@ -12,7 +12,7 @@ Change-Id: I9aa63d18e54a8254133adf97bf757c03d6b66757 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/TetherController.cpp b/server/TetherController.cpp -index 79193574..d867cea4 100644 +index 03185e71..a890d60c 100644 --- a/server/TetherController.cpp +++ b/server/TetherController.cpp @@ -718,7 +718,7 @@ int TetherController::setForwardRules(bool add, const char *intIface, const char diff --git a/patches_treble_td/platform_system_netd/0002-Don-t-fail-on-FTP-conntracking-failing.patch b/patches_treble_td/platform_system_netd/0002-Don-t-fail-on-FTP-conntracking-failing.patch index 1fe93cb..3db6b27 100644 --- a/patches_treble_td/platform_system_netd/0002-Don-t-fail-on-FTP-conntracking-failing.patch +++ b/patches_treble_td/platform_system_netd/0002-Don-t-fail-on-FTP-conntracking-failing.patch @@ -1,4 +1,4 @@ -From 8c255147f9ae33b8cd5f726d70edfa9af4ebd363 Mon Sep 17 00:00:00 2001 +From f00a4d4ea252a8ce15b906e4c5ad6ae3e67b7f3c Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 29 Jul 2019 18:09:12 +0200 Subject: [PATCH 2/4] Don't fail on FTP conntracking failing @@ -14,7 +14,7 @@ Change-Id: I3d9c865eb5a4b421f9983210c2ceae62b4906234 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/server/TetherController.cpp b/server/TetherController.cpp -index d867cea4..00c979d8 100644 +index a890d60c..88e7f52b 100644 --- a/server/TetherController.cpp +++ b/server/TetherController.cpp @@ -722,13 +722,19 @@ int TetherController::setForwardRules(bool add, const char *intIface, const char diff --git a/patches_treble_td/platform_system_netd/0003-Support-no-bpf-usecase.patch b/patches_treble_td/platform_system_netd/0003-Support-no-bpf-usecase.patch index 79397dd..697e2a9 100644 --- a/patches_treble_td/platform_system_netd/0003-Support-no-bpf-usecase.patch +++ b/patches_treble_td/platform_system_netd/0003-Support-no-bpf-usecase.patch @@ -1,4 +1,4 @@ -From 87b5e3c463e66b497d2009b1030c0f2513802b11 Mon Sep 17 00:00:00 2001 +From 031ddd823b329b268b3cd4620ba3410a4e958292 Mon Sep 17 00:00:00 2001 From: ChonDoit Date: Fri, 7 Oct 2022 02:43:21 +0000 Subject: [PATCH 3/4] Support no-bpf usecase @@ -9,10 +9,10 @@ Change-Id: Ic759e2cfaf11705169a4a6b677b0e5aca26907b3 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/Controllers.cpp b/server/Controllers.cpp -index 43a2d1ee..35e2b890 100644 +index 87b2c55d..1a027210 100644 --- a/server/Controllers.cpp +++ b/server/Controllers.cpp -@@ -284,7 +284,7 @@ void Controllers::init() { +@@ -321,7 +321,7 @@ void Controllers::init() { // As such simply exit netd. This may crash loop the system, but by failing // to bootup we will trigger rollback and thus this offers us protection against // a mainline update breaking things. diff --git a/patches_treble_td/platform_system_netd/0004-Don-t-abort-in-case-of-cgroup-bpf-setup-fail-since-s.patch b/patches_treble_td/platform_system_netd/0004-Don-t-abort-in-case-of-cgroup-bpf-setup-fail-since-s.patch index 2e20bd7..8abdd4b 100644 --- a/patches_treble_td/platform_system_netd/0004-Don-t-abort-in-case-of-cgroup-bpf-setup-fail-since-s.patch +++ b/patches_treble_td/platform_system_netd/0004-Don-t-abort-in-case-of-cgroup-bpf-setup-fail-since-s.patch @@ -1,4 +1,4 @@ -From a613dcfa688ce7cb17d79f07bc3a0ad0e48dd3a0 Mon Sep 17 00:00:00 2001 +From c305ea8522ae630ff013f96a2ed4068b15c1dde5 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 26 Oct 2022 18:13:56 -0400 Subject: [PATCH 4/4] Don't abort in case of cgroup/bpf setup fail, since some @@ -9,10 +9,10 @@ Subject: [PATCH 4/4] Don't abort in case of cgroup/bpf setup fail, since some 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/main.cpp b/server/main.cpp -index 3c6b0d52..89bf4e9e 100644 +index b0c5406d..ec15ecc2 100644 --- a/server/main.cpp +++ b/server/main.cpp -@@ -147,7 +147,7 @@ int main() { +@@ -145,7 +145,7 @@ int main() { if (libnetd_updatable_init(cg2_path.c_str())) { ALOGE("libnetd_updatable_init failed"); diff --git a/patches_treble_td/platform_system_nfc/0001-Let-vendor-have-priority-over-NFC-config-file-rather.patch b/patches_treble_td/platform_system_nfc/0001-Let-vendor-have-priority-over-NFC-config-file-rather.patch index d90e7d8..66c6049 100644 --- a/patches_treble_td/platform_system_nfc/0001-Let-vendor-have-priority-over-NFC-config-file-rather.patch +++ b/patches_treble_td/platform_system_nfc/0001-Let-vendor-have-priority-over-NFC-config-file-rather.patch @@ -1,4 +1,4 @@ -From 24bcee2084de6eff1eb707672f2a22f1643c0b85 Mon Sep 17 00:00:00 2001 +From a80b3c0b76ab20318bddaba2c344e0406caebbfd Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 21 Dec 2020 19:36:54 +0100 Subject: [PATCH] Let vendor have priority over NFC config file, rather than diff --git a/patches_treble_td/platform_system_sepolicy/0001-Revert-Remove-28.0-compat-support.patch b/patches_treble_td/platform_system_sepolicy/0001-Revert-Remove-28.0-compat-support.patch index 77097d0..fc1e19b 100644 --- a/patches_treble_td/platform_system_sepolicy/0001-Revert-Remove-28.0-compat-support.patch +++ b/patches_treble_td/platform_system_sepolicy/0001-Revert-Remove-28.0-compat-support.patch @@ -1,7 +1,7 @@ -From aa65bb6381fb25d333263a53a304c02fd718521b Mon Sep 17 00:00:00 2001 +From 6c9e6785e1e4de23d9780b549a53e57bc0c99e0e Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Fri, 6 Oct 2023 08:25:11 -0400 -Subject: [PATCH] Revert "Remove 28.0 compat support" +Subject: [PATCH 1/2] Revert "Remove 28.0 compat support" This reverts commit d16612cd8aed0de2ca889174f1a7033137260ecd. @@ -703,7 +703,7 @@ Change-Id: I2b0c61ced1f9651f74da85d1228d7260cc782c80 create mode 100644 private/compat/28.0/28.0.ignore.cil diff --git a/compat/Android.bp b/compat/Android.bp -index 04a239e02..61acd4069 100644 +index 2c6239f70..528f0a8d8 100644 --- a/compat/Android.bp +++ b/compat/Android.bp @@ -23,6 +23,13 @@ package { @@ -762,8 +762,8 @@ index 04a239e02..61acd4069 100644 se_cil_compat_map { name: "plat_29.0.cil", stem: "29.0.cil", -@@ -162,6 +190,14 @@ se_cil_compat_map { - bottom_half: [":33.0.board.compat.map{.plat_private}"], +@@ -168,6 +196,14 @@ se_cil_compat_map { + version: "33.0", } +se_cil_compat_map { @@ -777,8 +777,8 @@ index 04a239e02..61acd4069 100644 se_cil_compat_map { name: "system_ext_29.0.cil", stem: "29.0.cil", -@@ -201,6 +237,14 @@ se_cil_compat_map { - system_ext_specific: true, +@@ -213,6 +249,14 @@ se_cil_compat_map { + version: "33.0", } +se_cil_compat_map { @@ -792,8 +792,8 @@ index 04a239e02..61acd4069 100644 se_cil_compat_map { name: "product_29.0.cil", stem: "29.0.cil", -@@ -240,6 +284,12 @@ se_cil_compat_map { - product_specific: true, +@@ -258,6 +302,12 @@ se_cil_compat_map { + version: "33.0", } +se_cil_compat_map { @@ -805,8 +805,8 @@ index 04a239e02..61acd4069 100644 se_cil_compat_map { name: "29.0.ignore.cil", bottom_half: [":29.0.board.ignore.map{.plat_private}"], -@@ -323,6 +373,11 @@ se_cil_compat_map { - product_specific: true, +@@ -357,6 +407,11 @@ se_cil_compat_map { + version: "33.0", } +se_compat_cil { @@ -817,8 +817,8 @@ index 04a239e02..61acd4069 100644 se_compat_cil { name: "29.0.compat.cil", srcs: [":29.0.board.compat.cil{.plat_private}"], -@@ -348,6 +403,13 @@ se_compat_cil { - srcs: [":33.0.board.compat.cil{.plat_private}"], +@@ -387,6 +442,13 @@ se_compat_cil { + version: "33.0", } +se_compat_cil { @@ -34425,5 +34425,5 @@ index 000000000..7213f9542 + vrflinger_vsync_service + watchdogd_tmpfs)) -- -2.25.1 +2.34.1 diff --git a/patches_treble_td/platform_system_sepolicy/0002-Fix-sepolicy-for-kernel-5.10-that-doesn-t-support-bp.patch b/patches_treble_td/platform_system_sepolicy/0002-Fix-sepolicy-for-kernel-5.10-that-doesn-t-support-bp.patch new file mode 100644 index 0000000..c90fa5d --- /dev/null +++ b/patches_treble_td/platform_system_sepolicy/0002-Fix-sepolicy-for-kernel-5.10-that-doesn-t-support-bp.patch @@ -0,0 +1,31 @@ +From b5ae14d08e62bda486db4c9c3f54fd08d9e11158 Mon Sep 17 00:00:00 2001 +From: danielzhang130 <37479705+danielzhang130@users.noreply.github.com> +Date: Fri, 12 Apr 2024 13:01:08 -0400 +Subject: [PATCH 2/2] Fix sepolicy for kernel < 5.10 that doesn't support bpf + file context (#1) + +Change-Id: I877bd90b1dc74c9d2f7713c70fd9aebd92331085 + +Signed-off-by: Daniel Zhang +--- + private/network_stack.te | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/private/network_stack.te b/private/network_stack.te +index 7587c1f46..9e6bd4b12 100644 +--- a/private/network_stack.te ++++ b/private/network_stack.te +@@ -61,8 +61,8 @@ hal_client_domain(network_stack, hal_tetheroffload) + allow network_stack self:netlink_netfilter_socket create_socket_perms_no_ioctl; + allow network_stack network_stack_service:service_manager find; + # allow Tethering(network_stack process) to run/update/read the eBPF maps to offload tethering traffic by eBPF. +-allow network_stack { fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:dir search; +-allow network_stack { fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:file { getattr read write }; ++allow network_stack { fs_bpf fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:dir search; ++allow network_stack { fs_bpf fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:file { getattr read write }; + allow network_stack bpfloader:bpf { map_read map_write prog_run }; + # allow Tethering(network_stack process) to read flag value in tethering_u_or_later_native namespace + get_prop(network_stack, device_config_tethering_u_or_later_native_prop) +-- +2.34.1 + diff --git a/patches_treble_td/platform_system_vold/0001-Allow-deletion-of-symlink.patch b/patches_treble_td/platform_system_vold/0001-Allow-deletion-of-symlink.patch index 01fcb77..90daa63 100644 --- a/patches_treble_td/platform_system_vold/0001-Allow-deletion-of-symlink.patch +++ b/patches_treble_td/platform_system_vold/0001-Allow-deletion-of-symlink.patch @@ -1,4 +1,4 @@ -From 7892af1ca6193fcc9ebba0d8bafe6e8a741856c5 Mon Sep 17 00:00:00 2001 +From 09d951c1c516c55eb10fd8e68d27715b24b08207 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 17 Feb 2018 19:39:38 +0100 Subject: [PATCH 1/5] Allow deletion of symlink @@ -9,10 +9,10 @@ Change-Id: I9731895f88729072297f753088583aabbe6990f4 1 file changed, 1 insertion(+) diff --git a/FsCrypt.cpp b/FsCrypt.cpp -index bbaf429..94e5201 100644 +index 9f6403c7..b020318a 100644 --- a/FsCrypt.cpp +++ b/FsCrypt.cpp -@@ -359,6 +359,7 @@ static bool prepare_dir_with_policy(const std::string& dir, mode_t mode, uid_t u +@@ -378,6 +378,7 @@ static bool prepare_dir_with_policy(const std::string& dir, mode_t mode, uid_t u static bool destroy_dir(const std::string& dir) { LOG(DEBUG) << "Destroying: " << dir; if (rmdir(dir.c_str()) != 0 && errno != ENOENT) { @@ -21,5 +21,5 @@ index bbaf429..94e5201 100644 return false; } -- -2.34.1 +2.25.1 diff --git a/patches_treble_td/platform_system_vold/0002-Failing-to-create-facedata-shouldn-t-be-fatal.patch b/patches_treble_td/platform_system_vold/0002-Failing-to-create-facedata-shouldn-t-be-fatal.patch index f321a7c..af35a52 100644 --- a/patches_treble_td/platform_system_vold/0002-Failing-to-create-facedata-shouldn-t-be-fatal.patch +++ b/patches_treble_td/platform_system_vold/0002-Failing-to-create-facedata-shouldn-t-be-fatal.patch @@ -1,4 +1,4 @@ -From d61316b5f00c32b649d24d4defb196d9ddc99d03 Mon Sep 17 00:00:00 2001 +From 95fedbd400701d064250ba91ea1ab2def4111421 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sat, 7 Mar 2020 14:49:09 +0100 Subject: [PATCH 2/5] Failing to create facedata shouldn't be fatal @@ -12,10 +12,10 @@ See https://github.com/phhusson/treble_experimentations/issues/1119 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vold_prepare_subdirs.cpp b/vold_prepare_subdirs.cpp -index 60e82f5..c1ded02 100644 +index e82a7c2d..de5583f4 100644 --- a/vold_prepare_subdirs.cpp +++ b/vold_prepare_subdirs.cpp -@@ -205,7 +205,7 @@ static bool prepare_subdirs(const std::string& volume_uuid, int user_id, int fla +@@ -208,7 +208,7 @@ static bool prepare_subdirs(const std::string& volume_uuid, int user_id, int fla } auto facedata_path = vendor_de_path + "/facedata"; if (!prepare_dir(sehandle, 0700, AID_SYSTEM, AID_SYSTEM, facedata_path)) { @@ -24,7 +24,7 @@ index 60e82f5..c1ded02 100644 } } } -@@ -254,7 +254,7 @@ static bool prepare_subdirs(const std::string& volume_uuid, int user_id, int fla +@@ -257,7 +257,7 @@ static bool prepare_subdirs(const std::string& volume_uuid, int user_id, int fla auto vendor_ce_path = android::vold::BuildDataVendorCePath(user_id); auto facedata_path = vendor_ce_path + "/facedata"; if (!prepare_dir(sehandle, 0700, AID_SYSTEM, AID_SYSTEM, facedata_path)) { @@ -34,5 +34,5 @@ index 60e82f5..c1ded02 100644 } } -- -2.34.1 +2.25.1 diff --git a/patches_treble_td/platform_system_vold/0003-Don-t-unmount-rw-system.sh-binds.patch b/patches_treble_td/platform_system_vold/0003-Don-t-unmount-rw-system.sh-binds.patch index 916b024..7783d74 100644 --- a/patches_treble_td/platform_system_vold/0003-Don-t-unmount-rw-system.sh-binds.patch +++ b/patches_treble_td/platform_system_vold/0003-Don-t-unmount-rw-system.sh-binds.patch @@ -1,4 +1,4 @@ -From 906fbe7e96851a950fb1401b0077fb15a348e6b2 Mon Sep 17 00:00:00 2001 +From 1542c0c97d8956fe116a937138f79ee5d725a3e9 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Mon, 29 Nov 2021 17:49:13 -0500 Subject: [PATCH 3/5] Don't unmount rw-system.sh binds @@ -9,10 +9,10 @@ Change-Id: If9132c21defa8b09879b79a70794c5275d6852d0 1 file changed, 1 insertion(+) diff --git a/VolumeManager.cpp b/VolumeManager.cpp -index dc6fae9..47c8cd4 100644 +index c981f2d4..ce2a4510 100644 --- a/VolumeManager.cpp +++ b/VolumeManager.cpp -@@ -985,6 +985,7 @@ int VolumeManager::unmountAll() { +@@ -1000,6 +1000,7 @@ int VolumeManager::unmountAll() { while ((mentry = getmntent(fp)) != NULL) { auto test = std::string(mentry->mnt_dir); if ((StartsWith(test, "/mnt/") && @@ -21,5 +21,5 @@ index dc6fae9..47c8cd4 100644 !StartsWith(test, "/mnt/scratch") && #endif -- -2.34.1 +2.25.1 diff --git a/patches_treble_td/platform_system_vold/0005-Every-voldmanaged-storage-is-adoptable.patch b/patches_treble_td/platform_system_vold/0005-Every-voldmanaged-storage-is-adoptable.patch index 4ff5171..0cf057d 100644 --- a/patches_treble_td/platform_system_vold/0005-Every-voldmanaged-storage-is-adoptable.patch +++ b/patches_treble_td/platform_system_vold/0005-Every-voldmanaged-storage-is-adoptable.patch @@ -1,4 +1,4 @@ -From bf0b19afc1bf8bad9a676d520f3fd5d81bb1f7cd Mon Sep 17 00:00:00 2001 +From 8ace1f37a88088486cd0f3c90ca57ac4293de5bd Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Wed, 11 Mar 2020 14:02:35 +0100 Subject: [PATCH 5/5] Every voldmanaged storage is adoptable @@ -8,10 +8,10 @@ Subject: [PATCH 5/5] Every voldmanaged storage is adoptable 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp -index e2025b7..8a02279 100644 +index 078ee14b..475060dc 100644 --- a/main.cpp +++ b/main.cpp -@@ -279,7 +279,7 @@ static int process_config(VolumeManager* vm, VoldConfigs* configs) { +@@ -269,7 +269,7 @@ static int process_config(VolumeManager* vm, VoldConfigs* configs) { std::string nickname(entry.label); int flags = 0; @@ -21,5 +21,5 @@ index e2025b7..8a02279 100644 configs->has_adoptable = true; } -- -2.34.1 +2.25.1

JF{|$9|ogOZM1bWCimRl(Nw1Viow^1BW -ztn6tEYq3bh6m;!BDD5zvk$Pba{yoIT`=K#M=|%Wppp$+Px8&}OsbI=%qeln8vP+hH -zTBAnR)0UZ#iKbHl7TX=Q1X>s+JihOzIVA8UL-Ddo`c@%4?r0Uh%>=lcnc6Eb#&)xQ7E -z8>31GF&^tX`-WpgUyV|nLpXgjXL~;248j#gvU-lfT7+?o?av_qJ$7u*T|hs5hK#rZ -z%w;`?a=2NPhS(374gF>rJ1Fp{*gOGBke|FG$F%2}Tx!HwT51N=rQ{p -z>7smYuHT|Ez3*-aZkZB~pyVs7ERU#H3Rzx7mxV>&0J!&JjHoyxxvP8zCo*$9HK?Q~ -z?atz=$)f`%R0MFz?-a$x%A`F-LExl+eLk&q#|C>USY*^fe60O%4d~aJnOMe|YtYd(Mois4=A7xM?JA -zN>$W}oD;hp@MTQz0Gxq&GG^dkTy{XX1WDh3!@E!f?1<7Hgw!wyUsK*h@VjAyXYNaY -zSp|%>0lk3R%`wL5;n$J`;oW3XXxKC4$cM2q_;|qnl&agW{TNbfXt@s)*uVf=@t3d< -zQw5C03Ax)gb^gL1cQTNm{^Ib|K}9sg3_qvr4!V`ZPT*6d<;4V{)xc=Yc0$>liHzKQ -z_CKQH#1?#?NXI9X^k={F&jU@D7xH2Fl-r#_ZJi!mIr%WGef)lre$#H_=mY(~0l4v< -zG1NP>9#&|;9Loi&_J4QJ$ZE25c(SVuXnzG`n!DZ0^xSJ>D+1g5h -zC=QpLPYXwXAYO+DT==As$;{Z?wT+U~P`ZQBE)OD$0FVb*z_@?`)2j>* -zdJhI^F&oyJZlk*=p-S+n&HCiJk+dU2gXNy3a|&$9uM3vA4T?9p--ozQF$TR$=^k*9 -zpW;7^RB@E1^P|oWLR248gnI|L(vKQ^WphrKbbGujLRjf8lN_&bMl#aj)Q^AQ@wNVb -z-;pc}EP|0{hSd_wza7qw_QV33j+fROuhcL!ILJZHO}smBh?x3E?roBT^U+S%;k4Ii@pk{ -zlW&WUrHP58ONgxBu)OxaTtA0U%TvX4<{(?;CHxy=50e9jB|V1#FnvEj>%8C#Kh+Vt -z(wzXK1)9$NBRLjw$d+V1cF*!VaGoTsI5d1g0?5kZ%-D}d&A5s5x*k7RizpRkQq8&2 -z_JKE7ube+SCu!pd8JAoDT3MFbb9HY(VYU#Jd-B4-y}jnoC)TAMSE)Fh4!P}t -zRL7$ZG&#U@m3R+m`dDLrl}?&V^-=J*PdpKz{zFpbnPvHxWmwQ>HK1_Hpj&z|)QwFP}0CQV6r`hs?1oxR$-yVWzXZa)ggm@KJ(*19!?*~D``x_@_z<-tWetr;>MEQ>i{y>x3!xUkU8STuqNx?=? -z78Ks^P?3wbR_{l>gzX+t2$0?*8i$FeE%YKX<_2(eX}$8WVzT)wKU-!kq^Uh64#EOp -zF=`}Ysm)Sgoc&|fjBxm|^W$g*W=`gWqQ!~Qqg$0+?3+FPwLHqDh_UBt0|zWQDdYaz -zF@j2a2ue(>V5Fep9+hzjZw=`kAYbxx&zxUDC)768DGOoEpWLJ=V(&YPELSYPpl9!y -zmpzw`#CR`sTqKIqg7*3>6;qb|+ki!H%lqgB=dbZPkT9E>dtx`Xd2-(G=b!f&x!X&h -zOVig+do@1@5=aj-^_W%JQ;%E}-cjD>!26?L^N)(4F)GJzXB6x6d*QcOenE|;g)XlW -zZ$4K+T$J7=v!HJ@n{ZmAdG!RA2vsc#?=ixkk9~H@7xZs5NcVw@4(HGg06jVOcG|Gk -zEb)%Zzu^6PSE+;n?hdK|eSMD`j&qF_?p|g=8UB6vWLf=-(@JTfPl6W2*k(C^MCB3` -z?75vZX>?d=a`V=D%D~NbmV*@>WR5|x- -zt`frA>>U)5zWPcjy*Jw#y?9dBn|tgXR$8VQl5ZI(+L!z7-G&G6hI6CMaIDxX!ulsc -z$xXtqFw9V9=}w=;X2`sFHxvia8KbQZ5;|^!@k4w6S&@NzFJsv6^*T|Yr&B~J(ANQ4 -z{9wfs<|7#(_$q;vHdC@w(IuHoiKvylPqW{AiqKSvGq_dr5p-`Vm=8+Dl?!9S9ZSUU -zei;(@pbYgwiio9z1UgBZR3;N=V1iQU+#PW?9!aG$=o}uSkf-fe$VO8J)X#gOLQZNO -zNcEK+;0aa#<{jMnr8+K*{qpV`yr>cKjEBnn=Ob$#uSfR;!72Ldc$ZiTIq6OrVrgp; -zH&I4$M+MfHJYHUbji%7LXQ!lmKrxpVI;aK5q>y95H2d{1CjR13d2`NE)U-eN$=M?Ah|FITmv2*YY5BP>Cx`Fp}=kq4Kx -zu@V^5BN`Lxrrmm8R6+(&g?o6-n^bU-=hY-_Em;xA0 -zfwWS&-tQp%;? -z>{POwCe|K(7u$@s#LBtbM8g1W#V+Lv*fxBu;IBuEx)v_&??o&N+G7>Ch)=4G$j -z_bXutazTO?bfK?k0rbI6L2CQk#f2n#mTP-^8ATg^1q`L({+R~D)RMp}vX~!lb?xPE -zoJ^^UkDPy2y`)-odqcJ0_L^$Nmhk1KnIQAf^wyevIKDu5{ -zMq4{x!_X`Gk2Y#(#uObxw -zjv}o_5wzjtBq_Fo0FQ9XQq=dot3iZTh>eu)iH*{a(Op#`Ig9AmW?!7H_QM9ocfZwI -z|9r`nwg;J$+T!#VjMG9edX?!it5zs)-Zm-@5$rGQuzzo-Dz)41m$hTm8-9I3ll0WL -z);JjxY;;VzR0pxFJVQ&4oBSR=*JdLXoD$wVgkw;*A%R}219R}4?^(;TuEK5LmzsTZ -z3Fc#B;orYK;Vju>CsB*6=ffj0&3;2I5c_hN^|J$Kj~BSnONZ7KteD_Hofe?@CKE6xu3c9%$E>k^+tBl_-AE#n?V=WfVj$-^{cTW!{p)xI(@-`4dJTOp{JR9FtMoI_;_335q}joohfPIcw~WX$ -ztx3Z?6e`=cJkaJPA8ZMYqiKY=1%6?H{zu^OEB;q`JFVUOA+9eGe0hrKK;wS4)*~H-mH#3^#f+XtB0w=a&p#o*QAcghzY2LGa;m$vH -z_b?0|VqhFWMqt_*Dg5m5n8nTLh46B^w$8u;4;56r;Fto?fIks`)SrK2a537LR9m=V -zwi6rtBy>F7MkOX-9JDcyjibyl18p&rZN#X_ZwN;|VsgcvXz7B0_!iTG_(sauLTK}N -z#Bwt+VXT6;p9fEG7SIpcj<7P{f5F{vg|E~G>tL75mU|_l{T4tt=92xI_8K$ln6C*i&{LZE}`Dv|NXxOnGKy*H{2qj3?qxwk`x) -zC~b20$@Ug~rEoky-kPCbzT*s7f^o-U%rAAy~j%$f4hgaI7Z=bRB+|#SycYxtpx!(RTjtC7(X$&&I~Hr-lE$Vn -z?Ys|eLSLhrzpNh@)xK<}YG0%4V|&6pll-?!7lciH$PdFGV3MOQpAukEVpL)bf&9_+ -zM_fD@y0(Gwj`A+IX^!-~dZ`}XGG<~qFhyr;@}G?Ip8%t8mhFE*!WfmxPYNtPXMD_u{Mg-?$|3c>2CJX3rvOYvr9Dhvz^X5nX<&X!^M*fRMR{lY9Ao=4Iy5Brw88(x^5 -z;H{+0hXcuUb{`)HchRxO{qJKb=Mygn=AUerb>75|MHNSxVW+gB#2cq%;LN58>Q -z%LawD$ujrVms8V5ljE-XxYm1~o`Ji~eBtV96wj%YIBTv_!@oKa%q)c_VPq0K4Y!*PLKuPj+D2-o?;PCF3kSo%@W$Ji%n6Z -zc=U?C_Y_|+nf|q@u9~tP65)`04L)H4TH|srS~w^TR(XjrN!uPjwiW!dxV!7AqKB!? -zIf{7A%!n`8_F(W>b(Sy1PG1Qzzk^SJ3FHHW>WsUW5l>F+;r-cqUzHJg_QlY!w}*5j -z+b$Z}_VfV#85(lu@27IyLFXo_Dyj-4A3_%Ix7$s;@Wnz4lDZLk?>Y|bbM~0g{p0Li -z0q={-`4f0K)QGM-mV(=U_~Nd{ED;1#mCIGRGPq3cAKwWtZ>awDBx@6DWs9<{=mB;N -z$*j2G@|wNh)Gku?(TVnqkNvISGshK#EPhj}o&{oneT-rGmy^@Q89{%B+23K`i?EkC -zocWzC|NRS92PPQ|HPFkEu_Cl@{=uKa&FVDG#3z+)_ZWVQsMe(G%G-x_p4?5?UVOPm -zRAK;`(RO-|S}q>!e8C=TiXUu01|r(-p0q{TzEDBxte=ccH!b{AwB?>d4ZL%BL;9KZ -za@7$v$RXtuW}(wgY#sj#g8uD{Vfng>G!UFxk@~Xj4aOp|@$cxREz?jD2}n>yG{JspJLB@0&E2;#J_0z$HFYU>n38GWh55 -z_OZg>x_Cf$s99Ri#!zd^%uM;o?2@SIh|c|!rA|jPs_$YUsPVMq0pEE(qjk+v%I~YY -zb=pqm-z>R;io=pe{d~{R>>jtn&w7XWWN+0ytd^ahEwgb!RM}^`+2^NN8ojXv-;(Sd6!HNt1Yh3FHMj~0l!D; -z;WG8^_;{?AwJBwqclovu@=2?-(T)y`{4w1<-x!rE)H*lasn`h4y?FcnOqz3c`8H13 -zX8;C79gff#Ehk%Y43v#NlS2DlNJw18ur-IU*Rb79Iv>E-R!|t)N`Fy%wqG&79VRKfgMYU -zbMdIxTTM$z86znLGtEC*%9NcGKc5iDoy78Xj0v^hfBCrF2~>__^5V)k?WTGF6{7G^ -zPfPdMFVRU;ApoP@JD?N1^x%k#!fO{JzX<+&i^8?=x|udI7BQe{gaH15PtVQo2n2sM -zym|h8kVl5ipYE>KF>hojUZa;pBfm_Kvo7oCAr3zys -zul4W6%$VIP5tsH^3p5$G&sN+-9EdN^dg;){%3SX0H)jbSO#C1{X)MG$D^^il_d7m} -z`b}wlGxf#a? -zBKrB?q82Rt*+MAKaUs8xye>_8UP_in$E}x5QH149PL2foPU-wv_JLC) -zK-UPW&+AyFPYZXftJ&(Vz+>ah6PTm8%=B(~d;dhny+CKTN541!c;tx!`_j45_0_=T -zK&5;;CD43}N}!A}rTScOK=(%1nceBf^}4q9`rd}W_vi1rzXu%STVm4=R2-61d&u8q -zNEP(o8eK!LfDU_lpegl~H8=K8x1>@6V9yoTXB++Ra5CY-Z{tIkX9n#)f=oFgZPo} -z7vE&>aEM_!LBhx2vpN7ydjSAacZh4pI}$hvG|^0~q$0OM5%S<5JH+qwrMJDG{jQ_d -zpSfQt0rjq?%wU<(uX3o&Xl6ip0TUVM;|sNT6ZT;ffi2GQ3G`k)nS0*7vfRhZ)?4Sx -z>h($NmPnlbQwYC#VQfmzLfP_z_iI^&(n1|h8;)XoKq`R=Gt$blaN6fxa~HkB8Nr_% -z8Qck4da7`Njwmk9qvs(Mq5`p&s6?!H&aK;uKu2typij0G-1$HY0MCfN@2y()+_ln2d~(zevlwl-iEMRpaH;SjmsS*W2Br@Xsq{R1u^W+X$ica3mH -z$waXYf(%aPGB_H#&wXsbfjaQRi3pSwE57=aLxoH4D#*`=nuFh9@53Xy-@4bn`ZQr7 -z41KWtA2WIV1aN1?TlE(Fy|>lC=fk-?96i#7OQO)_oC0$0b(C05kMM1|SD#OraLE2L)l;pX1Prpx -z1_{Z3YyJeK)DvVgh(lsDiyR9D$^{h73`X8WZz2H7tDH%DO$rGOu~UT~n>;PtUg!+E -zm?Ph6d)s%0G;%ZbVhc?w&|Fbo^dl=~?&hASyIU+`a`J}IP%zg=O$5_)7>+x9Jp6V0 -zz+_Dhq?351ZP?0ZMys8`iLc39ZWC%xX`kXFzG59MkXnts1dn -zXim&9R5eg_@ksC!mSr^Joait4Z_K3pdw`M#9|Qh%a8LMRyYFoTJv~D&^!7cSb5692 -zY0>5AdgWV|u9&5(3LL7Z|E)roI8w+tThb%y@BqR#(OKefC+8GAdZaV!ua&|@^uJ@b -z#CLQ$=OV6)PMod1+;Pc1s-}B#ann~7!q9R4KNS;@ixYG$f&U04;5%J?>H71hFz+On -zB#s3BRc-*k73@k`deL$gdK&!BbBSI!f5b>(tA4Y&WbxPYU-bp=$n3>n-+L5#o&KPT}!>gY4Y)W%7yyElEwC1KzbQ`S`MUu7TYUv?&klDBiGQ7!si+#DilwWV7EE -z8Nw72t#V|j1InwSXh5qbfVz%xR-j`w7d@LBP*2zOtf3}wQJnpYIH}^d;Pey)NW2)o>gp=Xv1_nad -zBVIpBk^)uZ-#tjy0ZiKlomjB~pC?1icu1!76KH;N#;A{nMIr?&9_90vcK(oFTIFy+eI -zA{BRfiqrqJq$pg>h3*!9O%O&y@oB|*DT+kjc0eE?*&pHTrtCSdj}X>CuqVGQuv8S} -zmtQG%J`CvoS~B#Y6%85>8HJJAju-M2JBqgOXzjz=hIl$vQ5&-quosa%rQ4>)$Ago8 -zdVMk!K4h|Sbq7xII3D0yLj=!|5(uIFFxyMjx@NCwUvFrAn+qr)T$=_J39ur -zEmTAa361N;8w%}$uF?FcYbTU9`!tzd%>4tuiB)Ov2N+?}s^R3;AwmsVLfIS)u%Uel -z!B)ZsLUEN14Z=J)1O1!A9cE>Pg=#~f^wf0F`<>Y~28i&m-}6a-52{Zqmm)a*Jb|FS -z!-(5CBfCt_Nh08Nh1y?mg=gbsfiQ62LFslYn~xo9Yd`N7BFCJV{=f<CTZ`Qvf -zUv2x`nG0Hw2hT2f({L~#v*!OYS1>9 -z`dfyRs>72;^loM-!mp;DLT6x3I>RRlF=v+k={}X3^7={rFH%w(`8jWp2Zh-wPb*RKJCbUnMs9Lla+NA^b66n~Mu; -zz=+P}J>*DJaF5$uVldY?mPU@0Oh4H!y+vqxY*6;|L$!m4qloLQ+i$z~`Lw=B;({-X -zg)03@^Na5e1XT4O1KR$Rp-9J~oYZ-j1%r6rIDD!I%?95(E_!h4< -z&dyqU%}HFN$SQ1_bns*o>QefRRq{K#v4fFK{T)9E+{xn{@8uYmS5)I|)ZiJdqBe|T -zH|jOOWY4uK4?eK81MY-XtQQVzZMVgBjL=W7pk~=e&D9!ZRWQ)XjQ!vWZ~Hwv?9#dE -zT0sJ@`o`*BP$w0Nz#Gn6ONtCD(V;JO`8a*;U)buuNw<#sYRS!#-*k@tq=BP3L|WD!OVLM=*DyrBHnwWy>kwS9~jCVK;>Z6Z?sPTdH92S1yU&^e*JaAfo^UaG6iw -zd_9n?xxb`Sf~sPU&$5SdOfjE6(xdLVQ)VBT&8hsfHxYt$EiDUHecWZ82F-MG7+V%4 -zF5n@jKYmi)%|G -z2RMH$gd~=t(UGgz(<3ZjXfY+8wYwLJTl-7O-BmP1^5YWM_QQ63HHj)?d5bT|57MX) -zLci!Ehrk{I1IXCcbfzqbbbl`(crb0cd#^i^pR*0q2}tO=@SsD*7A5vB+cDk^Fy#~( -znj6}K^I$i8s8D+3;I8@2l>$+xd1HS|UNsc;lLV5LpK4#c%>`dFhjitSu88|BxFC+z -zOs$vpLQ|%vufr-eqH#RaIr|u~4)=vp2whQ(9(%S&!i{VYDuxZsph_X&4>9N%Zyau+ -zAP>O6xP;g!#u`KTz_+VNZ&~yO69%fK4noB)Kz!OIO0k9zZ8z_-N8iC`OW1EA@H&P1tD=<2RfJKh9B^cuGJ%1z -zX_R~G(Xf|u1kXIgR4W|Mn9iY1K#2_{+8g4j{*0zt5t=5HXJ{QKTL(uiaxf-(K?|S- -zmOL%Wpw-%-9c2tWP6{6@YMa#BT7o|gpZuV^`c!!oSMqV9-ODnGq7}cevBWDR*>Pi* -z$oSFW(ssAw=Z_9o>bxN^7ZXyq=xy&sM0V3B=xW)Kd1#e|l|gEb#>Y{F*b<};)->Q7 -za7= -zjxeMdSteQa>1mU`z(}ny;H%B*v)1~^EZtBLz5}(mHR@CxNfM$%9|NHAd2B(5cufi% -zx_5>&A7DJb7#pzQ+x3$FAno7+G4S-J;Jwz^k9$Hzp{FM*zPq>!7KlPFd+;Sc7))O)Z@|==n%?nf?sI -zc|Z3?DfC;v8?zy~Xi@wz> -z&U$FbKWo1r%u`ltP^-Nk(HN#|JtZsqao6O%DD7;UZl$yksOGHRz*vYsZ_6Cup50Rz -zvifc0meb&bZt3p -zl6|}%j;wR(GRi~q*XhbzyjXPNIzRRO2}_2%aM^2!kUX5;%~YHJ`Q9iU2;-GYU94=Z -z(Rm(!8*kr`W*W{#&7`R3A8i)!x|CpjrW(Ym4J#3|)q7Vm!a8O(=@QoK5aCq*e*y^+ -z6@7Kt9gDY6DYU$#kA$cNZ-0@9>vEEr!?n}vy6yQph>(fMCB#IIz-mv8JzL7Gotb+h -zIH9qvZu>Z=kWDv?D=QAzb*lr_;UQ@q0z;uUmhQem-S_>M -zoQQn+?;wa6GZf!%6(PR8<@~TV^0XGI%4x^a21im`RrCvUu#c;N+lXP-Wix5!b=EuA -zLL_NFVFimE?(>{k{;icSz`qOTzI6{~8tj?u>JQL86(SxRx{`ozn>$g=$V)>_*QErX -zuPDqibcvw^$Lu2X@0})rIbV$iotN)E>P$W&ewphjFh$oezm5c>EqNJ$(lW#7q7s -z+Qwj=X$vmMei-16{LwoT6uCQTjJ*1C;vo3@LGV*#89fMO(@{EKk~|Jl|7x;DHZaDI -z-F?{@v7!I>`i}Lz(R!VXWK=+_K(dbxA$HDds;@jKw(DT)O?Z5F-{i0{UL-T(wN;f> -z$wyc9d!&IHs4zbLU8Lw2K>XXY0!FsWjAgdCG2_yhZ$Dtud}41jGmPz`HfI?>mnkdT -zZD3qF>3qfo>JY|GE}e5XFaydv1O_b9-8Tw_f@2OJ67_DZ1;z228;?-VZaPVI+0Foy -z*>Y-Kfz~Ce=NOzEu}$uSAvYYJWMrK^bkMd2-F)@7`gHiXF?D;i5>CyoG -z`z^(v!KFYMeAnTO1YKrv2j$#&_C~%z@Dr#*Z;KQmk6vEZ=S>imMVW0czd)*X1-|$; -zv*?Ysto-fuhx8AjQbzK+5lc+Bqh(2>oV_tV+#LCcnVCorR@yu{g7?|dHqC#$ROwc2 -zB`z8-J<OgnIQh_fbXb7}JuEQW3@JNU6$#Xyf7 -z+>F1V5oD-moqGZXVe~I35 -z;AsAG_F1K^VCAMw)9m#i)SW2=@(Z)v+>qdP(nWu<>YevV>u%+0>Gl(i(enGRt)3b* -z{>m1;1lYvwVC5TIV8sunrZbZtj{26^UReRc;{77meoVw -zhf8ZHHA}<~ABNl#4s6e#eOH1<8oO>j^o~Xvoguf|y6zy{{s`vl4lw^AMC=O$+A2Kl -z;QkbO{yE~S%0#~frYMyVb#~T;2MW9`EA@J6G@V7xyjtFyOS6k#yH*r4J96pqrhD`+ -z)Ty%IsJBM~9E4nYUK#0!Cyy`KBK?oUHHoz$hX$!%(S}bCEqTpPmGjg8oi}(p?h0i$ -za5dWEH|x#);d!lMoO@?Y&I&s4#O$SFzv7SfbGoHB@8bhO8c%V~IuUm4sm`B(-7;q# -zi1zF9m1}>`6on{VU7K<+0glgT+Ws7DR#56O?;#UhLNmo6dU8 -zlO?srRrQ^MLuJg55B>OQss@A2fXWGs+=)Jo6MbquX(R}7=pO;>1rr>&riKKsAF)IJbL~#+F{h(w>XaAT`||ySz210dL|Fa_uGkJ6;lD?5fcTgWQEwK -zNH66{E_KPAT^JOs59LXY-9^8@fUw9&+La!{6_Todfnpd~Pv(lSe~Kjl#H;f+3&ph? -z=!mC69V^uHWioQsI!y&IyS^qm%b+MU*MJF;u3OZDJb&P;xHiQ3)5U9kI@SBE^Q2AV -zhYtQz2HG*%_^Sd&V&#cvE)^W_bC0vnisUpm-}EohT1;GPS>z`b&aTIOpW+XAu^e}= -zCg!EHtQ;Lu)M|`OenbQ&O!WITg4yaKFOT!OuKoSn@lpM!pSL_p)b!9(lLQbe$s?J;`Zo<*v?UTnrhh%-<_x9~PP@SvXYR8C6e -z`hB%SGm5`hUvD6pB57jBWoqq%<*I>wxmGzeg4g|KJVBThAza8~Fa6_9l%b1C_JIf1 -zL#tn4IjS20L+b`yqqg-1R-#OM2ev|&Umr0#a -z{TqnMw{C50>A(mX+Mm~#v7Ta7$LWk*H;-Ef69p-BosqG{)B$JW>IF3ep3>wJpf>4G -z!%ks1TZVm(5HV`r@p!`7RC=%u(MTg&>q@^PlY=-Y!YXHQ)q@SM&su=`U-8tsl6Ui6 -zkemUGroZ4_-QJnEqU-y2z{*RVH4hSX5&~k6 -zCeWraQ)e)qJ*qrsRPDaw*(mf^lv;=!Kf+3EIaT+jp>Aya1$Sm%Yl*_?e&~*sp?TjMaRLqWIMESKwKLB`T4{{ -zw}PYkO|X|@|HXp)-WB00QY&}G^4%x5)jvK7Ih^BXDEfVUN0Z!tEYG{0pn_56+r^Wa -zM=C8nc|6#!dxo*a$pZOY4~vik3ktQ-inD+>={5fLh{`6)L{Kv2u9zyDK|4?Ks3fyx -z5$%zI^c+>x*bG&d0?yO%N~yjSfn8Q>i5?+;dA&1wxJ>p;wu9?+7SlIWm*mKLPsF!_ -z6K8R`gU?7^Dl-o~^W&QCNKX|i_Lu#@8ARB55bGqP4W632rN|Rs-SgKg^AKwTdRL+Z -zy>;4#oBI=*?XwBKLTJLR^&JV}34RL4@wehRc#GEr{olsW)*EDw>3IzcMxs@TQBQp7 -z42EL##upPNc>%~SA>Dr5`b2b-9`CwAS@(FyzY=G}g&VklU{AH}INp6pyQ^xv&QMFn -zoauFsYF`x-0WV=PpPhZpL1zL&Ro$sr@90V$dJ``P5gQy4VgAma+0?{+3Nx<@U|5!QJ(&<5 -zM~mcWE&Ki~z&AP0-+nQ)x8GOOs;e3C3*J+36g$(+xJ;}Eb03V)>;f=b1K2te`6dB_ -zhMKLwj@WJ{aXv4&0V}c=NwwcnQS5h(GChKdH#|Y7>Qu#Yo&-r<2Dz1OxBf^{3}=w5QUP -z&s{Xcm~%#Ywrz(9>@0?`h14#NHJ{q7kf*-PxYzq_texhil`ODQ<}@EsD#Wng=ReAP -z=lqA6{D;;b61?Q@yn~Pwq5EE3dcAL^+%}-B+(&-P0PAY?kuczA_9wm=09NJN6SnXB -z6>_`a&h39~pr3Ve7zZc!aw9)q(=1mMrB$mLLCZSFo3P2iSjgE_Bw-_RS~1%j*AYG9 -zp`N(=M*!9Pjg>*%QE8`#r!VhXKjA%Rs+smDH$6-w`z7w8Cw=V51S*}jtB+oZ9y;j*$ -zXTB~UBkBOL1w}NO8WYjYPZHC%o}sUL^B+xKedh?A{}o0kpBuzh+K)6_86dIc#SC6i -zz$L-(@ZF*t0Q!X^^pkwI#OY31Y1=whPe?x>n_j1|$kuzC+2(Q201N2*{xf^*CV~+) -zk%-p*A=0Et6;m^b%Ph}MaO*akeW+xf#PIxXrrEXDP -zQKrQGJ+EAs9?kid;qIWQYn$`T9;eA@8UlPlJ8|E?L7#ciXb{i!7+W;gM+TP>_rv^* -zcc;`u*AbDLA_6Gg26LU6M_TpIGm_kZwKdJ+B@8|99weUy1yR+s;*JawX?NmNXUGnYFY16j?|& -za*SnzxmwS24fU|iuo32a6}Nl@V^LX>1f=4?v%BiP@Mk8P$nnE7o^RnBFWo1h1)dW~ -zhH0fH)v*0gb@XscI~JJ3oy4q!d^vg|1FCd|rfGlM3|+kmHNe)yDvjuT2{Om!8TiXY -zo|$qT3^~$JduiTJ3~c-rI&|dZ&fbyq=BR_x%-TOb7-9!~0CIMo1nqz*P!m8~8tZJ0 -zBKDLd-_WdE{woI++x6S8biwPRbSJ>H@Gm*32HK~^zl{i;0pevN-YdAOL76ET@kuA_ -z2gK?odEVACGM8%Y^1gn%C1RjF1`6mrrdseSv4#nzsdcy)-Ozk;D(H2%rts249KXv1 -zj_)$^WQTZ>>(c!LS(VLGtUCP76NK7-in)GwhqaYhpf7Ld<^;Wfn&h8$1seuO^kg2r -zP%B2Cn^&2TP6sSqhMyl#?VpMSDzk})(0VuZ@1z^K+g$34Jzk&Bw&d6UD)x)+)JRRE -zu1gch-%~X4=sWX~c&k#K&NpDiN6yH~V5r0WjI7^rJKnY_M#MLSsNx-gQS;MD64%+( -z;1jq8v3v|U@ -zj}C(-8-8b88YWJ3J5i-rF&Xd#vY+5F}aEckZ`)jL&f{ -z$8VmzD67Sp+gTiSpN`Jr{k{}Yb>4?PJY@+2{$?*_j&C3Ds~f;Xy*#;Y9(CV4VX?-- -zzy(*0@?*rzy055(ge`|jNYEuKFr>!nJ=Y0;*R8M136TdcoHGu1oqKiwekkW?Jr!*{ -za5K2zgXxFO^+NTmyMuw!^^w;j>;M*_O>T@Um_^0H*Me?$Ud -zibb%i@|cO1Hwm#Ll}^gn#4K5K@XBL3QTyhiwOU&6i(~Tpm&%XNk8brhHsJL{7v1$m -zZRJOEMjD%zT&ykPT=Nq1ZNxUUEybu*z-u{AVHUgy3@Yzdi_#ehuseIN+GgBtX&J6A -z3T9wF8;m1jTn56&5IzrBdkj35l7Y(mOo;4!Zz3L?ixxa`iZ@wyh1>gPbM(uLv@fst0qkvwWWvAB -zoOz(|W!kUf*jPbT@OoB2=|P4!TvzNHA~0=mvamv0%${tuapP_H=fL!u6ZEnNvN47E -zCn))*=hT?RI^!ZR9*gfB6NeTMM(G2|a%**R=zahZ -zL}e#hIC!;shh7_p8rL4*>8Dg!Ul2UoS2u0Jd7XBF`oKXZGP%Qwl^sJZvotQ61(d5* -zEM^_gV7oN4IM2@TRob2QJ*N+0d|!G&e}@5nOgKvP=_?KxpbP-zV}{6)G`!Ye;y%C5 -z-^;XAI-Gmpo?5qY$Q#oii8V4m@!C6{P|J+8LyTq0=m&4;vOx2>swnt(TwRe?-uuUY -zQ@rKRFP&qlRO~}kIXh3Oe2?CL-dF@~=i>E+JI~J#w74YD9~7u+7|k7IXwE+I2b1%t -zk}bmabD;+RN|1mbdi4vWFGuAwAbL`rHEn`jRB(~AkdbaGb>Jh}>t8*zY<2aekwfb5 -z0HP<>`mdYO0NV#P(eR?wUJg!|>Pj-KqbwA=bxExt%DYhOot87_Biezeu@P7GB98@w -zTk}|@v99<>klr0!^KLHVOppT*aOw%D4+gBpse=w2s{k -zxo4m44Z4}?#~1QZ>$UAJPbLMMrpvH*Z=zx|bs0lkfV04VH -znv+%nV5-k55$R>`DgPd3`&mQfpeI$q$2{wxgHwa!Nfe64)2SSFdpFVc$~(i$YcoB| -zmzC!j86RqxkHrun;ct5UD-yQ3DIN~GkBNMbgQjE>NLqZn)AFS%wXm;^Aj8sat$Tu0r(R@*-f4`uX;U#U1<(Du1HA+o2~I@j)I7 -z6>@ZhbyN>3s-@z;V;V_-p43Psx$&s)zAx@@=hmm*lF8VO5Vq-^Qg7lJg6&B?QsdT# -zJ><22p^;;6>Y&N`RJub5>EvD9TP~m`@?w|H@-wN@gPLP&4kvrHtk6XXY5wK+(3``O -zseiqOTI)R^GNS7&F -z^HSlULPY0eYw`1p2`W33Am{ZW+gk@G{Z!pBB7P(xGnb)1{gQsv_rzGUWlq;|`?x@z -zDwaE0=VvLYwpT1tL|4*JUJ^7l2+#A<>sO-X{rE>3_wPBm-R*z)oI@pUnC{z~ESbL` -zFaEhDja0P%u$@#+C`}A2eMo{Jra~=l=>2qbU1cr{^hVu=>t6<)1>&M_tZwl8hg3Cx -zvDsNTJI{;w!Kjj_=E6l}Ui;RhpuFl`gN?-5{#5b003BH$Ocxb@3d*rY32!|ZoA@I#*pzD6=|;A8aI9iTwtpc -z`LK6ej8nkeKB=~;#6$y;SWfB;OS!J-za{ccGREed^bRwx1 -z&NjvU(YWe9K^-d;(s3x~)jMr$iR^sd#Zah$WJ}3L6@F034Y+D@Yst0!Bz;Yp{=wu4 -zj_kZ}&8@MNb@Qa{Cnc^o{19liXG3aZs_i)mZ~|XE|n@y-{sqPWaVW>bJEc{e9EF>NdNj{s8};e!_%S -z#nX&8x!7cRqGurgnmm{vfe2z>)y+mF^EsA({3~P)@<_fn*zVO{hJvxyA+12`n@#%J -z+Ov|=KQ9;j9E|j6XIPrFT}5C>SFMnz#v=iD%?-6Rd880>ID>GsfDO}HdXLJCB)IFG -zta6)XE2&nfO6=2&TBTcvIOc#7`XDgP(Ze-@U8zQ9Y(n9hza0p{rY`G5rdlvA(%#r^ -z`P$uDIhS?Z_cdp2fR>^iJZNjCE#G_=ls7#K$|qOYU=viP#UrYr^9r*l58_EGP^DnW -z_~?IZZsNpm$=NQ|iv;zH1m&?bYp0y76RESvXrVVI7TF-99@s^y8M6=~=PEC>XZ)EOso$>Xx$;j`YY<-A){ATOh*#hjKD&-BT&Ft8qI -zdQD>2_YzU%47G57| -zrWMnhjZEW?Zuz6*+7r?vQ*br4NWBI7FPOIF7mud}*3}VX8OKUGh_d=g6cGIm2ZWIPJU5UG$RP})VeCrYQ3NZmHDM@%9he!0ZHyblohb7XF -zrUJC`&MiFq{QEvdx+*C)sBGyz3Rq>VcT*m}g7YZ#1&eDTUNlB%BzZgg4vQD=f@X*z -z8M?mgTfyvG{_lB#OdkWDGR;y4TK?-0g_CQ&m+RXkJVH%A;w1hcOn$*iKG6-v`10F6 -zn2gzjqD=ckxvQqjKf-U>z|B`E?d;Q7(=6ZTn|~ba&Gy>Nvco&Ibou|qy&`qh?8vv7 -zyh|hdbI%2GSE0(Ea+o$hL3BZ9ZVl@j((b^%73r{E+pH~&=psP4tA@%A)H?e0+Wu!W -z2XI$Sln1flR)Z{oYvY-!5vS#VL`x?giyTqRUHaSh3(0F=7{+fQy4(~)?yA&sKl;@lRbJ(Ow)&eH -z-FB=K(rl%*l6|+Cou0Bv|7Ei9bCB?odye&%{+na{mI|0QcNT|<12qM3zDLZ;E_&;& -z1@rQIV3t?!bnWueO#M#u&CDRdBBsh+FtG5uTQ{6x0rn;+66DYC0@vmyZ`Y^3@Zg+y -z>O1k2bHWeqbZyJ|zewoD$q6}7R!l%%3_i;ZPvX<+OQ4O1bQm&93V|m&;Os;QE=U@s -zYow!*pBSPp0FZMMi7Eo5n$kj>QfFFLBAFQk?Rg@TP7qRF)Me$w)C902o(X)D{YFZ7 -zlMjbamGGt?0=_+Bd>dna8$*9%MJ#PkK{{Apj%K+(|Dvn6Q3sOnK$*rh|fcraVzDS~nILHj9!$$#w{ -zFFaDTIrSu~~mE_9M*cxrzc=W8|y -z?@DJ$ue}9JrT+~ABTr%Im+7#AJA)B6Mw{;@VGA3x(MCpoQgnQ0xu3&NUM -zElmh-c2rpXHjxIl%FK{kx8ubznwIepJ86n}r37=bY`vRRl@cHR?V(n3gWp-|R~Z&r -zg1jU>sSELAV#g`iFy@W>_tF(bKQR^?yw@{i!=Kpy@D*pZsBh@NGp4`RZc~?E`PE<` -zlV>ROjwffsA4Eg*o-hy<)On+P)-@{owC}6Z+TuJJAmq}E_R60SgxOH&Wlw*>^2w3t -z`Pm1-P$7vmf9Z|*hO3!g{srG2YLqMOI#?SSvowXrMm@+cclN()olg2makYS*5Oj^5 -z#S|CW0F$ef@+;H!4dJPEY3YaN(lFm|KWSA{N74F&BJ>c~+Q@T7SU&epS|fMbvZELp -z#}E5?fqv4t1YbozsM_(vpQZANnw92V9#jXmT5Uh`OW7`@&m`L*g`@J9FI*}pCw*d3 -z#qp@pA>wUW<;_!j65?DtnVS(IVo*wFkHLCGiQO@b)?v0PV)*thR>N#gIy?U^(G=(U -zIBO1NAdMc&(j_7E9;+>7H_NJ-kU~41nKc0LpgAf%{LAj^Vy7fyOS_)EP`d|VO0+bA -z?RE>XmCQkxHs9q(A+IO$I#H$K4EM7kDT<2;$5CHk1xoYonJI#$Tzt;BhhdnN4p41Qbmeq`!voHG|o+o04!GUs!d}n;Hn6P6`-{=p*693V(+SMj(R;0bzt)&6M;0&Sm -zrsw038UE?B6z)-+O+C7$pJ}rWRKec#jkI_e1^R0S8g`y4iZ}n^bv+$rlZV^bVyn>a -zx-=S1uE;~*Tx_#U!s=F(`X@ymmvI6xq=uH8NiA0q8((NxCv9z>!-JNqO&d-H3OsAm -zHqgAj&n;hZ|DoCF0qh*u5fiDxL(t$^<9LZow%uZOJYStqRpi7bLpCBqlse2~4i`09 -zM_h?i;l#E~twsoOB8S330s=8W=}5NIdd{#4!haQ~8Z -z=aZ{SK$rdOeab&wK?SUUMR_+ZKJOUF-L=3b7OS`ACtwnLs3TAX+WuwtAN+tSj@ -zJ9g;OEYtjPC|E=3FI(5q(jAuHfzArxC{taLlkYvIkhOJVYK3O789ubGsyHMfH3-d8 -z&okfl1I3KDlo}*%3%&Uof~*zjE1{XtT` -z-9sS!JTkts3U!FHLFD>bD+1X``+Q8u@CO9~L9EMHxc#4%lc!}Lgnfn?O#`_>SA^R8 -zkJda)n7%8W#&n<{bTsHXyq@8RiSQ#>wZt7HeWh!xF;z)ov(sbSt<78`=!Ep8^eM{yplb4VT89oOIT{L%xKGa3O?C -zrs0w&y~u*I^KMk&OAqM}5K(h8^XFdyw;IN@+GKJH -z9`Zf2^@7E9^i6gjU(Cu>F_PgtfDS0wC`6>Z0&JE8iBFv4N{%F;OHnjT^tBA_BS^6b4lK$V#U -z?WoYicAQz${#j>0{mXHHRNQ^nnfqATNH~^F?|zY5QcC>GgAX0W{s{L4nqIt)5y -z=>UB>H^Qo>#DKRdM?2iwq~})lue@nmZAVTP8KL!sWfgZf#XGVynMH^B?gkX_HV>xb -z-mnU+m*&Jb2+0)$srurX@peB~?Cbdq9*Z=oP1l_H205knGiM}+aY4uxrmNk>QIl~c -zwFbELexhxzGp+*#iTl91t8d#6lUaIM@L?JMKP_N(u%+06wp8jaOQ_%_mZ$l+@^@R; -z6vQK9)AuuLA!(=(+GwjSs`ih@wRw49w#wb=Hg3KO-e~8!H{41#ZR)T$K&|#2>=KpS`V0C*wq*^xs{?ziT1U8MxT70MDfJ%}MB2RGsq_wepAR -zaU^AbWa(Y7>!Lo+H|JpWhrw*Y+>7HZ6okIG(|PUaK@(R-sJkfqeAr&`zo?GeS$J4} -zI@aEU8d|e>tLRWE1Jr{*{MgBy{xsiW=va4bJ-U*!-USnpb-o0A^qsPFG6jIg9GeB_ -zt6cLFeDNLfCd23vdDCt^sqv@a>97wPHR${q+>;{Y*|h>)> -zu>JTSPPYAp>3{3DkB230|1-DyZ~gRfAneKZKLr!&pO_oiYK~=y6g&83?@Dy5Xesct -zZ)@DetU>oi;Vxj<$+20|&iGj13%HM~C9G+9Pa&R&xVClA?8!CW0E$SkV97+_#6jZq -zrHefp@9ChQ2Lh8r$8oNy_=xdm!_!GC9evIe+j8Y-R=6(bp;*hB{(zb?RQwOXxsKyZ -zV}fon*F2bg!AhlpHsIrEI#Z4myB1`da>wWF`;Eu}J+N98*#A^*&DQn#KJ9L?7A`JP -z#x><$M*PdY_tBLasRMRXMJ{pEVh;xWO=vAbmU~6-EUOhYP_6xXNKK#K?cJTTX7_Tk -za>U4AVB!4qqvirH?zg&|h(6$eG3Bqdu$3>mDI5RM@<-^3Uh^&CZDb7gMhYtaqC_ci -zc2z|A?#qE>xe>mkLNrJR2~H#t6So;pd!yE_0t2xt&;Oo|OxwMdmo1CYl(fgo^L2ip -zx5o#W3q@X7IsDk0y0+2&$33@&`=qf9t|oaI;T_`VDwMrJln`@W_zbK?be8TU_2#mC -zB|6j85)ZJdy`WpM-QIfp_C(k1$$*1~02a@ANB^vuqi=xMvRX)%E!vvc)D?EGX@wYh -z45d=gLneyMZR^&%M}3<;q$8M%njWl3ZBR;BbXXkqso!%_v2>ojw-*X*EmimD -zBw#pepM|@~26QS8+L+Vc(ip{kGdi0QOv*zT8X(@zU{-Fg=(p2+>B<1`$G5{Gi4}&! -zxx`~QY6(^%d-Hpbn*pf@Pt$f-9-#g#zHB@Vdarp;aS<}_X_J}?UnpZIsX -z{G2g`sy2c29lfmLt{2$~x`Wck3NG+2Ta^BH)T{lMFBtSU`(9z*FxDvpK -zr_ju&_Yaum@R;u75vv3FKin_rwiJB&3r%&=vNiuG`#p16JESi7)`zrh4t&@tiD^*U -zDAIBjLe$2RPfM(wllJ}Bx>g~P7LVOx{v@1k$$IH4>xk(9S;78Qmgctp{#@Iq1@?JO -z{dK@Q86NAJ0NeWqU?oDNASTEzbPd4i6-*oL<9_qhN3yLPD==#LglY3-4R9a2jyhCo -zITtwiu0wGn-Y9fv+b0awhh;*47~h18Qa@ACtO52z`}e`nC7D0K4ivIpdq)WhzuOd~ -zy`?)y8kO-NFY&#_Ibhm+>S+Qju`*n%?JvA-(^;#|q(}3H?idXpfaRiZ_jLxY`5B|r -z*?K?l;$X`5CD#GcjWj~-eUz4`)U+9NnRLOj4|n5*q}gJMOx5s(c*URY3Zjg8OQ#4E -z*$mM`si71|hU^&|TLe6`#A^$^RjDIH!4+L2 -zwtO#_Fs}S(0{+J~j{G7;?#Ryo$6>x4DJF@cLDx5_$L-cpULF6S-zdl)SmEgw2+`?> -z>+Thi;&WaDq|AqbJ1v^k?LMITEok#M -zp;G*N-3L_H{-3E2_n(Q@*pLStI$C3cZqQK(?s{dnkH$<Vs#3=DzCmg(o!yegxRa -zq5oe)__M6a|GO}H&EHRx1CP7TWHp}z1^8p5*ZlnWt3=mcc|nIrvo`umD3Z0jW)*dW -zVs_y2elnj>mT|Orp$@H5+h49F894Co=)Um5p73l{RaQGNBB4aDIzyZ|K`)Lo-FuO% -z=N5h?Mwcbx&b2-Do$mo{EHlVpb2CuPwa7+PypnsFH@#*@%ziigx6^?Y{0aJAT`PQpQWp -zLTE<}84x##k6fJiokBAAfCx!WAJoH?C8zI;X~BTvGS(MvDBU9C`M*9O|2>04Jf-i*MaB7BUMlNA&;cC>{h$ -z5?LF{(sA-n+oLKXlcKtQR2NMHx20AtNTOXm+#23p%ax$co-0=6y056;x$Q6*h1~u%?0E)5wh$l%Rcn0S2AZH`>tW@iMFLtTH7vW< -zO#0WCu{#Pdxa8cH*ZD6@LXDXP-wbKj{6>*Yl8&|3YeV+_Co&xzSOGpf*%Jh_C24$ -zJ=sUvQSdI51MtM2a-V+=_`ev8qQ$1eE&%R}f}ajvWsuwskVK>h+ulemrWzK*$02C)iZ?q4%wza?wMBNGhJfh -zCN3;;>Nv9q-{Trxb+PGaolAxh05pLi+nLe3$~=EYm{zUG63XvhWAoc|oX)eqCvx|eQe~g?XRg6}21&&Ru-C|HyPN1-z54YC -z6Bl8P;U_W~6g}te(Qs9SI5uARBY -z7!GSr9!rL?F7|8~zgT)QzC-d`lKV2XS7gGD+~#`KJynVf$`&~)6wzlG-5N+?rt8+O -zGkjAfyFVYu%%<_Zgc}^*odDf4Q;5AU*5Rw3@-jCsK^#80biz3EbMk4S%(CRuT!0IE -z#suMRfBle$*#;mq%)FPyd@IL1Yk3#NdD<71wq}tf>hr3=TmDqn -z4kRpw1|#L)keyB+{=BdeFEq?^zeKRLTEX|6fxcKJ7u8$bC*25GD*&ZiG`te9ts -zI&09=hy52el7)tE+|SZ6rrisv1{7&NR!d5jn!#b{*%t@$umx^xf@+ -z*vCz^svSZ4ofaKD^2;ZZ&^M#8s -zV?Ny;O^)>wa&s@P?%qxax%Nood|`gf*pqILQpb9h6X&bDEXP+LX$i=M#zn(Rh)z0(t>u}8Jb8M+hQ?d@TG*ih-Au755B_F`)nl74w67GAQ3%W -z#Rd2ZlqwvOm4p=nLmsPeZf*!IY8K_j1|5F%5gZ?B3iqR9as%kMjA++PzNFc8!bl};5qnb8h6c|{ckPENUc-V@?=W`a!I -z1xo`73?@|@Yd}&U87e)0lm)ea>`MHQEUMpsO}^2^zC>Xv&X{;5MfhR=8_rt9v$V0N -z!o8R7g*+Na!GuhQ)>urx?QgGL^``t@Yn1hO@$NLghodlG$qW&CUMdQKw;Qk(p5*JyR -z=sw6C&9<0!6Gmo-EK(w>s_hEoQfH?oQfDWcK1zhUe4CG4x^2SJ3(9+uq37CBTa8Hj -z5NxZAhkpndEurtpeaSmMWG4Gf+CT#5offK09H~1H90ANGHSI+P4u`U8?VkkjX8qWF -zzci~iy6Acz=lv)Dd`I0g@a&8)s#iNgd1`ys3`aT?S!gmS1M87a{XH>TW3pKhns{yZ -z3-M7AG2<-BW{0_ccQo3@et^_Z(d$&awAm(n@T?@#NF=+Hs`QNQe1@xYIXUuE$zz8sjmu>#jBx0BPK_UU+~x5o+NTub2in#j6i{E -z)E~ui9wF23D-WiR($CkPeIwG1P$T6fZz~nOyG-(ri&>JJ(v%ycl*j?5BWEU+t>t~V|i23zbx+6x-mF{Z#oc7nSsRbm_Eci~Ez7^?3(R4_yF|WHsbAf|R!p+oZ -zPAgJ;ku$ospadn~lM4Q3SfP=uK&n&f65Pr$@SzcOe)xc5^w6j_?p&6k{d(=w%?>4ucPe%k(=jQC$A1rt(Z2G0>X&xfMQrxW -zC2h^$4}JnkPhSJYN0O0x#BiHU5Jt&Hq`J7zJ25mw_elItIr73}xB2ZFu`%x&#{jTH -zqSqWy#S`xUXaM0=E2r&(p}c^uopRn!@$-9LTzWHxnIzMZZ#>ZlV)u5C)!)pL(eZ4l*{tr3OUvCY2ON7l@PT_81BHG)DsLVc1J} -zNw%YB5%@e=w|1NAWZ@~xxET6?ud{BX+zmg{>tss8Z8aOyV5LrlH=t7%gzy`b(EoxK -zdV>~v*9CZ&nnP4@$SpS9iUWdhafe&~Viy+|we>G{@fFK+vx6I966a}Yw0RP@&wED;F)>*(WacK^fxXUhDK?I~T4V!2iS&$_^W -zrT+?d@BS0>-$DB6ECkNWX+FCi*KZTPT&ue~Ax7EAh{9(;LrnBrU7_0pB<} -zStlDGb`apvEV%j~G=b$!fseXQcY|;pnXO%ir1F^TJ8vA&Mk(#b-tNSd0TM;^P3w-X -z6A4)DdKdk}ORJSJ*3x14RDf0xn|0)ju7c$R@6dd~0Jqsk+?~L#QKO2j?!9huQLO2f -zOBvZ&jP)4Jz=4ed4kL)`vGJu=o5fO2g!H+JN|G!tJ=dtI!E&%{^o -z>ucXFRbg3=t)-i8eb}=JS}4AS9cFuneTX_Xg%*9c`$#+~2oQdI{tJkmi0k~IHW>d@ -zYo<@wcfM^*Z&)F(^ID9U$=-qV6TT`@RzrN}Xte5{SX^Lq(#$YcF;PL=N!v&diM{k6 -zj(;2aE+_c4p|!FCRxYu;^d%FL;O;w+|01j2`5o+E^kY?*gM~Ldg?H_ep!^jjfM7+5 -zUjdkgg=`7#lX5KlE01p#aiOO$gdHsK=5P0 -zg$A-DuG0aic`tC4zQziod$mYCLk$JTdxWFi`7LxgCBp0xeK3 -z_AjQfW?e6S`=ylm^Xw_b!EcT>u^;kcdrwFA@l?(8m(OQWb(S^r)txRH#0b1MjXGzw -z;B->~CiS&ZYN#mnj`&T5OsQNGo*8QTH=Sm4u~82$T?h_wG*)XgB985z_ERx#k=h*Gc&EwUztnI1P{PXu1w2+L(R+S -zR=y+O{Vwqq%dX)|t$baqBAOoPb#{gzjMQW$WZrFZfV_%?1dq~O8|V_LG(^Kga%N8}09+<@_PR*;UM98m -zx*&Wm|H1YoHRbjAr2|0mFKiEqNhB -zgyvm{e}#QtIV}@tBvPI@8!cI8%8^3;yggc(FdM1&MM%^y7xzVMVKZ!8@|@dqh`dX$ -zi}Qr*m)nsMvRJ8wd&80Kz!`=E-_Mbsb`cWopTdG;7pfUQx{_Yt&;>4&>CKn!Q8iV2 -z7S0h=Z;?il_zJQ!ko?R)7xwAOZj<{!ENwOd4F9z2;19U5Cu)earsV6zs9<@Wf+ajt -z=2e5ZMqY*Bu4NtMO$S1c4+I}4HOapdEJgLxrRUJkk8}foNmA+?H