#!/usr/bin/env bash
# =============================================================================
# AutoSeg Viewer — instalador único (Ubuntu/Debian e Oracle Linux/RHEL).
#
#   curl -fsSL https://pkg.rtmedical.ai/api/packages/apps/generic/viewer/latest/install-viewer.sh | sudo bash -s -- --yes
#
# Faz tudo: instala o k3s (servidor único) e o helm se faltarem, libera o
# firewall, gera senhas e certificados e sobe o viewer com as imagens públicas
# de pkg.rtmedical.ai/apps. Rodar de novo atualiza e reconfigura sem perder
# dados; as opções ficam guardadas em /opt/autoseg-viewer/config.env.
# Opções: sudo bash install-viewer.sh --help
# =============================================================================
set -euo pipefail

VERSION="1.4.1"
DEMO_DEFAULT_URL='https://pkg.rtmedical.ai/api/packages/apps/generic/viewer-samples/1.0.0/demo.zip'
DEMO_DEFAULT_SHA256='3318b81662eb56607742e6443628adfea472512fa61f6f2b424548c3687c620c'
DIR=/opt/autoseg-viewer
NS=autoseg
RELEASE=autoseg
K3S_VERSION="${K3S_VERSION:-v1.34.3+k3s1}"
HELM_VERSION="${HELM_VERSION:-v3.19.4}"
CONFIG_KEYS="PACS_URL PACS_WADO_URI PACS_QIDO PACS_USER PACS_PASSWORD PACS_TOKEN_URL PACS_CLIENT_ID PACS_CLIENT_SECRET PACS_HOSTS SERVER_IP APP_DOMAIN SSO_DOMAIN APP_USER APP_PASSWORD HOSPITAL"
MANAGED_LABEL="app.kubernetes.io/managed-by=install-viewer"
export PATH="/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"

say()  { printf '\n\033[1m==> %s\033[0m\n' "$*"; }
info() { printf '    %s\n' "$*"; }
warn() { printf '\033[33mAVISO:\033[0m %s\n' "$*" >&2; }
die()  { printf '\033[31mERRO:\033[0m %s\n' "$*" >&2; exit 1; }
have() { command -v "$1" >/dev/null 2>&1; }
is_ip() { [[ $1 =~ ^[0-9]{1,3}(\.[0-9]{1,3}){3}$ ]]; }

usage() {
  cat <<'EOF'
AutoSeg Viewer — instalador único.

Uso: sudo bash install-viewer.sh [opções]

PACS (sem --pacs-url ele pergunta; --yes instala sem PACS):
  --pacs-url URL           WADO-RS do PACS, como o SERVIDOR o alcança (nunca localhost)
  --pacs-qido URL          QIDO-RS, se não for o mesmo endereço do WADO-RS
  --pacs-wado-uri URL      WADO-URI, se o PACS usar (deduzido quando o WADO-RS termina em /rs)
  --pacs-user U --pacs-password P
                           PACS com usuário e senha (basic); --pacs-user "" = sem login
  --pacs-token-url URL --pacs-client-id ID --pacs-client-secret S
                           PACS com login OIDC (ex.: Agfa EI); --pacs-token-url "" remove
  --pacs-ca ARQUIVO.pem    CA do hospital, para PACS em https com certificado próprio
                           (--pacs-ca "" remove)
  --pacs-host NOME=IP      resolve NOME para IP dentro do k3s, para PACS sem DNS
                           (repita para vários nomes; --pacs-host "" remove)

Endereços (padrão: o IP do servidor, sem precisar de DNS):
  --ip IP                  IP do servidor (padrão: detectado a cada execução)
  --domain ENDEREÇO        endereço do app: um IP (padrão) ou um nome no DNS
  --sso-domain NOME        endereço do login, só quando --domain é um nome
                           (com IP, o login fica no mesmo endereço). "auto" = padrão

Acesso:
  --user U                 usuário  (padrão: teste)
  --password P             senha    (padrão: teste)
  --hospital NOME          nome do hospital (padrão: Hospital)
  --demo                   instala com 2 estudos END2END locais, sem PACS externo
  --demo-archive URL       ZIP DICOM anonimizado com CT, RTSTRUCT, RTPLAN e RTDOSE;
                           instala sem PACS externo e importa no backend local
  --demo-sha256 HASH       SHA-256 obrigatório do ZIP (64 caracteres hexadecimais)

Manutenção:
  --reset                  APAGA dados, senhas e certificados e instala do zero
  --uninstall              remove o viewer e seus dados (o k3s continua)
  --check                  só confere o sistema e o pacote (sem instalar k3s nem viewer)
  --small                  força o perfil de pouca memória (automático abaixo de 7 GB)
  -y, --yes                não pergunta nada
  --version

Mudou o IP do servidor?  Rode de novo: ele detecta e reconfigura.
Opções avançadas (vários PACS etc.): /opt/autoseg-viewer/values-extra.yaml
(valores do chart), aplicado por último.
EOF
}

# ---------------------------------------------------------------- opções ----
parse_args() {
  MODE=install; ASSUME_YES=0; FORCE_SMALL=0; DEMO_MODE=0; DEMO_ARCHIVE=''; DEMO_SHA256=''
  while [ $# -gt 0 ]; do
    case "$1" in
      --pacs-url|--pacs-wado-uri|--pacs-qido|--pacs-user|--pacs-password|--pacs-token-url|\
      --pacs-client-id|--pacs-client-secret|--pacs-ca|--pacs-host|--ip|--domain|--sso-domain|\
      --user|--password|--hospital|--demo-archive|--demo-sha256)
        [ $# -ge 2 ] || die "$1 precisa de um valor"
        case "$1" in
          --pacs-url)           ARG_PACS_URL=$2 ;;
          --pacs-wado-uri)      ARG_PACS_WADO_URI=$2 ;;
          --pacs-qido)          ARG_PACS_QIDO=$2 ;;
          --pacs-user)          ARG_PACS_USER=$2 ;;
          --pacs-password)      ARG_PACS_PASSWORD=$2 ;;
          --pacs-token-url)     ARG_PACS_TOKEN_URL=$2 ;;
          --pacs-client-id)     ARG_PACS_CLIENT_ID=$2 ;;
          --pacs-client-secret) ARG_PACS_CLIENT_SECRET=$2 ;;
          --pacs-ca)            ARG_PACS_CA=$2 ;;
          --pacs-host)          ARG_PACS_HOSTS="${ARG_PACS_HOSTS:+$ARG_PACS_HOSTS }$2" ;;
          --ip)                 ARG_IP=$2 ;;
          --domain)             ARG_DOMAIN=$2 ;;
          --sso-domain)         ARG_SSO_DOMAIN=$2 ;;
          --user)               ARG_USER=$2 ;;
          --password)           ARG_PASSWORD=$2 ;;
          --hospital)           ARG_HOSPITAL=$2 ;;
          --demo-archive)       DEMO_ARCHIVE=$2 ;;
          --demo-sha256)        DEMO_SHA256=$2 ;;
        esac
        shift ;;
      --reset)     MODE=reset ;;
      --uninstall) MODE=uninstall ;;
      --check)     MODE=check ;;
      --small)     FORCE_SMALL=1 ;;
      --demo)      DEMO_MODE=1 ;;
      -y|--yes)    ASSUME_YES=1 ;;
      -h|--help)   usage; exit 0 ;;
      --version)   echo "$VERSION"; exit 0 ;;
      *) die "opção desconhecida: $1 (veja --help)" ;;
    esac
    shift
  done
  if [ "$DEMO_MODE" = 1 ]; then
    DEMO_ARCHIVE=${DEMO_ARCHIVE:-$DEMO_DEFAULT_URL}
    DEMO_SHA256=${DEMO_SHA256:-$DEMO_DEFAULT_SHA256}
  fi
}

load_config() {
  local k
  for k in $CONFIG_KEYS; do printf -v "$k" '%s' ''; done
  APP_USER=teste; APP_PASSWORD=teste; HOSPITAL=Hospital
  # shellcheck disable=SC1091
  [ -f "$DIR/config.env" ] && . "$DIR/config.env"
  if [ -n "${ARG_PACS_URL+x}" ]; then
    # PACS novo: os endereços derivados do anterior deixam de valer.
    PACS_URL=$ARG_PACS_URL; PACS_WADO_URI=''; PACS_QIDO=''
  fi
  [ -n "${ARG_PACS_WADO_URI+x}" ] && PACS_WADO_URI=$ARG_PACS_WADO_URI
  [ -n "${ARG_PACS_QIDO+x}" ] && PACS_QIDO=$ARG_PACS_QIDO
  # Login do PACS: usuário/senha e OIDC são exclusivos; o último informado vale.
  if [ -n "${ARG_PACS_USER+x}" ]; then
    PACS_USER=$ARG_PACS_USER; PACS_PASSWORD=''
    if [ -n "$PACS_USER" ]; then PACS_TOKEN_URL=''; PACS_CLIENT_ID=''; PACS_CLIENT_SECRET=''; fi
  fi
  [ -n "${ARG_PACS_PASSWORD+x}" ] && PACS_PASSWORD=$ARG_PACS_PASSWORD
  if [ -n "${ARG_PACS_TOKEN_URL+x}" ]; then
    PACS_TOKEN_URL=$ARG_PACS_TOKEN_URL; PACS_CLIENT_ID=''; PACS_CLIENT_SECRET=''
    if [ -n "$PACS_TOKEN_URL" ]; then PACS_USER=''; PACS_PASSWORD=''; fi
  fi
  [ -n "${ARG_PACS_CLIENT_ID+x}" ] && PACS_CLIENT_ID=$ARG_PACS_CLIENT_ID
  [ -n "${ARG_PACS_CLIENT_SECRET+x}" ] && PACS_CLIENT_SECRET=$ARG_PACS_CLIENT_SECRET
  # A lista informada substitui a anterior inteira.
  if [ -n "${ARG_PACS_HOSTS+x}" ]; then PACS_HOSTS=$(echo $ARG_PACS_HOSTS); fi
  [ -n "${ARG_IP+x}" ] && SERVER_IP=$ARG_IP
  [ -n "${ARG_DOMAIN+x}" ] && APP_DOMAIN=$ARG_DOMAIN
  [ -n "${ARG_SSO_DOMAIN+x}" ] && SSO_DOMAIN=$ARG_SSO_DOMAIN
  [ "$APP_DOMAIN" = auto ] && APP_DOMAIN=''
  [ "$SSO_DOMAIN" = auto ] && SSO_DOMAIN=''
  [ -n "${ARG_USER+x}" ] && APP_USER=$ARG_USER
  [ -n "${ARG_PASSWORD+x}" ] && APP_PASSWORD=$ARG_PASSWORD
  [ -n "${ARG_HOSPITAL+x}" ] && HOSPITAL=$ARG_HOSPITAL
  PACS_URL=${PACS_URL%/}; PACS_WADO_URI=${PACS_WADO_URI%/}; PACS_QIDO=${PACS_QIDO%/}
  if [ -n "$DEMO_ARCHIVE" ]; then
    # A demo é exclusivamente local, inclusive numa atualização de uma instalação
    # que antes apontava para um PACS externo.
    PACS_URL=''; PACS_WADO_URI=''; PACS_QIDO=''; PACS_USER=''; PACS_PASSWORD=''
    PACS_TOKEN_URL=''; PACS_CLIENT_ID=''; PACS_CLIENT_SECRET=''; PACS_HOSTS=''
  fi
  return 0
}

save_config() {
  local k
  mkdir -p "$DIR"; chmod 700 "$DIR"
  {
    echo "# AutoSeg Viewer — opções da última execução do install-viewer.sh $VERSION"
    for k in $CONFIG_KEYS; do printf '%s=%q\n' "$k" "${!k}"; done
  } > "$DIR/config.env"
  chmod 600 "$DIR/config.env"
}

# A CA do PACS é copiada para $DIR: o arquivo original pode sumir depois.
apply_pacs_ca_arg() {
  [ -n "${ARG_PACS_CA+x}" ] || return 0
  if [ -z "$ARG_PACS_CA" ]; then rm -f "$DIR/pacs-ca.pem"; return 0; fi
  [ -r "$ARG_PACS_CA" ] || die "não consegui ler o arquivo de --pacs-ca: $ARG_PACS_CA"
  grep -q 'BEGIN CERTIFICATE' "$ARG_PACS_CA" || die "--pacs-ca não é um certificado PEM: $ARG_PACS_CA"
  install -m 600 "$ARG_PACS_CA" "$DIR/pacs-ca.pem"
}
has_pacs_ca() { [ -s "$DIR/pacs-ca.pem" ]; }

tty_ok() { [ "$ASSUME_YES" = 0 ] && { : </dev/tty; } 2>/dev/null; }

ask_pacs() {
  [ -z "$DEMO_ARCHIVE" ] || return 0
  [ -z "$PACS_URL" ] || return 0
  if tty_ok; then
    echo
    echo "Endereço DICOMweb (WADO-RS) do PACS, como este servidor o alcança."
    echo "  ex.: http://IP-DO-PACS:PORTA/caminho/rs   (Enter = instalar sem PACS por enquanto)"
    printf 'PACS: '; read -r PACS_URL </dev/tty || true
    PACS_URL=${PACS_URL%/}
  fi
  [ -n "$PACS_URL" ] || warn "instalando sem PACS; depois rode de novo com --pacs-url URL"
}

confirm() {
  [ "$ASSUME_YES" = 1 ] && return 0
  tty_ok || die "$1 — confirme com --yes"
  printf '\n%s\nDigite "sim" para continuar: ' "$1"
  local r; read -r r </dev/tty || true
  [ "$r" = sim ] || die "cancelado"
}

detect_ip() {
  local ip=''
  have ip && ip=$(ip -4 route get 1.1.1.1 2>/dev/null | awk '{for(i=1;i<=NF;i++) if($i=="src"){print $(i+1); exit}}')
  [ -z "$ip" ] && have hostname && ip=$(hostname -I 2>/dev/null | awk '{print $1}')
  printf '%s' "$ip"
}

# Modo IP (padrão, sem DNS): app e login no mesmo endereço https://IP; o login
# fica em /realms, /resources, /js e /admin. Com nomes, cada um tem o seu.
resolve() {
  IP=${SERVER_IP:-$(detect_ip)}
  [ -n "$IP" ] || die "não consegui detectar o IP do servidor; use --ip"
  APP=${APP_DOMAIN:-$IP}
  if is_ip "$APP"; then
    IP_MODE=1; SSO=$APP
    if [ -n "$SSO_DOMAIN" ] && [ "$SSO_DOMAIN" != "$APP" ]; then
      warn "com o app num IP, o login fica no mesmo endereço (https://$APP); --sso-domain ignorado"
    fi
  else
    IP_MODE=0
    if [ -n "$SSO_DOMAIN" ]; then SSO=$SSO_DOMAIN
    elif [ "${APP#viewer.}" != "$APP" ]; then SSO="sso.${APP#viewer.}"
    else SSO="sso.$APP"; fi
  fi
  WADO_URI=$PACS_WADO_URI
  if [ -z "$WADO_URI" ] && [ "${PACS_URL%/rs}" != "$PACS_URL" ]; then WADO_URI="${PACS_URL%/rs}/wado"; fi
  return 0
}

validate() {
  local h
  is_ip "$IP" || die "IP inválido: $IP"
  for h in "$APP" "$SSO"; do
    [[ $h =~ ^[A-Za-z0-9]([A-Za-z0-9.-]*[A-Za-z0-9])?$ ]] || die "endereço inválido: $h"
  done
  if [ "$IP_MODE" = 0 ]; then
    [ "$APP" != "$SSO" ] || die "o endereço do app e o do login têm de ser diferentes"
    is_ip "$SSO" && die "com --domain sendo um nome, --sso-domain também tem de ser um nome (ou use um IP no --domain para os dois)"
  fi
  [[ $APP_USER =~ ^[A-Za-z0-9._@-]+$ ]] || die "usuário inválido: $APP_USER"
  [ -n "$APP_PASSWORD" ] || die "a senha não pode ser vazia"
  if [ -n "$DEMO_ARCHIVE" ]; then
    [[ $DEMO_SHA256 =~ ^[0-9a-fA-F]{64}$ ]] || die "--demo-archive exige --demo-sha256 com 64 caracteres hexadecimais"
    [[ $DEMO_ARCHIVE =~ ^https:// ]] || [ -r "$DEMO_ARCHIVE" ] || die "--demo-archive precisa ser URL https ou arquivo local legível"
  fi
  if [ -n "$PACS_URL" ]; then
    [[ $PACS_URL =~ ^https?://[^/]+ ]] || die "--pacs-url tem de começar com http:// ou https://"
    [[ $PACS_URL =~ ^https?://(localhost|127\.)  ]] && die "o PACS é acessado pelo servidor do viewer: use o IP ou nome do PACS na rede, não localhost"
    for h in "$WADO_URI" "$PACS_QIDO" "$PACS_TOKEN_URL"; do
      [ -z "$h" ] || [[ $h =~ ^https?://[^/]+ ]] || die "endereço do PACS inválido: $h"
    done
  fi
  [ -z "$PACS_USER" ] || [ -n "$PACS_PASSWORD" ] || die "--pacs-user precisa de --pacs-password"
  if [ -n "$PACS_TOKEN_URL" ]; then
    [ -n "$PACS_CLIENT_ID" ] && [ -n "$PACS_CLIENT_SECRET" ] || die "--pacs-token-url precisa de --pacs-client-id e --pacs-client-secret"
  fi
  for h in $PACS_HOSTS; do
    [[ $h =~ ^[A-Za-z0-9]([A-Za-z0-9.-]*[A-Za-z0-9])?=[0-9]{1,3}(\.[0-9]{1,3}){3}$ ]] || die "--pacs-host tem de ser NOME=IP (recebido: $h)"
  done
  return 0
}

# ------------------------------------------------------------- sistema -------
preflight() {
  say "Conferindo o servidor"
  [ "$(uname -m)" = x86_64 ] || die "só x86_64 é suportado (este é $(uname -m))"
  [ -r /etc/os-release ] || die "sistema não suportado (sem /etc/os-release)"
  local ids; ids=$(. /etc/os-release; echo " ${ID:-} ${ID_LIKE:-} ")
  OS_NAME=$(. /etc/os-release; echo "${PRETTY_NAME:-${ID:-?}}")
  case "$ids" in
    *" ubuntu "*|*" debian "*) PKG=apt ;;
    *" ol "*|*" rhel "*|*" centos "*|*" fedora "*|*" rocky "*|*" almalinux "*) if have dnf; then PKG=dnf; else PKG=yum; fi ;;
    *) die "sistema não suportado: $OS_NAME (suportados: Ubuntu/Debian e Oracle Linux/RHEL)" ;;
  esac
  info "sistema: $OS_NAME ($PKG)"
  local mem disk
  # Em MB: uma VM de "4 GB" mostra ~3,7 GB ao sistema.
  mem=$(awk '/^MemTotal/{printf "%d", $2/1024}' /proc/meminfo)
  [ "$mem" -ge 3200 ] || die "memória insuficiente: $((mem / 1024)) GB (mínimo 4 GB)"
  SMALL=$FORCE_SMALL
  if [ "$mem" -lt 7000 ]; then SMALL=1; fi
  if [ "$SMALL" = 1 ]; then
    info "memória: $((mem / 1024)) GB — perfil de pouca memória (reservas reduzidas)"
    [ "$mem" -ge 7000 ] || warn "com menos de 8 GB funciona para poucos usuários; não rode outros serviços pesados neste servidor"
  else
    info "memória: $((mem / 1024)) GB"
  fi
  mkdir -p /var/lib/rancher 2>/dev/null || true
  disk=$(df -Pk /var/lib/rancher 2>/dev/null | awk 'NR==2{printf "%d", $4/1048576}')
  info "disco livre em /var/lib/rancher: ${disk:-?} GB"
  [ "${disk:-99}" -ge 20 ] || warn "menos de 20 GB livres: as imagens ocupam ~3 GB e os dados crescem"

  local missing=() c
  for c in curl tar gzip openssl base64 sha256sum; do have "$c" || missing+=("$c"); done
  if [ ${#missing[@]} -gt 0 ]; then
    local pkgs=() p
    for c in "${missing[@]}"; do
      case $c in base64|sha256sum) p=coreutils ;; *) p=$c ;; esac
      [[ " ${pkgs[*]-} " == *" $p "* ]] || pkgs+=("$p")
    done
    info "instalando: ${pkgs[*]}"
    local log; log=$(mktemp)
    case $PKG in
      apt) { DEBIAN_FRONTEND=noninteractive apt-get update -qq &&
             DEBIAN_FRONTEND=noninteractive apt-get install -y -qq "${pkgs[@]}"; } >"$log" 2>&1 ;;
      *)   "$PKG" install -y -q "${pkgs[@]}" >"$log" 2>&1 ;;
    esac || { cat "$log" >&2; die "não consegui instalar: ${pkgs[*]}"; }
    rm -f "$log"
  fi
}

open_firewall() {
  if have firewall-cmd && systemctl is-active --quiet firewalld 2>/dev/null; then
    info "firewalld: liberando 80/443 e as redes internas do k3s"
    firewall-cmd -q --permanent --add-port=80/tcp --add-port=443/tcp || true
    firewall-cmd -q --permanent --zone=trusted --add-source=10.42.0.0/16 || true
    firewall-cmd -q --permanent --zone=trusted --add-source=10.43.0.0/16 || true
    firewall-cmd -q --reload || true
  fi
  if have ufw && ufw status 2>/dev/null | grep -q 'Status: active'; then
    info "ufw: liberando 80/443 e as redes internas do k3s"
    ufw allow 80/tcp >/dev/null; ufw allow 443/tcp >/dev/null
    ufw allow from 10.42.0.0/16 >/dev/null; ufw allow from 10.43.0.0/16 >/dev/null
  fi
  if systemctl is-enabled --quiet nm-cloud-setup.service 2>/dev/null; then
    warn "nm-cloud-setup atrapalha a rede do k3s: desativando (se a rede dos pods falhar, reinicie o servidor)"
    systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer >/dev/null 2>&1 || true
  fi
  return 0
}

wait_for() { # segundos descrição condição
  local secs=$1 what=$2 cond=$3 i=0
  until eval "$cond"; do
    i=$((i + 5)); [ "$i" -lt "$secs" ] || die "tempo esgotado esperando: $what"
    sleep 5
  done
}

ensure_k3s() {
  if [ -f /etc/rancher/k3s/k3s.yaml ]; then
    export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
  else
    say "Instalando o k3s $K3S_VERSION (servidor único)"
    curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="$K3S_VERSION" sh -s - --write-kubeconfig-mode 600
    export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
  fi
  have kubectl || die "kubectl não encontrado depois de instalar o k3s"
  info "aguardando o k3s ficar pronto"
  wait_for 300 "nó do k3s pronto" 'kubectl get nodes --no-headers 2>/dev/null | grep -qw Ready'
  # O IP do servidor mudou com o k3s rodando: o nó só pega o novo ao reiniciar.
  local node_ip
  node_ip=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}' 2>/dev/null || true)
  if [ -n "$node_ip" ] && have ip && systemctl cat k3s >/dev/null 2>&1 && ! ip -4 -o addr show | grep -q "inet $node_ip/"; then
    warn "o k3s ainda usa o IP antigo ($node_ip): reiniciando o k3s"
    systemctl restart k3s
    wait_for 300 "nó do k3s pronto" 'kubectl get nodes --no-headers 2>/dev/null | grep -qw Ready'
  fi
  info "aguardando o Traefik do k3s"
  wait_for 600 "Traefik (IngressRoute)" 'kubectl get crd ingressroutes.traefik.io tlsstores.traefik.io >/dev/null 2>&1'
}

ensure_helm() {
  have helm && return 0
  say "Instalando o helm $HELM_VERSION"
  local tmp; tmp=$(mktemp -d)
  curl -fsSL -o "$tmp/helm.tgz" "https://get.helm.sh/helm-$HELM_VERSION-linux-amd64.tar.gz"
  curl -fsSL -o "$tmp/helm.sha" "https://get.helm.sh/helm-$HELM_VERSION-linux-amd64.tar.gz.sha256sum"
  (cd "$tmp" && echo "$(awk '{print $1}' helm.sha)  helm.tgz" | sha256sum -c --quiet -) || die "checksum do helm não confere"
  tar -xzf "$tmp/helm.tgz" -C "$tmp"
  install -m 0755 "$tmp/linux-amd64/helm" /usr/local/bin/helm
  rm -rf "$tmp"
}

# ------------------------------------------------------------- viewer --------
release_exists() { helm status "$RELEASE" -n "$NS" >/dev/null 2>&1; }

extract_kit() {
  rm -rf "$DIR/kit"; mkdir -p "$DIR/kit"
  base64 -d <<'__KIT__' | tar -xz --no-same-owner -C "$DIR/kit"
H4sIAAAAAAAAA+xbXYwb13UW0oemfEhRNC/pQ3PC3caktfxdkitRXsPcJb1aa5ekyF1tHFnYXHIu
yZGGc0czw5XW8soFDKRtiiJFmxQFArdQGyCwCz8URorChWu0fGgfWgf9S9AH10j6EDRN89Ig6Z/i
nnPvDDn8W+0qK8lFPZZFcubcc+89v985dxRPnHrgVxKvpWxWfuI1/im/p7LppWRuKb2YXMT7uVQy
dwqyD35pp071HJfZAA9jqvfjFU/sMaPHnZjTZYYR32dd48TnIAXnMplZ+k9ns0P9p5eWTiVTqUxq
8RQkT3wlU67/5/qfgyq3W7oBFrMZONze0zVhQ1N0octN4YDGYQnWViDS4rorFFkGb0TjUAHdROkZ
RmxP5ze4HXc6oTlglqE3GVjERe8yYuCZmEdFNgbXe8zUBD50edMl6h6O6fJu/3VbZ/HQHDLadgTe
0XA9EBFNXThiAdLJdC6WSsbSZ6N5uMb3m4Zg1yCbyWzqC9AVZltoDUhnF+lngzWvcVMDjCX4Exna
rNHQ3e51vKPodVMXcCZL3y3huG2bO7B4ln5qNmsLs2XsQypNv1u2MF1itrSpI6fI7dRCKgtr+koU
TsO1RQduJxeW6HccapykyBywuI0Cw9X3HHEODL2ru8ifJOtyT5LIyuRmp9dVku9/RQDHPRi6DSiN
/p3rPd1EaYS8reRDALhG0bOb3KEfoNg6ebhFwhP2fh7CqTU9vABNq0ff0b+6YTiQtDa/jmoYpz6L
GxzQZxW1v90pE05lshjkkVY8PG3QqDko939foEL0m+hrwpMFWQauNS9FkiU546NNGoWatG0OJoPU
n7+KRqY3dWboz7P+V5BN/NhCyN6XDHyLOKoMcplJHr7FHZVHKn1mkok006OpXkrxGMo/m5ucbmD6
P47yfddU2kdlwNX+HVR4DyxbNAyOcSFSq9fBFNIZFsDVu1z0XAe+9YtfQI03dY2jBSp/T56JpTNE
2uww242eUzyzi7h4aTub7GatsIlxrIljWJsvZ7M4Fdoa3D6TQe8mQ+twZgGHljDaDA3L1ffYEQ1J
znMMmU7oQJI/6jg/6xrkfxWcY8I09vEvy+bdEwMD98z/mZyX/3PpZAbvpzLJbOqD/P8wrjlYPskL
E1qh54o6b0tHthS2CDuiK91ZGVkYKuVYtVbahEhhqx7L5c5CAuS3pXQ0dPIrWmVdpjEofWqrVgBH
NOwxRCKNXlr7gsI3CtaodAMUiGz8YOjuGEg0gRw7wrF0JEFgAhh0+ndsXWZ6xQ9Yw9YJ3WBs6GmE
oQRUC6t1MEQTxxAyKq6vVjZv8EZUQR3A+GR0oWe1bYZzxGIesAKGwnRQmPGEZTC3JexuQgZBJ+E/
iZkDouckJ4BYC2ZQ+87e5ia3mcs1BcaOPnBcYPc3NBhg5P6rKBIMpcBv6o7L80BSb7Ge4ZLoJDvo
v4J36/UKKaK8fYmMx3FE3HYJIqJY40xHSFqUykKOOG6gJB0JiXWbY4Bv4MZtcFj/NWQktU36drlt
clfarMMhMNZEE0B23rgFMHWz3eu/0oUWex712dZNIHpP8S1CvrrZc3WEK/07e9yIQwk1CU1lgoaO
2Yf4XfCha2lzpVBbLRQrEOkKXDQuxWa0FMqXTg9txWV42+KGn/6UxRRsZKgbHabkFpijxZGORDiY
g3cbzG4Sm3aP2Ugi0JQZ2ptJS6lW6ltrtVIdIi7vkg65k9C45ST8HC7VlIcLq7vFlWUfFRG8NpsC
wj5VOLoAHNnNMpRiqb6xvlbAuaseizjU+6/jb7HHbYPtI0OHMKFt93C5upKTlHAcCgiEAyNhTxi4
YRlhSIPDvS5Ihfl3LR3lpptciazWMxtCXMujbTTlFg2xT2EpEbRMhCcYsXi8q6F9cRUBwhUzRvYa
RtmPIBtuMsQyWh5cu8dDI4hx9NGjjvKzr7H8/0AaAPfI/4uZjF//5xZzGVn/55KZD/L/w7iG+fqS
CmESf3cRRZsORjabN3u2gyksgi5FJRv5VlO4/ByIqdW/1f8qH9b+OBCrSG6jIwkMGVQK91SypKAp
cyKmuyaFLb/1QD7WNkSDGeRGGLkVMke/dEVTYBwKd1zXcsIeAMcwhre8VEM3TdblDq4Rs4h3V5YL
696WrP4bDepPIGb3Km8VxDXaaxuzj71PqcbkWBM4cqmqTFCPcCrrWnsk6SSYpVYjhVbtGUYV6/cm
khaMG2zfCT6p86bNqVy4fEUuqu63W/pvYI0rBkuyhEaLaGEJQygCA3X/dVoGitvlrZ5RFhpuL0yz
Yv1j9VweuGPp5mrwZosZDpeDbb3p1jGQMW141zW80mc0YNEdR662jPIciDKG5CHU8kpPNzRg/Gwu
u9SCiJf9fJhDNVltK4//17dq26tbC/itulEo02exUi8tQLFWw78unV+AxSIqPNDekLLK+70bz7Ro
nayd9yeUCrE8LaaOWKVOL8uCjQ5vav/WkeamtOK7iEw6fiuHtIo2dQbWVuLBVog3iXdnbA6ZfF1p
Gqofgl6n2RKE+tmf7IKaZSL/qJol6WxuiiCDuc/bo39r+iaDrRFvAE7W47NEchQdjy5tvH3izeK4
wsYvJz7PSN9E8gzvpeKLZ+Ip8souuxk0xW4jDKTmbv81U++iMtPgdsgzHbgJkv3KkTS3lDtzrObE
1JWjEW/IIBjxYVSUui2W3X/doljtG3T8EPAzEC9Gis6YbKUclBhG/RZRtkvxWm1PBahhaLr37tPH
6nROyEptHjGhi1Mzi6bBiIeGsI07ft8jt5O5pvV/ThoE3gP/ZTOp1Fj/J53NZD/Afw/jejT9H7/v
8yC6PRWvnBycO8kK2RENDoVqqVyoY+IMwDuvB9CwdXvQrzH9gp6OevZ0pzdMqHAa4Y2JKQRpuszE
J3gHZ3R0QZEMnyQQpbIG5hhJj1WxgwBuWItSb4Jjmm5xu/+qibkaoTBR6GYbp6cZZG9IYmhqOA3P
wiL10ma1VpJP+m8YLuaNBdXOsgR1m4S/X/zOug2dJB7N/9/uLwUL9wWVAkiuX+VUnCDOFKoVYAMj
HEQoCaGvwV1M+DTl0Sp9OUnsJC8yQ7i4XYLVSnlrvbxdAOp9UJNHFUfXe/1Xow9gUhgeVIJ0QAb1
agEiWDwx8HafyJOV76+TBZhNvq1reIfbOncCt6KSmX+C6jFbwyTZubiBBp/A6kd0b/AGRC6uFyuJ
HdwbnYR2e1ihoCfIY2PfTyQr/2zWY4WwB1mg5dNSEmr6hO7Nj6olj5Ja1ojG7jXdnk1+4ipm8uAW
fGaNfTpYVW4TEdLdBdCSYrU6OYO/DWTEWZepvQ1PeCWPJmt25Imkpd/khpPocherUpTaabB6jYTT
a4DGHMBPp2nrltyk5DM4VFZ8yv2XKrJXaTUpIhiIca7KhmYPjZBpxEwej3/mqmjE1b24Z7Nc+4zs
oI1dsvGJdlTf3kRR1wCtqFrr/2a1tl6BlcLqhVK5CJHrcVO4OrUf5cqiUgg6lt432SRHvzFNcU6W
EHGsRLvQsMU1bg+XiviLAguHbHJxkklku7pRKRR30cq3S7vb5cKlwvpGYWWjFAUqRrCiR4G2GTmm
1x9Al6DDP5LyJDtD38OY4TiIGLsN6q+S9VAPryblu3lReTv6MmpSBc74A/Tb/q/4Dcti5cQnQYbr
M6I9RFZj9a0KRvn6ajWq9MINtiA7KV52ohY368qWMHLylKVa2MFDCOono/1RucNlxFtQZyzppSiI
nuooa9y55goLqDfixkM2pkXUwwi6V2ic+sReAiMnoagdw7BNQdXLixFhS8xtD/LkDWGjPTn4ba26
jVW+sNEiiABXNG0KP0PuyHHTKGTWnP5oDja91yVofdQP16QwfKYUeVWXBUORq+/Jh4N+Mn7f4l1U
AjNwoa73dfo8W7Zsu0spaDruBVM4QzDxmtnE2MuCk8ZDkmTH1t1Zq6YWOHp4zxl0+eWQ2A05ZkHd
8teGnoW/GVj9O23aacIQbQciTMOASOcCnrngysZIvHMJTSeP7r+2xw0ZrDDKjuZUNCBbJdv49G72
YN1rqzJYCixYUaN7zDvm8jTkHaR0B79lV77TvwMqPCNEwviKBSWadPNaVWhrzenTFPkepQnL6HlN
OjSl/PC8xZbdRcRm8u0AQ0IeiOzwxtpG1DsKQBngGFqbbKKZWMnqbMpkjxqIP6IrnvCxWkz1+5y4
0znhOQ5//zOVW1xKjtV/qaXUB+f/D+Wa+0SioZuJBpPde792i8Ea2oTXw/S61vjZ7tmCUI8qSPIw
1XjgcixG0P2KTM8VS4UWhcfVE8r3xN8/hcU4QSUB5gV4trC5oSoyr5YhiO4NxRLGoqGbgpIIsKs9
jYVCiAkhJmPFKiY6J7RWK5XKy489l1xcvJw8t5juPhZa2dguDe9k8M6zpY2Nyo53L3VucRHvlVd9
GvwRcjrixi7NGInCLdUgb3YEhI8ioXCAPvhdymw+CZeFJ5QrsygHUgvevF/xjfPg5h4cwkPWzbZO
p9e6xN9+LTnOZ0wf8gxaKmXWrko36YBZjO8KJTJyzfkcPZsKLs7gbZm+JjgMRSM5yL0NpdEUlo5e
HpBM7HFZX07h44tnyIffpGN4v8HvICNckSoDUNcHoZDvBbsWAgGEPdrAaNQbHwY3225nef5WKh9L
Z1SLUiCQdRwD6wesTGJ09p3LQOYMvID5FGIaPJY4vfwY/mr20L6bqVh4XnGRE85BqdvgmsY1LJpi
TQODGGbDwYE/Ij9Mg/6rBAmhjq9xSjdGQAGzKr11yzWqFrvgdriEuNxjCS2DtQEt+0Lp2VXE+Bd2
S5srpWKxVFymlmgcdmRNplsjYzxOwGzEGw4hU/olX+jQzTYdBuiuqohEz7V6bkyplITqEEFEaTAh
FZBQ1hXFeXTDkEjSiYcm1xOevzVxMx+TCf0gHNqltSxHoiGcCugHwhEIzz8VPkdv8ZASmvTKQXie
noXxYchX/HBj0SlSCJMYwnDu3ID+8ajk75xejnjcov5j7rBmSBMmV5EqhtPdkrSXn7qCawwpG7PB
FQSh8I9n9aHNSnmtslurVLZ2q4V6fXk+MmFmkM5EPbpCtXo4mf+ax+FUW6XNaqVW2NgtrhxOKN8G
OZykVlhZWd/avHhEqtVK5cJ6aSrdYlpOWChurpcP5zYHK16xj/VjS75EqjMjpqChJ1oEzN5pptcY
kNAZlT5U9erGeqm8tVsvrdZKW9R28BX9rc/+BkYALK2RS0O4HXncIf3NGXAZ+IRyw6EtJdCyoz4X
8nvRPSe9JODD/glLbHAsMVkrz7yeEQ2orpfrtDxqvsDYRqldSM905xhMHW60YihNh17NoipR7bJY
erqwvbEFkaasRw2E36Kn0Rta0YCsaHee1DGZVHbKpSI09uVtfxy904WyOMaKmsw0hQsNEtweZSYN
OlhlxDEo4uYY0EKOtUE0EpNTI9dx6f0j2CnUyiQqNnwNTfYQj8G0xXTDgY3KdlG+JsGxRBctcDq6
ZVG0Y3ADi8W2J5t4CIUwanT4QZ3D0sZyePV8obxW2t0s7W7XS7ureJ8clEYUtrcq9dLartcG8oaG
Q3oLLlPjNhgeR7jnYwdhuCKNTwU99K4RAoys00eGQ1jZEvsAgR8Yw7AMXmy8B+8p3ps5EyXeDp81
ZraIAkk8RuH8loJ3B6TG/Pyt8urB0K1UJPDgKibmFhqMQ/WywZq8IwyNOifzt2ZPdhCNh+HJT6bv
PedWh487IIwGInQJccNE8x1ziYErQcQ3QIolR565jrynq2/5CQl/YpSuY950MZzoSfQmzJLcM3Q0
0YUjziUIVjlOEAu4souATg3TwElERT5fBugOngQGEc/fZ0sPYcBfP1ISHNKhk9Sm0qVy0VCxVlir
lJ/eePZwds/sDAQ2jSSHJCs4Vx09sSonPJxdyMMZhP8OBkBDAZ7oAEQ0EQ098QSUKk8HKjG/tPDr
DYKe8xENp4DYOopQmJpDaa+wVSr3f6n/UiUPa/SSp+yB0ZuSzKCyiIYpLOrIGuUTVDipl5EGp96D
k/zQoF3vvQOBiqEjcXlUD2HZbgoPnlS9neZpg2Og5UCRMcsKjh++rCUfTWHgoxk5PjRssqv19Gbw
soKMRtCHtw46GDTbq0Jc0/kokQIf/nTB1xzky2NTzHhgrSDlAZGBw0mYclnOu1OpFa9E42qnRDZd
jPLriBhG0I63+unYxg8pEc+RhDkRdLzoMlwx4gRvUWrwujYUpT8qHHiujNBf2EhAGazN66XWL24M
ZSR7z2Rd3lodNanWCIhh8P6w92hcDB7KJKgMwy3INzQmlT7FKX2dBtuZIybkP5hiQyOY2WcU7A77
e0Fq//bUfYzDap/X4N2koZMpLxgNZwezvG00OioZjbyHNLah0fCn6K/eCOp3GPnwKYUiPzp55YwX
uQjJnkTgUqU1jIUNcpvlqdFkhN6PEqPkgdjhUY+o0Sce161HO64pn3yKBr0RA78fGzFiux7tSFDy
Cccj1ThtqbaBANCvj6ZGrfGlDGNHYDUjAWV8xDjamubovvDHcu1Ue52kHdHUhOF69KMG6pNPmK1H
HUjT46brUUwJCD7T6bFitslTQ+KFWGdo9oMW4eAOv4n1R3Lq+HB4ODCAp6g1eXDUl1sk4ArPZAOB
9q3vfWsKjwj7HmN/nCWEp7KVfdgDebxcXMnPmh6ghkENhlGNrgHMnIwAs/kULGuMzSSfQWg47jb8
Q+hD9jE299j8oz4+m0tJIhTwIcosLp7jH3cbQwweAOZUsR+yr4JENyO7C6xoNKzM5rKqQMp6cSie
AZcx4HFPJn62mlzKaMCazai4MqGuUUZ+4D6ugP2D2kPkefjcE2nmuCsYwrD79rnRzHhsj9fN9cr9
+/tYYjju7MUB+LlfTx3LNcddACahQ6YOmu7k1IEEdvRpTySDIPAEfweDwxRV38tDj7ZsUQdPmY7C
BEHiBI/DjpboCubMx8dSpjoWk/8k10H82OFNXWN5mE8Nh8/Iyakgf9mRf9Tnru+XK+6/gRlLxZP4
n9t+/sTnOPT973R2KZkZP/9PLmXSH5z/P4zr47/64Y/KL+9FT51m52vJ5vnN3Mb+2Wxj8VJSq2f1
T9fP5iqXLuU2d4yrzNT2ty6K5fPc6J767psXnLm/+K1Pfurajz73d1/efqz6oQ/99JPpn92vf/2F
pz76C3/6uVOLFw6+/XP/8svWqdsf+5mf/8Y7L81/+dKnP/9rz37N/qvnW9k/0P+1dDnR+ocv/eE/
fud3//7jv/1Wcu/t65//8K9vXHnlme98L/WlhdPvbJz65jdv/89/7N/+9h9HXv4j+2/OPRf659/7
4l/+7Vv/+dfvff+/7/7on97+yF3x1rsv/tdbd9/5tzff+th3P7L7wx/+4LN3X/6zd7//k/03X/7G
iz9x993bj3/tvS98/af+fenuiz/4k9+Jf++9uReLd5483/zi22v/CyqA1X9wP9wQRVH9cxD1o/5G
Im1sVOHoo/3S6YlcQJf+lgknEziTiYpFCieZWEiYyEUmcyfw93CZCjfXJttY6kyOYOlcYUe9nnEZ
PxMJtXEnVw/aJHa00QX/cVdlYqHyxUYXbGO4jS4ItdGFpRSpW8bCSHxE50JtZELlTqhcGhpHZkKl
I0jk/b9aexdALnAiV1M/6Q3+tz8EG1aXJpY0RJjrQrllOYtindXT7oXfu1WBTxdFqmKe4v068f5b
7+5f/xPO/71IS2l/HwHws+d/uL23Oxw+Of/bg8H2/3/+/2v82arO9NcyzYDUAHThSM5FmTr4QGwB
rSN5L1Nd4Flsb2zBxb00RiUS3FJaCcw8UEgDMr9XRuf4QyityhejjS0AWOLgKrdOpGk4bhBBt2ul
g0WqZyKNEo3H+P13F9dXN0cXZ/sn5z/76Ny/tlsYnRDjbmxswfvf8s/GFhyfXhzsn8LhxflXJ8fX
V/vTk4vz3/w1TIDRBsAWHBEVYK4NErcpXKA1Nzp3Mk86MBPxHf0lU7nSbXpy/CiyIpWWBN/rqJZ8
sc6imengWFGqY5F2gP5nqa2jJy9yepctUuWghR/b6O9gJlP90O6AWyoLytJPxufTq+8AfwFuKRwY
mSgjY2fBafwBDZcIu5xpYZJ3oByI1GqwTqx4BJaxoOf0r1QuRLwCZJRUdmncmVyKe6VLE20AME+M
YLOa8OYGvWN/Ounu9Af+Bzz1CI5knAqj8gVNkWZ9cj6+mo5wIjpPV/CgEpnbQFqYnk5ouMn+ue3Q
p9/KVZxqcVctDa6vTvx3hxdXExBpqh9SZR2IPKGPVb4w0lqo6GnKVNoIxlnhVvD+S153Y4mbZa7m
SiabNIf34HQiVq9sY+kw9bQMW86zT6Uwfva8wJaInboXDpdMbynNXMR+K9thhjyphiasF6csxEaS
Ir84P/0OHpbSU3Oci1kqE9p5U0rcDXonsinUezyCzU2o/myBjBZROKbRE+0LcK/kgzTrz9SP8bfP
n2rOZwRzkVrJT+GS49Lpe2nAPigXL+n3hTSZyGXurvwyq4e2YLs/hIelSiUYnaZIN126d7DdHzCJ
xdxJAw9S3lnk2lkqmeEujXY61unLJ5PMBdCG7AY8joX/+Qg26bvNDQDmtMkFHOp8rhal4Ye7MBkf
Xl+dTL+Dw6uT6cnh/in+ktncC+elsDD9eAG2LAptcLdE6ZaQ6UTaDliZyhg/nK3g9s4zcCSZYLfQ
4pPM8gVQuo+/2r8+nULr6W/fE5naI4h1bstMMoFl7oxIIU51mdD8hfNDQWUn/cELcWu1F+RfRnCu
G8epzC2ovBunpXXSvKOhvRirRrsXqUqEkyhO7vCcIgPHIk2Z5/eTTOWwf3kCYiFQJbAQKspZqmLi
zqha48XltHty/sISkZnbI5xPPbl6Xo0HggSsZoc7r5AWuXQ9nXcLIyvNZHkqWWkd5NpBIgs+tTRx
P0OkXXOWACd0Aq009zLxIhRmRj9YaUC4n6Mu3CsBUyPkXN29q8ZrEBWMFPFSWhR9jfU1Rg0rHb3Z
2dnmOZ3kcHAx/ZoZi9kc+UyRbd8q7taP9LpJvGzjWooyRakxNzrbCEf0WDkpwMiFss6s4B//7f8G
ucQzOytV6mApjaQPg0D15FLWlvgj3AU+btJG1dG41Abdg9KI/Kf/JDrQ5DWdCJAZKoef/s9caZiM
L/ev9o8uIBEg6Nj+9J9++o+aT0QXTqxOBZosGhIJsdZ3Co2ef5hMIBcko/Of/qOGWGeF0Zl0Eney
7R/+KGf7pVvmvUth7Z1cWZiXeax0LjKItTHS0dDS/zybnk56snt4+RUUOpFAO01TSjTYn/4L5BpH
978+1FmRKpHHElqnx5dHHfj65HJ/vwP70/N9nIG1mgUyWQ682uKn/xvppyGhoaBVL1/XNFknRTuC
A+a77lzE6HzxoLwH70BDLI1DfcmLsoXOE1wW/PSfg7jvutR2kUVZQwTVjZ80uYY0eFOkvjBjlqfI
E57FwUmTqVzgDNr8guci1o97JUWa0aFSiYZCpjVr8JMGfzCCTT/vSjafi0zaQsTSe4r099o9pN8c
au9p+kMRuDqCj6Q6peugicCvjyX/yoIwMhwNYWmgzR/Coz/2fqBf/Tj6wYnFj5vQIm3486eNCO6P
+kjM4sFwe6fNh/hUinsJkqwPp6G0EooUraTNp+9ZN79y5Ec8+WgFmDB1GvKB/+11D4qe27ttC7Ez
YYH85S1NISxsBJufX4Q35DhsgKQBK2Mj0WrLg+QhW7/aiQipWxaRXXqbhSUUfp/4h2lInl45k7FL
/S/915Do+E6abpjgbQSnaMkpC0bmiTRo76AYQOm0wgMKtpAxromWeVmm6YRnyaeu6yMKxd2iW62s
K9SztRU6VfEqgv30AS1hb05bMZeQeF+Llo32GPlgMxkL3LnKqPa/KqTpBt5yYsGcNUqRGg5aWUkm
S7tBKu19NQuoD2gs//wriyPAg3JLVhylSpNXFhbKweTrfZyQd7EWMpcGjUTys97xVL0VEAsr4WR+
rt2lkRb9PmXZ6CdBEbtq0Q/a3FnSojPtljBP9QNpeBoGTzM5EkG1Z2XqFPMk0b4bozqDRN1Ls5Ao
EXUOIukudUymnC6dXduoSyL5yL+9dhuGu3sjUHmMnoCDmZHirrtIhbVkAftzzPZiC8niKd9mYwg3
h4a6Gn91PRlP8IQx74DIK3uNZQNbJ0IZCwL81lQkZw5p0g3FHb1DZzOVs3FIQxAnJE2K+DgT2Dv5
wDa7YG2Lgwvk5m5R2qVMIphI590Db8nT/oCReF5pRvJe5u4dFEbOpYFC5TnL/y34g+eUL6NELaR1
HTSd4yWOoLKwINTaKZ7btcXMZLX/G8BO0xk/MBUL6w1y3pSJE07Oy0pmWmhlOl/oZNaBQluH3lUH
jJjNlMv+4n3eDiRGLHQ+T1cdcBKlj0jbeBqYnVSes0mlcwlEM0vmlTLs/HYL4ZZw+eHQotN0r+4l
HXcjrRPGWaIb0YzpqkHwKLQh8lHZWlDVpqOXOQvp6MeWpKH1yzvXiRzB5h0eA2m6w4YnO3wzHIXh
JRxeXneXUtyvoFCFTFUugZ+xcHk1/mp8FcEZ2pnnF1MkMwkS/w4akQYKzHQ17U6mV9eHU7TpnS6N
HwtmJbqSZYFrUw6tljSFuCghVZli5/ZBlymfTiTKPb8qEU7MhJW2NzMaB1JziHUXiYoCAi61yply
aGsKSIVZSGAJkuLaWKHwJFrrU7QOjw1axLVG6s6NknmSrtpRCEtZ3o+ZWvhxkMxonZVOPqHytqfy
sD/c6/bfdPtvRyhqMu1k8wmyV0H4M0DShV5xNf7765Or8dn4fMq6dR8epFosXXe33/yxsmz1lwY5
fMR7Ei9lUqbSQCZWoBa5Rh3q6LiifqnMYx4HdQ9LOwuZpqi3UekKylzcC5XiuB3alVy7JR5osqAz
fe/VYKF5q9AmiGCKbKosLNF0Rt2qHismEnFcZmVKTr93UI4vr/nlrUC4AQcNyIdIYPB2728hk5k2
qy7zR6yzTDmK87E7XVEcrHDwdvtv2QJp86QVC01l4WG5QnMklvRsomhB1Rk0cqY1C/ItPoLay2Kd
h4NmvX3S3D8kMY5DJ7Ni/rBit5Q5h1OQFkih4GxpoxYqFylYPXdrO5pbJ0UCeg4LjeS+lHmi8gXO
rFD5YZPbUKquq5fAYtXZTKW14JQ09pU3KwyOTmw38Yyyn68eBJpsPhB4rl34qoPSy0iy1y3Zr+kK
jeVUsJOZKOtUHnuxQ+EjWhFraJ1bZwQey6J0rHxrJ9GPqfNKUjakPJL06/3a6bqgEAm5YuyvKt4O
bWUYCmJdshHwh/dsn5XZTBok5OTw6/HR9en+wem4ElQ4WZ3gsj3HVgwIX1R/H0LrLhMkZFGJ4VIk
c/uhUQ5trv0k0bnF6fXsXfl+UZSdBkfG2iQa9YFVuLcsDF53h2/aHa8WWEh0wxp4XSjHVR3n266+
DnK568WYRfWXaCIX8p6VQQvx7z6ylLLOqNhNeOvJrWU1UzG4WDPFtYFE3geuZ1VSD+DZjt7Dblkj
qLQB4FJvo8q1wBkH1MiGPSfTdbPhvW16D+qC8n0iBfmIC1Yu2M9ki0dwMudDi84Om6tzioH4k+VH
6aIvN4LNH36AiBMJkY9juNRG9Rzgxx/RbdysHtsvil/2GD9irZ40F8SfiqJ49ukWnEuHe8YGCVAY
l2yr2aryNDOVJKl8EEbaYJXi+a+iCyLJFEuT/YQZ48PlObQG/ehN1I/6veEOB17JzODYjrH0fb/6
frYKZiVLuu90CbHIK2Od9Sc6MoXPofaIzra3nrB7Ypmj38oL3Mf1oW8T/JTNwfA1TWDQ2x5uVh/W
k2p+9uaFz3aG9OFgb/P3yLNMxodX4+kEWsfjq3H1r8n4+PrqYvIv2r/DGze24B//9//j//m//heA
8+vzw33yk6VFr/JepBp3X2bIAElJEZJ/0XhgbZLnFx8u8PhlI4h6TuvU9jhlbnthd7retUV/rNul
ndra2IJLYQQkaC/f6/RecQTK/PQfCpVozpsNIjhMUS6T9NdWuZ/+i1GavhtGMH6Ucenk8xcH749+
uB3BBfA3sJBGVI624CS+in2EqppTvepqGseocf2Dv2ah8GV4ijnUz/zQKPksgQexLpTIE/38kW00
/opUr0a/JiG4tWFrb30L/r6kwUsrDEykSGUC3psHXcL40UmDQm/SfIZyoSoXbFmofFELFdxzQKGf
SajmvP4QRx9C+qFA2nIo0ShhIDzDMargWoZnvFXx/L0kzOg9Z+gmHR1A6+z6aAzjM7i8uji6/ul/
/ul/uvgX7Q0A70axDDBau2uLS2Sxj2Jss/rmUlj7oCmfc/j1/vnx+OZsfHM9Gd+8sLWVgG0OV8fS
6KtfOx771OTjnf39ZxcUnEBeUfmZ1xe/ei3SpCJfHFLk91fNuNIKvZAnUd9LzpKQQk5k7hQlTxSa
u61gd4UQjojJXPKRu2kjfC9KtFrxcHI+pArbP42nkprg8W9iI/0b2W+lFLz/8iSBL/xfmZeg9c3H
byc9H2b/opFemWsDS20L5UTaQyqHEM29skrnKl+02cZcG+7sejKFTLiYw0l0GtGC4KDhbPU8FYlq
H+4H0YBDsmQ7KbICVf5nTmkJyqWkegVOZRJan9N7W9BjOEG7Q46xkfVP4Jx8JYOnP1PfoxeG9K7y
H97wOEDPwxlRsIqvMn2N7Em13a1vx98dnl7sf3uzf3R2cv7Hm8v9yeTjxdXRn9rv/HDBrsAhwqu6
s+od3+gZ7mpFVPodkwE3dC3fxWFrmtXLJ5j++uuP8BanIp8waXPigRtbzxkM/vHf/fsGz3zhR2zw
lGeS9TUXijLYlPYittFr4d4Q0/aT4ZUHBm5Yq/5nm43vmQ1/zeovObo0+ftTODqA5trC3lcbbh26
7y3+mfAMHaJToHLlfFoimTW2KOz7pv/qnyQVG7P8nFwME3kmF8MX/zTByELJB9egdahzZ3QKl6nI
Jb42xN1GjZWPYDN8/M9a9ZnKTy4+r9lUrvS6XvvlG//r9R175CHg+NlZVSHJ0T+B3Bt8eqafHf3P
D7+KxTfWZRqSCMKqoYWGYKKfmoBsiQTr0eOKrEOTMV8K+Ok/o/GUCP4ZnuakebzJvgmmTWnLn/6D
URrPRqwEyujql7Rd/xQS/fZuwMHFxXQyvdq/hNb15Pqn//Hq5ALG8PXF5PJkun8KJ+cnhyf7p7+D
A7KxVeNAyNSuycf/pK356T/g3kDSoKesVHMgbbTB6fBCJOan/6g7tY1ZP/Vso/FlmchRq8U6K4RT
M5WqRCQyosldU8Qp1pnMExH8kc/5GdDtotCB68n46nz/bAzdLoFwYXy2f3IK/8MGwxO63TD1rkrg
5Kj5AQos2MSHN+n93lgXFuapWFiwuKa5NrmMVSJsB2o+rZwUsrobHBmxrEZ2I9xH8D6O2QtClp6j
dYKeXuCzNSaNAn8GJ4Q0mLau6x2QHv2jLBZGJPIJySUIZ9SsVCB0tWcbWxvVG4Lh4ZdKyZkXjhWN
2rISchlLa2nw9ssnjKBUsBAGNxYymc2ksUtV2HdQ1AzSIB1lBYxOBbm+7Pl6nVuRrpGsYd3C817T
M5v+Iw+9rv49V8aux2UAUmHX/BioiBMG3oKJlAnHtXvhS9v7g0q+hIXRZQHOSBnyLw3IHlpPLW8+
VWO9bHx546Q6S4mOSwpJK2dlOm8i41LhyATm4YJ1FgwVNH5aNhd38oZyoTZeykx4awBAoWxbdvv9
/iAQwNPs6/Dqq+nm7yHZ9g+/HZ8fQetcWvfNBOf524uxgEDYaMQZveNKOdDRU7sOrQaxGAFnrDns
WkehfVhcxEZbG5JEFCZmsutCp3qx4gjoYRXXttD6eh8e5IwCt+Qo+hFHMCTzyLgRbPf7fe+0yQI+
vHllQadJl7AFUFIK10hfAxBRlsNGnPOA1s6xakdAqQbtltI8KNxp9b3HRxAiU4qCA/oE8rzaP6Mw
4EI6CxcXZ907xfAPx0lD5mNOpszkHK3L40OCya0lPzY38b+pdPzyeKm1JTAmUoXjtHYEm91uJh67
1XK6OLX3g93tPW8H/H2ppI0psyEWCyMXnF6eE4jKov/RpRTF19PpJZRFqkVioRX2LpH2zukC4mWZ
3/nI++XFZGrbEUykUbKZVMJjWZtKSALCc9llFd72L4hQ76QyhPI1pV2SVDLQLknlIeWYJjLWeWI7
zZSMH5Hgm7nPYBP+vBDGsSjcggdxLyNYgzaCQU+wgisH/LHK0CFFayNMtRBuiVTmme7XJHsSU/e8
Ds/nO4K9PoenH6QsTlDR3ov0zI5g0EdGrBJGr3dGJEuQISgjE+s8Vqk0nBJZSvRHgoz7Q/dLCvqQ
7O02PXJIjPIJnxZ+SXh8qyw50RZu50IRGhR33Kk0hUxZig6ISkDeqKQdwUVeyzZKiZc5MznSN17F
KbpB1f6e/wOkOr7r+NRK49y1n9KecAd4CrqM1W364FfVqj9L4AYF9/p8lAEy8bjv0N9wdgS79NFM
WHkg4js9n1dbsd2g9/buYNRg0Ca4xJVISVIMVjLoieQRiZnF0tWwxsJo1MWRzO8ZQBPj6UxCfpqy
5/j4+cWUvCTOtgoHIk1DzmkFgqEpFBMRuRcNytTjqNxDkRp1FZyB5MTSIU47mBH+JN7JwsGDMBlt
WKXfWh603LUqkXB6de01VCYer2Qsc4eMGaICovDpKBryFQ8319oVRuUugn1GY4Zj9M3l+Lh7OoG5
ERnJAleKNF350ch1TkJWMZPClkbCp+1o9xFsJlLP6nmzPuDo5PDijEGhDnYHw7MDgmdv1LhvwhVY
B29QHuztbUOq7qWfMOd5delorcpVK2USnc1GOKYfbDo9JX63KOFQJtIieqmYyTQThWXKWYpiUb1K
LIoA4CqMyoRZwQyPrieoc+nXujR4BHYCIlE8QJTEGcxSPbMgHwtlcEido3VFhOAage+pMkLwHEgO
fupnFj9DBsrjQIAHlUOLPWQ8Vbhg6/B/a75eSiOr9CbuN9ilLtMEEqML/Cxj48xHLeJsWs97gzRo
VQ5HRhvpw9pAOyizQia0NQq6X8LOsRqtmUUPgtTet6z1WvJRORhsv27DJ+bowS5wHi0wiZEiQ3nE
gJFm5R/Ue9HznJFJJxLhRASnuO0BGVANVyXS0Gx4MWZIzDUrs4LFrNPkXVRCM49lsODYBhjB5s6x
2qzeUImS3X4/QwqgWM/YqOTTJ9wSCiO7zojcxmTE8OSdrk4Mgeh4wE+7u7zVh5fXdHRtqmIJrU+D
fvSaI1ICBm/2uvw5c3o7bDDXTryqKUCbC7qQOSRa2vyVg0Ks8DDAvuNJ08Ibqocyo6iUUScHkBqP
ZuRfSjxtFLcmrQtLkSKrxtrICC51Yll5CwefhrsZA/zZdFuKewlG6yxQNC7KEWwSwXxEhoev+Ksi
+aAmefVQ9rsEAr66ujifsr2sExn92cJlKmK51Ckahv/4b/9XuJIiRiuDcCC/vSkdSn1+gS0dfvrf
0Jh+0+dA3c+KiXobh2/Onmzk8K9v/t7O04d2f6fNP9u/+nY8PTk/hsnJdAytVNAmQyEWMgSoZe7M
imz7NsmOnysN7lrl86lcqLYzYpSm31do4ZqV8dCtUMzGBXhOw0wCFXbJdqd+9cYWOxattXrJDpdO
NRNCbdS4hYWr8dHJ1fiQluUVdVW2tbFFNgqhE3w4Pq6R7WxoR3Cdx0uRL4gR0RVnIVNXj4X6si3o
iUJ1oBfr3OpUdqBHAVqQjyiZ0UdhLRrwsUfeoRALiQwXizTF5YVyF1rvlzgmvYKrarhiRIJdikQ/
yIQ2oUIqEeL4Ybny80H6v7KQ4gGQeVIQKBEtBEIl9vBz26ksBHxTO/rN+QonsXaaAwLnyXEmZnl+
lJEt9vpvRiAfnRFkizudSkb4WF8lEErtlO4lxAFOJu9V7mFsZJI0HhrBH//UOMJv2B+esFcW0E0E
TrFqkY+8j0QWMKEX0bJFI1LmSZfK5b6ZXJyfkq244Usvko9GOXmBzsC9TstMsn1csLuCRjM84C9I
gYlUfU8zq/OfnOb3BcTSku3t5GIFV9Jj+UNuxqKNZKSw+LhfyPdVaenlh0PIdJl7u7uH1gK0aOOj
P1udp5Q3qbU9Sx80wUYwOPaFh04bsZCHqbC2zrqfSpF0K6bC2bHYiyoIkZGxJF6bnO9PXyXeqLVk
k7GHZu/jdIYbS5CDqRHzuYoDYv2QrRm23jbRFDi53ETiy/lcklxAx5qBuUthZAKzMr6Tjm2ENAV0
Cp02XEFjOeNZke1hqVNJB6RDKC78XOcyuHhITR8Zy+Wq0A6+oNRrlwJnPuRGNXhGVjlLsIXI0G2R
OUcnkCqnSJRRML3J76V/PKg80Q+oFWCpS+OpOjmbXuJ81DxUVc4JAJfpbjA+ePPgI+FNSRYiTbjO
BaVkJlTq4cqSTHR7pwq0UhmiLhKulmD3t/aOgxODrEwou8z50Cy+owpc8qHZ3H3zejOA6EojR7BJ
p3qzjo6GBxo4upBwv5OrEY3fDYHlNqCFEep3iQhVzLmZIKkyPzw2OqKNbCju5r96WvFd53izTHSt
LARZv8idqlAoeOkHRPPVVAcG/2Uafbi799+1Rg/5eWjJbCaTRCa9Rh5/MrlgJe7LRH+2tJPzIaFo
Vlm4XRfot3VjFF83az9fOLv1s0WdyKhUKXt+8VJ1KsFFN7aeF/lSduPWq4Rbbqvw8m/avg6eakby
ja0KSUVKFtWrTOfdYAskvgI3/wU1rUikjw0jh02XUCVndXrvDU+/7qoe9ItaidGPlzJFmecY5vZX
ik5HBB+BVkWt4V60Fw3gC5iVeYK2Frq6sje5PLFos5NEJAFweX16Oj7iiO3zKlVGkdQFqiwTOcPw
ys/31cZWAEbYXoZq0dgexXVtL5H3aIOhQGj7aEFegz1qgIVKZFZoJ3Pc18/ARFohgmR7Kp8b0Xv+
u+7ftSPYT9N61/8OraBy1qWSVF9Diyqc6hASKHOK996ueRq3v70N1ATZfM4OQjG2XOsi8I//7t/D
D0/45Efeb6pdrHtADHdHkGjarEJRyMqJtC6QClunbFVBZ4VDg4D4hksXAi4pSAcjcvx6m/SvyFcM
OQxJPjRndOmg272TsuiiUdmlSryji4/nx1f7R+OjqoI3FCKwhb8LuFWdBuJlSe62zmXuIrhl2++W
MVRBiOj8XuakD0vrI+WzlY8KUiqiLjX1BYRzlcp34WHUGlx0hvqw9ND9dVRVGPTFOIkPITUIqOsi
AF+JMzfSLoMkidZNWYDmxlIxJB05Om7vwt5R7SFDpinK13Rk2UwZjLhyAdcVqnkGb0g+hX8Od0gc
6dJRSSoFYEPOgc0bncBcKGr7wFtfFdOkFslVpt4nos2Jahm8FBZyTUZlqFisqlGo/cQ3x3Tu4Zuj
g8Oby5PzY2YetBJ0XWdBmyDmXDTnqAJLwFIYnwEpuf4pJ6Imkvgt6caiELFyK05zoA6QUEuERBa2
Egi0Y9Ezlx1VzmVl8ze2g9I9rSc11k7aIN2npxNkK4o3sGGtbNsPaP2IOzvb9YANHYtjTzjK5kOC
c8l8/c3Hbydc9d8ibYO+hkzg4ltC9ohcLKg4iMd/2+/3aWju+9XLpDMqttDq+Q/wAP4bI0Wy4ljF
s9ruICl2RqDnc6rb8DkvSNVcEq4wGMcvOqgRnLg6DVLmwjmZJ1QrTO5jFWP34HvrBQcHeilcxu/l
thaQSUG9LXzai6w3ttm5mrTbxH5GsD3Y3aaMh4X3MOjDSgqDf90kl3gTN6gwInYqltwJAuUSWvyc
02QIo9seQoz+WO5zjq3hYOf1zpvtvZ3XL+L00KHmmilNvotfwoQpdyYeT9Vc2kLk47UkD9kLKc2Q
rARpuqwh/ZkhUJ8fK/LbEGXiMUr9cI3qo4climqfTPBR8wT2Dw+PUYBt9xPk9PV5nSSpnKpM6tKN
asJVRTIectiKpXF4aNqVi/gC2JMZOCX/UKKPBKFRhkvt5DMlNKGSpQENnkvhSiM9jqVVI2RfxMEG
z30DwoPoehLjdOUjx2M6he810dFmIXLvQ28+RQviuUPu89hF7ysGyHyABr6DdVCjch7PuAFVseea
O/QEU0indHdnm/MpLwAfnzgUW+heU3rAOlPGrjS0vU5rzgaNarvxlQX9kMM3H87qlFiBQsrBp7ev
h2cK9NyPuZSi+CKTTlD+mw7g1WQChTB3rO/evvnbqusUHoCOB+aaXKboEqVCZVQQGWA0pGFFSoWt
KCuQs0/yucoVsqkvgLSkQBNgg6CyDShW5YwqCsqw+iF9zv/i4ozSoFVyBtUS0oNDXL4EWSbQaig2
1g3tCM44f5ZUyTWUfF0qMqQV6xyGSF/llnAmHq/2zy6lQVdELOT73V08V592d/tnKvpZ9+6FuPuv
D9YPf7d47cX58cXRwW8+cqNg4q+E4P0vn4XtasU7qAJtw9f9wWsOl1cH6mn3kWeRqOcZcI5NbQ76
gczPwlO/IiJPibunrvhf3eEXvP7fLSFzeTGZHl+NCfZcydIjT7/fPv3ShFD/lb0PP/1Fm+8l4/re
N0Xor9r83d9i71/Yxf/O9v5q/+DgZHr297/50M0Cor+yy38pZfk8LP/iFu+9Hr5guQ7851tV2dIN
949aytJyzoLM1ior5IOrvtuWKArbo0n0jqhtDfp17Xceb6Ys+2HysdCWunzZ2lRpUSH629cU/q/f
WU3rrefIe6/RG6KIXjiCzSqFwHT4nRm1UfpF4S/qNUk1WfDhDL4Ai5pRpJAosci1dSr2USL7jtLl
ZA72M98pxQ8ZqN6tn7KACrkXL2V8d2NK6nSCBJp5LAu6Aqi/2XJOtUg6AXHB4BWRSLgrZzKVjnR4
pb9b40fl4FAnEvrQg83DgG3bbCPPkHWVrqJgAVH+/QuyhBYqtHDwDTVmaIuRV2q0zjhPRwk99HRy
aQkRTZbFz6rw56nzX3DIX1ALv58SPzk/uYDWxezPMnYwYT757QV7VSryV867Z9RfdOLfslPh052V
ozrwZZnUqMfJXOQu8H9l7MrQhzFUcleFdj+Ev92o5MdeomKdPchZz7oyUdL2fpi4Mlldnxz92Iui
CFqEJemdn5yAyovStX/ZsJ8ZrfrT2j8BYZyai5jKYp0fmjNMNqRzqLNbEBvB+d9PqYYsp37gnG/L
mqQohFtS+ACozViK8oD/sulHOLs43z/xkVvOTogyUSyiEuU2qzjDPv4TUo0OlY/1yaQDOiRcUh3f
tTd+ncT6vF1VYwe3d0cEGpIJQWh6Ff5p2Bseq8hXLaExf/jVpOuWRjuHon2wE+2R/1FIo3TCkQQP
Be5Hu10UYrEo+LBzgPLtLj2Agp3f4v32bXIgQqOidgefK0LHpkQ/5Ci2AF9dLpZF6XwLAsb9kXtu
hF12U63JOalFXfTLDYhnhv4/WazUie7+CGKdJqBZHjjFPrcAm+oHaToQo48nDSTK3jVj4hQBo1Pe
xQEoBtYO7Xp8/I33RedwiyrvUrjlLXd9WyBzGMbInpye8Wtv8b/o298GlxE5vi5Le+cnSQDygF68
JZyXQgY8Eit7Cy3u1pPHpTEydyEmbbnHLI12W389XX+6Ta198N0UwMYvC0HDVO3pOJjSgQS1kQei
+3hmVdvgW5JSlMOHhNOEKei5z4+q503SEHjMZ6qlhETHRGafmO8JZ/f6/W5N8y4SLMqS9rsAGZhD
ogy/nHvyePjmFoSuZjgJbtyUJlP1DPhbdyvJuaXTesvg6s+WzwC//zIklpoNt6q4Ba5rBL0sdz18
YYNfGjJg+Hb3WL34DpXPtcmEly6MxeMGH5cf3sHC6AfG1yh7x+Fq3zpsXZicN68bqF9O+uZz62su
kCYdOcHdOQOTjuDw4vSIsc8kpetX4E84SmPkXD2O6JkeP73GbyPY2fXEfpkhWftRUtuzPrcOGwzf
fKsOOLWUp5QyVDk8plEmHUFJ6MCMkJt9kjuDuZFeulcMS4JJJAnFw3VRM3mFWAK3LLNZLlTq0bwq
55lMGLJB82CKxyLPpZkUEvkIpYcXTmui7alwe9lyqmyn8MFTEfc5B+n3zm8fXe0fX5x/dfodtAgE
TjzJ8NIzj4397U2ptfrWp4oUZaMxuuqh6fHR98LJRkfQqgnqC/m9evg6ydfiDl0j37ozqn6TzAjz
VP+z/nu7SkFt3g+i7TcR7R5bbnvbr9+iLz4bQf+Zcdes8a0Qepl49FVAX75HX0HETpsbtzQEKPk7
oG0/8J4WfTnl7zj3sgWnV9ddea9iB7kUHGWORcEimn09rj54ELljLF7I3mmT+EaQ3D0tt456AXM6
NwtNAAlfi6aByIFeJCmVdscVF74NIzkOs3JBxKEXnj1vXkaAZiOUlQkMFzMCdi9mnaoFVkDi+J84
7fs9tJQjo4f0PNs2vo2noHFiUYS4firdk/Z4+l4ajqZWmOF23XJsQg01KGXoSwcy0noEXQq5e6dQ
7r2yIK1TGWVNGBeuTUG+NqcU96LXxweo6vigeGTs3t62R1O/C+1VlbRQ7PbhdbRzdtCB4m0f3m5H
u2cHHc4jvt2FwXAPv8rEI2zv7p4dcFtrzWvYHPT73d1+/+wA3Kqgdre86ELGIKwtM5lEAXsXy0B7
xmdV4HGK29sn1RVP6igS2I52dx8Z9vS0mIJqDqjSJNYZNzn0aUlckV+njuOywL98whXVhG+2TIxL
h4xAMPfd7b1sxtyLH1EFs6TdT6RR93i4w95zNqpq4kYx6cHraLB7rA7e+Vb7zXxu/23IgZKF8OHM
NzMlGAbXdOEQp+PJhOrr6K4KNmwbTITPFGgyduNVTLle5bgNIQ3xgpUAuX6gFC+FVAaDzt7r12cq
BP+pyym9+Jyz+nflTHaN9G3bQ47/YgJSOFszJeETZ2WykIy5R2qRLUnShEXDydnJdBKMzEIntupc
SvlRW2YZn7PBsNPfHp6pDqhIRjDob4d0RtVKjxMnjPunSIavMUrB6ZLaOHJ1USwKf6GFyrsLOs8h
JeHNUmr8CU7ccTSEYt2gDdsfDFKSXY/GpC6KYdMkbQtyy4Nvc51JwTZrYXz6uhaxJDGOFa9DuGqN
PjePnk9WZzu4aSjlsyRvMv625ldmTEp+Wvg02G3yOJ2p1r2Fnf4XaPjuLGbcpG1mVL6wldx5xZNm
T8tpJ5B28Olt5w0KeejBm52/7aB5S8bMp0H05lgdVLnDiwmXO1YiPaBa+QIVAQWeFBb27HZ1ufDs
Br1gwmdVOaEYbXfPF/5ccwaVi49Or65Z1IfMlCA7mtJHImHxUffZf6YEIt9uSVk+HnxkfWJ6oYKp
xj1BcUups5/G0Tkfli/qfWSrfj4nkClxX4uikXWb3auPFwSdoN4vylWLtLko7FI7z3Coxzi8SRD4
RNlYmMQfMRHHsuCzyOY3Ua4Ds9IRzILRjcAJUtIfleKm2BcyR9OT3x0yFixMwarvG7V/7kHDXa5n
jBilRDRl1WvmrUoB54rvEWn24SXCvQP0nXxHZwI06xy63WQ2V6mkdgfep3ziylZ2DNcpBe6qula+
bpy3hmSvT0LjDdSTCW0Ej+ijkX5A6WCdyIofez9892Pvh+zH3g/Jj5CRQmycUH8c9ENedym3sJmU
WdFtDLIZdBJzG4pignhzHSR/WJgyl76nGspoo52Et4MdQitZ6MGgPzw+CMJTWZKWfFRUDmKmaZsT
sYrQqXfCqZhyzRuh2su/UeXcXbbDNXlUGIveru8EXW13kZbWp7q7hdF8g0/ksoKtzk+D44OqVNv7
77Uh6EUNA9vXjT4Y0q1HKJ4+DaPd4wOWXEuZB8OPvkMBRBccVVs1YrpyEv9rXZp05YFrldlXyxA6
+nQW/ClgrFFYHKmxWbmyXgWT+KN4kVe6IsSPGkKiISKi9erzRFm6CIdsDP8OCzJ3ykhf4s2n00sh
v286FK/6dxG22j9+aHQ+gs0+/B3/3+aLsbotZN3xqG5RH7iwIVua/rXvK0WAdwtH48PT/av96cmH
cXBdz0+/q/R1DcY0kIk7ya4nRwpgpvLER03o5bmGv5TaCaT0E8+VY/NUg8f1DsTDjAQOcoEx9yRN
id9X1sks3PIUIBEJ3V4lE4ZG1YAAmRMEJ/Ht6Kn0RhNZfXNmPDnt5mgEySf+Rzo0xMEXaxuAx+pe
1vEK36o38jZ31ch17eB8QacEvoClFAklKLwwD74BN/5OpbCOaghCielnA69vfj7u+rVMq64JXPKB
HhFTnIQEddHhrmWtMIlBNBjuPtZHttPQ64NouPtIhZO1NGerAeWBN/q0qRdIZKr8tl9e9PZ22H8h
Y/rXYRSvn1fL+Uxrw0+Dy+EIBEzGhxfnRx22EXArc/Y11zQ06ZCmO8mKypsnvv2yJGhkN041UjJ0
iyc/srXdtzCdnvpytIJ6/McSTeZlx/dIYOnAKCzb4cIUSFV+R737Q42MNzwbTQ7oBShCqJxLG27f
zUg7GngkSqfFYjFSeSIfoSUg193p9NSXZJM1GJpHUw3FxemYS1kpc4lrb4wWcDttbotOs0xmfT7l
nK1YlnliZNI9O/DuOVdtk8XG7T2fWm1RuOoDtQjbeN4TJ/gwm3ENBT1Zcl3K0f7Vt166rbdKaBRS
v7LrO+eb9AVEfbCXaOX7Z2PcuFx6u9BDiCsV4SpLNNddXUCZO5XCPKXZMDd8laqCr4wCAX8pFZra
VK8TivH9fWsdVJzzlLoieMqGzUd2yVTe8Y4JdymlknxcUpsL9T0GGrVFpd9IkRgC5UKmFr554yFz
Ih9gHd9ZLlFYooxD0rFRowx4JuWYck2xz8aVcbFaU0vxp0q8GdVZNyR3B0O0I6FRAz4csVzKddMo
olsA17agWqjX6yhWSe740fCHu91M5SXasSKRHOrhe2CUo0Ih+8Ix9u3w6fIBlSoXmgRkwhE+uUVU
61THlo/gi4erPjZV335QtlID6Qq+PbBdp7tnBwxypd7E3vpyMq/VBF1kI1lcfsbMeWYN/F1vt7YH
AF4wCChER2pSOOYiuiGBM1iVSeBbsHsPxlXMtr4LjVr5xnvwsKNAQpEfytWfa64ajFWHil8AOvwz
g851vv5n4857O/3/enHnyfi4Ozk5Gh/uXxGd+cqDAZuYJ9Nvex+m34abGeAvpUB+5KRaSxeuq/Lf
o5f34eU1l6N+JazbvzypSiJCuwJqHlNodLKORcFlSCfTbyHTpljqVC/oNuitSuvVv8dT9gXgoqai
nKkcbKZDji3cknvx1VcjZhL2pje2fHWFv+Up9PqlhjqKg7yNRr90yUBrMj6+8YS9ub46bb/j+5q2
anQ5ly3pgvvChDZkVi5urEpkLMxNABJZvvOHW+exYbjV0Cce9FponQal6RoJxiCpa5URVoBqbUbl
1TF1z3YavpdGU1+bnGtJog0rFxOezy+qfabqRfr5L0JevOm/7VONJu7CVyS00Y+IdjfpJG/2N4O7
wgtr7By16iuEtRwbOAyZrpiSN/x8XKdre4GLbYruju/RtdvfhllpUcY6xpmfWZxVv1+l6zyhOS5Z
0HVjbJRyLBBaf2DSD3Yt/CHo82Hftv8Z+fdfYFb+14T2nJx/Nb4aX8HZKZwEINlv/hqGqJlnuSjc
Ay5KYNOKyyH9r9eqIZ+zo//VL2RFqp+nS2NcvAwpJCo22d4Z1WlblS+lUdVF109uKOuw9dAo9PKh
0zBjhjAIs3r6ZLhD5KM26Aj7i77WruFizedbVnGvIqf1yFuCmb9uycmcOs8cqwM69P7CNrpFLE3J
J2IoSuXTV+VUwbeHa7Ilady7XM84688xZ4iXmsQHRfk4OCEZSydCiCLcnSUTfIvvy/C1TLMQW+JQ
wlolHtVUckc3Nl+f3f3WxO4Md9+MwJZmIdH+lQ80fZ2HAja+BEnn4TI5aJFoq3CQsBCFR1/a6s4W
p7k8pm5OUEV6qiuVfOkYSVcItVxRzSpvdkaNS29iYShiLR9F7NIVXJyP8bOEkntX03+A/R2UNYPd
7d3hmTpYv+PZcwxQMUMVaRV+1VRmQFuQS5nUtWk4U8IdKRduOQqFP0hbX/nqqRLKhMOCvS3LF3z7
EiALqc4X3valthEbIYxASymkqcmDRgR5ID4S7UIjVGQTjstYmdP9ODGV8xXhjrf8XiVKUAOWRVGG
S9la1bqK5coSFA1f2oFQ4UWssANG8g1NSppG9/1AQXKSKkyqL+s2HCoRYFd5vDQ612WlG9EXDzRa
iGKjMpgLYe4sZNJaviczh79EuNuR73B1QyU81PQRGe5IP+SoWK54rFpvNpiYL6/BxSyMiCnePDk5
no6vziAxFOTVQHUqy5Dl8Y5axcyUIPfVfkrnxzjMJSHTqpZ5b0OPwmOpueYOUjl3PUMj+WBhaNOQ
59fdc+k8XjCCMQOUSut0xli/KiFETYZ8eynICDEAomw0+0IBSMBaPJPisc54etSNmMkUj6BPhxiz
Qs65Oe3dXPnLFp2/+Zjsf3/hD0UIqJErm6QUV3XScL6Abm0L+SpOq1JV59uh714HX//Lc7rq0nao
BsFKNxi8vvn6/OZY5hKJU/iyn1V4C4tIoUxwPx4MngpuSZfDcCfEBRiUp9NUFNR5X7slco12KrGh
GLRRxMoEQOfPg6IzHcrTZb5QuUS5zalY21xxlZc8P5lPT0DM58p3/Wj5/l/OlG7Z4R9yhpzCGhdG
hc25FA7/zlLHPnBHNmpbhH8x5OF5bGMck5+6SFcRfIuGKzd95EOBh57NtOpqSmpTzDRiy+nq4qRq
MDi9nISuqM/RaHle5tJ166V2a+6MsmQDGlQ4rL5p3p8VDHnPqSjCiWn8qQ0inL6+URzqqnuv2iKV
Mr+J3U2zad1mBzYpg1h9qA1+lulcqNEfGOP65WYHpKMLZn1o+wzfQTcdPHvY3/WFH0/qj30TScbN
C8f3OA6i3SzjGFHJN9QjFW/nwrrb3naWeaCsTw5YEob3DN3iUnXaoeC+UakCvaQwShvl1PcyeVeD
FVh5caWDjPW9bBR//lnPKCfQZVSqyqqr9dq+ac+pMAvZJQwzwVfRt0CuWJSk9kKHm1UlZJD3nlKh
wnvi8ruNhQ/6w51H+s+bPsxIOp5dQcKn4+koryxsZ1k3Nrrwp9ct/QnMqYcvuosih0SKhMIEdYXt
p8FrNJ/qjKnM72WqC+kvlGUrhzMEr6zPLd/rR5n6C/PkY0w9rzPx+AE/tnBxxVUdvtGlyrtFKnIJ
icpkbsP2NZ47yelmhpDbR4ISxtWKrPDumsPB3KSgO76hpax2Rhcqhixrd7xxQ+QInYoFynphrGxw
U4ctL19YLBfSeKGUcXIabUISmv4qQ9e8aHFhlBf+uRT4y24u1WI5Q7fbarIx76VJRXCeuR+oN4ei
5nHl3Gy81Fbm+OjaVrc+vdk5YwLbDn1VEbANzqjFArmUW4NuNVDI2wFFkcvnR80Je8dvDYwqvT3r
wuWyFx/PmYyBxJzDmVNjtQqYw5tDqfsViEdl283uxmubxGopNiJXei5iJdKbqpTA9pyUbgn9aBey
rEMZi1zGdzcznUt7cy+tlant0Qj43c0iFXlib2Jxrxxamf3o9e4j/WcQ9SHLoPXHx86q8/2fgs66
2p94HezV9zOa+KwV7VbWJqDLgKYDAvrRNv1tLmJJsEyICRMj4rsazeN/bZ1QpmudLGwEOYX3zqqj
4KMUFxdnXixwUly4Cunw8uR4w/g+XurF6Q0hn8cNaDGOGKKe9Sm86nZrtpc58sInjYI12jTOWztk
p/Btr2y19U/vRNxa39iI+5ArAvvXp943ZvEX5xo+L6iAZpJbB9R4GCvmMtAqHOlXP/z4yneWIPOH
46REJT2fE93YSsHJRnCAxsadXNnaYG3cQViXYRMCq6vyug67xXm3Xog1RcWqHSy1YKE7wlKQe8u9
RaKX2VBZsi2J6dYElM6hKE2hrayQA2S4wae9PhiRKOqAIooV3dSoY43OKqP6Pg0HwHUnvh1DkngP
g00+XnFVruIjf3QRKnegXVLfu1jk3EZNJLT15NBwBxTKpN+LVCVVCzt68gQPd9X3jLeVw7T0pyqX
IeHUZekfS+5K0vqyFk6VjGm/o+SzTHAd3+2fnVbpyiB/u4xOp6JxdFH2oh35Rf91O0zCc+oIXu+9
gcafrRe0yl+Zi0esNyUUbP5xEO12/P//aZMDaaQ0agVTgbeCYMyytu8Y0ODfEbz6YfMzwm5z9Md+
tNvx//+nziYJv2efviwE6Wev8TevcZb9P/34qvH2s5f3aStoaE8Rj8fiZ7phJXRCW1+un/d1ErUb
CaO9QX/E9zJDJuxdQ+GGNAWTjoY10p/lJ9cV61yGWsLNVKEm3YT3ZHAF90B2l9oBfxc0MrQ4bgpE
mvY72PQ6GB92FXwABaWfKcS6oAQmulRBVDNRWk4a9BstDLvbQdCwwgUn0tS3w/avPmlG1EfVpDfW
qPJMfvuHPaiS2i0QyQIP+QmhVLslk+qWjRjCSLKcw6W2WdMEomiTUKzFW0ZsCTkLm0wdogfa+pVS
9gg3fhD6EZCV7rV4GZqkvgutAHEnGiT0NA6L4ZacbNtP6IVX/AXa/KaUzZDV3k5QVXEqsiKqbeAQ
oWPbzoZb3PEsB/Ks3W38x/wmToUlB9YfxRvksD/BPNXCbQ8h1QvloJCCcONWutCirDkmfFHHE0N4
5auLD50K+cw0qW3FCL6ihjv+cc6ws5+F41pofY1y9l/SkOcyvhsF/7r/dtjrv91G7diPdneGWYb7
MU8ZdCocHxCRJx20HbjTiZf9ZJC/9ubsX0p/vR2XGnaqyzjq2t2qOXmEwvIUCXGwctIyhsZyJoai
AzjEK+tpJYwRK2gZXVLg1Z9Rf006PSo9FJNmKVirMydo45hV+bTnFVJoXUy230EqVtJMCnKh8b/U
AsWTkL6zHqN1B7ayt1eQ6PyVe3Itx9X+WZ212jk+8HqEGqHk+iGnKAeTKbiSwZkvjYhX7EZ68D9S
zjMn42q+4PlxTIbNwXdAtXsc1BOJXB+NAzoBtV5fL1DHRoeDEc2z+yW8OT6om59wYSDBnHYHw0f8
/8HuHqvsfwko/eFwyn7Qjofg+eSLJ7dMApsNB69f2WfaqZI3Xq4Not1eP3rzZsD/DaiLQfR6uNMb
RP3BNv8XWvzATXXGZu/3oj5y1pUvN2eDz4/r31eVd+AC2BXPpMjhiPKGHk4vHwtpXG2p9KPXb/o7
SJt+9PrtYEj0/GLH1lB3Oswf0Bu1TqzYpfv0Nhqio1rh171So7jyK1tFliOkOPg2A7xv87k2CeVV
DsaH+9eTcXWC6Kr4hwq7rusRyXbyim1AL97u7/VDedxWuJRgoSvFuXN8EDUcsjcjOL68vjm7OD+Z
XlzdjM/3D07HR9AKwYXjy2sIPcFYGJp2BJubhNJmt8Sfs/qCDmjpPJQqNq4PIDPblDlrCy/McS6L
ojzTuXLajEOiifL7zP6HKJo/V1y8Jk9GsPmmH/5wKq4+3c2AVBDzT5rzS9PjuiMfM2jl+fW5dDeJ
nN/kN4XRMfTAf8b/vjna96GRMGSLgHJ14GKpNV9//jSigux0Z1GT+b7NyLzsS67Fa3tgGQ7PM7Tv
GoM78raexURCOIWvRKqw/dLwJegUZOlWQZa6SjWCS8WHCM9ekM7E5VeTiW/z6+ormerkzYNw8TLR
HglgysJRl7I8XUWwn1pNfXa5Li2n4q6bhnHAi/af+8U6/dxaeaijItQJUSZVH0pbFoU2nPknIBgH
Lc/L7NLoeAS+c8DX6NvWs/YZZmhxRsO2CfzM3bqfvb1+jEKBKsScbCEecuroKh9dTQhbzvy+vqPz
6V9Vo1XrH/g71/yJnZwcf3tyeoquBieXXBnf9ZBZZFJxmbKcGAu3XhlBrSopAILW0pMcU5XG4tbN
c6FSVLJl4rGL2sRolhlvFDpDkaBqxb7jW+PmpX5DgrweweX4qnt2cTQ+rddfe8I+at66vLo4HE8m
J+fHN9OTs/HF9XSEi90/vTrzsc2uMBlLUTKHWQcTFwqzYnnS42tokCaUwrBLgrh5aPIXMBj2wfoj
Oa4TxC8uBL6AvT5Zcawpn205TyBIuEYs1jdOoyNEayM8UxvmVNHIRRpI8TuyJ1R9GLiK0Z/2p2QN
2dSPwmTdwkgCkHk8lVNoY1DJO86j7X1/pi1ZE5QnLosAF65LzEmNoyhv3lNCS+OgcQ8eJMqRbtXc
wF+GE8EtGyu3nK/7ZnJx7nG+Ft/nWy9WcXv7Dm5NmR+VWba69QFzcCpfQYIfNU5QISviNpogciri
2amnydWdF1pV9atPJna9RXX54bBdqWbHN8bdr5gQXZWhfEA6zbR2a+fFa0/eNbpm8896xhx0OGXc
U50NGZHrQazw4mw5rbAJrcNp2y+x4SXwOw6ntB32Tnnj8NPbPhqZJl72ng7YY3UDfv5fBEFOUoez
S2Sso+9F0X8qbEITh8xWNB5wwSjZEpYAZ1fBBCWLoO6Z/+qPLyRUNlmQjoLTsLd9c2CEym/Orjg1
J5AZNjvPHr3JzOafXrXruJea+3swvDFAN0r4CzLOGOzmeZ4cGXSn/TwZmEmpPCMtXafNajJPuCSw
4gjWh58Gr6tUQZUm2AA6OJf+WK11SXlp5X/i+EXg56b1gCZRHO6W9XmeRVF+zkRJJCewN+MyESNv
l7Bp8xX1FeVSjeit/0Y9yuTSyJiKJxrjrJeMLrV1VHPg7csq4c/QE59nJzgBmlzoKbI8fAqJRfk5
k0txr3RpUMKseBwKdKBuWccBRAxzdW0uYiHMSiwb4zWNvbOLqzFMv94/J5xFmGKncccjVcr4UmWy
TtIacNGEXNCFSCZ5oEYIXP+Tc1WZby6K/HO3KMruzMj77sC3nPfI56XHweCIb3eQObhFh7f8iWSF
TtA87/ePFchiKTPk7dC1yLtgnElmiMe9b/2wVbdQRUKH29B8V40KeRIwzecfTo5O9m8+nExODk7H
N0fjDyeH40kEp+P9D2MYn11Ov4sCiGIEdC1Jl8qaZX4f7sjhI0tZ0g/jq6uTo/GEaui4LSbV8RCe
sEjLhcr9Zf8+TAupomQtQfmoYDAAjgLkCMVGiD3glvXByIUwCcXN9Zyr9ThwQcNXy/elHYwVqhUw
mozMaYU0Pg14eHRCpw8SGSvkiKoprc8tc5reX3zi0S1dQrcQc4rc+6gc8KAvGjG7CvjDeCm54vIV
X/cY6oCmH08Ox1Vb70wU0EKi+Kqd+poJuuotakaGybMR1HWlLimtDxGlfEkUzVbojpPI8qqJBdcK
jKRoFxv2oToTrEpl7tAq46IBuk/sIg+TDgiOutPZVPu+7KEDNsMZChmruYo9NMdKh5wUNvX6+uQo
1FcCdcmhE961mYLu6a2/8mjz+PK6OxD9+HVf9LtyMNjpzuPXu91kL5l1d/vDePh29ra/J2ebvgQE
GsXog1e24Z/mUiYhk8c3I9TQrURZqzKVCkOTtbywe2XVLJVHxMcN02hMV/U0r+nJpFk0W2IEgUGB
J4omr8OY6mc5KNDIvQe59hwt9vO3AI3O9cSLMPYINAfQQgXbrHRrUwu2+OWHw6536RdrlyOQEKRU
CUuT5g1DRJ4u0E0nmy/NK0BQw2kbweb4L6VIw+eUKWp2IKzulqbbb0awWS/HdxPcgmsraxR4bQ1B
i7YT1cJagQ2q/fiZRgxQq1/VNmz4C9qGDd8MR9zPKZDYxoYaZ+j53Mf8w+VbPvvNgQHGJ+KbQjyR
C3xRORC89EgZ6wvyuW+9cnW1ZNViI4KeKAq+Aul9MPDRdNXm7iZRDN1oceiWM6CdtQsYO89Cju13
0HNZAe+Dx/fMMGTDivBg6MjwcihAyFilyh5oVezcpgP3aRDtTg9qFVeXxIvCY4uMhOPx+fjq4pob
zIsqQ8OOEgEITZmLB7HqwFwYX8LHck2ka2HoP+sZr99fRUCRb2qwomc+REYRhmrLTEjOkpXMwnEm
Q+cV8u38b5l1kOwT9b2/Dwk29yqOcVnR/GKn+qJavO+KGH5B2v/ln1wx7jvUUzZzCFVLl9DXAOa+
1wrH3inu/iw0z9tES/S5/+e3WBdGokaxMNw9Vut3Wre4ymBE4Em+WfD94cX5ZHq1f3I+vTkbnx0e
d7yZrPOuoZTtTvQWjtVB23eA4Lx7MLlrpTaHT6+rcL7lzAftOW7UGioG58ULaeZR1vmRK/tzbTL2
Qy08yDT1UawmQuRsDRu43U9G1CTmTTQ4Vh1qCjMcRDv897cw3I628e/UIWYbf1OPFED6MKSugfvN
4tnKfKk75PjDbd/R78Hiev+MljOxNYd63+4iJaj2PeMCwXlKfbqQ4QnF1QCY+GAszLmDxDoIhgwT
rjyog7J9nOfRBZ8Q9b034ylMXrzd7RVv3zKZh29o2EXpvbYAA/eoby5mG8IjjQiJSriRj+IKEhII
D5JtDT7Z7kF3ve3gYewyU1aGHnIBScqlMBWeuVWBjbmnhc6r++06L0GmGz467sHVx4u1YDbFt8ms
W5FIeeFqDx9krmxvX29fm6b+am1aN11EgvRt2iOf9napm4hiO9F34UF6KhuAx2JeB7HpXngkVLri
GiePtRfGjRoJkv3Dw2MaajDoBoCjTlGhJCuCtAZ/5cXbet2DimUHPBymSs1t30zk4koU7GxbJ7NJ
oXJ5czgl6tYpvPC7M5kokU5lVmgj0pvDaacKg/jsHi28ShQWQnnkOVdHCLqfhXvqUjiJ6EhbL2C7
H+1wxA8JiMK38FIbz9Z238Jl3XiZv+bjjZwVwrK1BIEZJzxQEz3SZlNasUttg0kETah8mu8ehPfv
G6RrBm6cKa0Lkc5MPN6g3LihKEhoQuClUmH0nFreNJN73KGvanblE3nqXnZqK06GhjCNfK0PEHMt
NQ3FA/iveXBKIDypQnhiiQ6p3RNvwtX0HzhxQzid2gAlfZuTu+xXGS9Vw+dgM5riI3UlQ5Uc6sDl
4Qn0B6N+P+rDe+AARPuJOBoOYCkSCDc0kONFprjX9n4bvElLtQfS+HKAUcPdZPHBPuGSDdjSsWPH
DTAo+G6pGIQWwILlQT/zAULey+Ox86QGb7BTQU5QXTQRDGqioP9hLh9dxQbE47Qx6yD0kIxDoV21
I9AGBsPhmzf4Od/J5qFStFSxiuAQSUWWvXacuPbCzNdXhHlG8JEPkGeZmPss0u1QXB6gbFaThOqz
m/oLpzVstHqrbirScxj4diU6qarzfXFJVVjCOf/mDUw6bwjbSkkKFukV83bngjtg0GU7hYglhY6R
yX1iltwR+dcuR624tFIWtbelS2N/eauH2nILpXVv+o3i3fWDVbeT/Hyv/WcVfjv9ugPEb1lEV5mJ
uzucqq2urKTGEs0UGgd2CbTKF48FE/53mdSE6gESYe48lz7vkBAq2hpXxhqJYt3CbOVkl8Iaiq4U
q0XKx+Wq2S+q+WxDdId6v/fDEdsE62YCmwh8/Ou6c5IXqNUvP1AwsLueDw/TrcOMDTPCHyuOkXgT
jUQYNfKoJ/nCMeIKLKqxXkjHXUwCDPnyw2GIXc0UijzqFXBPhq334luNFSgLH4VyX2nzlTLWHfq6
p4ZE/khJYRa8dEq92cFaeimsVf6uZ68kdkl3t+Hiio6ZR+gI+HB57ks6RCa74UkP9LUKNT1hZ0bB
Mq+CD1ST2KHOEtNrYkv6B0FVPeZHJgSwfalahOu+uoui7HotZsp8pvVdlHGgFmVmvV5qD1gYSe1A
rXLSdnDJFBsLndwHEZnF4ToHUwE9OAt3t80I0tGgP9ztc95t276y1ZWig360M+zhf7f9iABweHJ0
ZaksSCUygj9rldOk+UYyum7vXuYkBonXOGfqBWjkxxlGPp7LFQ+mkZn2+uLri8kUWv7GYV9WSmEv
+v2TqMm7enpUfVaU3RDFCXcLelNK6/TOx6OfxHqdlek8zG87gm90XQ7m0Et8Ii3f+7hXI4jl1aay
MP6H/cMp3MlVpzLoObaE3oYvP6uDU88nvTDUcxV36kjITOcT6WyEOkmuDxjObojfBBVjWaXqtVvL
VmvHnfJIdDBFPR4enf35XOWoLc+1O8nru9I5HS/NqUdyxt7ZohOubBCEgYY7EZyGVAhTMTz7Hv/2
QaSl7xgbntiN4FKaLmdjVCa7NlUMt/bQ76pYkpUily/bugh6pyomq1d0K/LVLYWyq1T+Cx1egzIn
k4A8IDQLKyVTD9damxgVAVmCMnWQ4kHdQyGMox7VoFx7VD8OVUFxN1/fciowjrO1hXd9DymKRiQJ
CLhNSpHScl4akzG2RL8/4H+/bPIs83uX+T3ikd/jcBsAVSn3Z5vSrBeaQ72Z69FUXBJ+tVn96IMP
m1avCNmBA3SdcJYTmVLnsE6ISXucznN2iWpoQoOTX4Ws3A8vZ9wCfvVHdLo+Tk6HTCH2hhecZKEi
TCRe6/yrIz+cldJ3XiWBtEIP6AN5BkzKdgWBCH7HDrk7bMzKaBFyDT88IZApqZR2BA82/bHqCrMo
yo829SE+uiln9+1Ou06KBTKN4Icf/cCXIQdDR9BDbVG0O0FIoFjkLBzYHOcMSWjq6sUADr2ed2p0
Bgil/k74xfiW8J/7/cudBDjj+aT+P6Q0GinLUPY/GY+PxkfUSeQ2doa/sD6Vf8tanPV1V3Q/XHIB
bLsTwjiNnGqlmz30yIb6kZBsVf4aCp8+ealQn5b912uS+aWn7ORVBVUVi448hoFQFGSr+j4MaMUF
jIZtUOMzeA4/UQ9auTR6Jr8SKi2NnAZUD84nbBD1+poL65qT2u7361tz1bx2iBOjC/+CMqc2figH
ppWiqhY8GIY3bG42978qzakRjXj0fM47wNB1lch6WGorSXxWvaEMaWPCJeWjtYR3QBUJ6gtMNtnR
1cXl5fioEu0ED3GK4MFkw10fHo7HR5NOnSC0y3D74VoqgVVUXdQBmSKsEVODxLlIL/JDI+yycQL8
MeVuAbXxyYMxxpiuUNFcibbOFXWKYSf0lfxaWAryjne7w723b+F+G+7Xo3Hjy+8O4e1gsNuBT9vR
7iNhgnD8dvRZzhEm80ZlBb1696wNyDpwIPoM9gtlKG9EFWr3HA6ftvt9sBzf8YNReIzO3qfhY4iA
0NUhfNw+B5Rbo+/nkHIvAOPavgDPi8R6kZVM8N+8sj8LbovggNvq+PfXEcw1AANL+7ptcFBxPkHg
cxI1cB1/tEdEaqJ+PYv9HLwN1u8iC30fQt3zClqP3fD3dgTncsEwbq8o/QVe4UavqnMaqQ1Bp8YL
ZH/teM2h1Rv6dF38rLRVmJnZOw+3mWyBmFltZhycT/Vi/dbRRKZixeeOuKL5llDNSPRle7CWLbkG
YRYlp03lX0p0uXSZJ12jZyr3XB8ocumn26Da+fn1+Xh6czWe7J9dno5vpl9fjfePJiNCnfgs4StL
x7SBra3RDfkK/KUKfsDWTLnah38H1sS9ipl66L+nqUwbQN2oWDH0+/2X1PhbpFAW1hkpsqoWiRDi
1QUNfvIVOIqzPGQcaXaX+JCilUOidT3vj+9qoDzQsJ3px9A27hlGoL9ZvWQQ9euamX70NvBoJxQF
k+Xtw9vU45AldlSNQKD48dnF1Xc3X13tH05PLs454na6Px2fTyEWxcjXSwp/6zvD3PJ6pToX6oAa
EYwJpxnd3KBHcnOz3tCZBAvzbF1mGQwADritg9N8Swa+/Lt0DB2M4jIRkZXuppDmxh/DGw553cw9
0Kwakpsy4k+6D+Hiqsvx1dn++fh82lkDkQZQkL+4HbjDgs/r8mjM+LEoPOTXljNfGFQjlqtAl/Kx
ZApp+ElEcBGgPrR9Qzg+4D3CzeNAyqdBP3rDPZTYuOQAfwjlDoZv38KZOuC8RDXUueYahEBZJKyt
VxFQqIlY0U1nao472W83+3nWRMttaQS1eOR80VxV3PgM0DeI+p/tsvj5jofD/rEKH7zU8PAFY3VN
e0W+pTPDg0sr4fbfBOa/rb3oIOnStKvRU+UYMWcEvZFQFyrXoKT1CsylhI9fX5yOq7JGloLU4TGC
CWGQVp4j5kqmCbq9eQXTqkO/wRMIaX389+9y4+0RHJ1Mrq4v6TQfXB8dj6cTf5vn7t7v0TlxHy6P
qMpHZorKh6lF9txjQ9hWJikU/FL48j0MfSqAI+XCblB26zoX90KlVB9UdxXPVL4fPq6rF1wwBJtf
jwaE99vY4gZHMjlS1pTcZoWqAPnGBu4Bext8cep4dBuCoc04jDZWbmyFmgOq2sg1rVc4fAXHB+vm
+yqfG9Erktl6331qqEKIcj3f2OL0fCJTNaMAULpi19aP3HLNWwBQ73fAyFiqewqq1FUMjATfomgR
7+8u9DxgY0gIF/arRIqHWPpWWtHG1sZ6oypGXBKiVhoXbs7waqvaNGVhQNTLhCPFqKz0+C2kN7qy
ob1WnUP3liwn0qKN4uV7sX23wxH88IQJRjAAPDZzo3P3s7+gux0/GuWk+fyPClVINKg/0qw+/7tG
+8nP/iZ0DvzMD36PtqnT68Nv6YAfH/4exzi0BjNSFHyPDJegoM8qk951zvWdLfKaZqkqoFfdH9L2
2hSNjjzXbmML/TMPKmMJCKm6kxy6YxYMQhxNVe6E4/GrVjk4OZ+cHI3hNpD5Floz6R6kzPE4/pyL
7wPGzU5IbfQRqh7IZOE4XXRTeS/TjS2O/aKS8cP6joMVvhxVvjD+lgIW9RUGzzdM5EYOivuOb6Ex
2Gk0cuig5iTUUKcJ0O801WanQSkKM3mFtLFFsZIMSRcvVUrgG9qYS50cxxHcRh+4L0bT0OSo1y1h
MujUk4eUK1wuruKWmiAGuXVL1VI+oP9ElnHwMRMFSTTfcOQJ9TgLHq65VEmSEmQ/5PhYWdKeVzgB
HwXIA3DkCWC5bgu8AyJJZAIih9s1uXFLvXaLFSzVAt9SFt6c8z07cUq5dhz85cuuQ+eD2/Wg6S3D
qreeop9P9ydTSEqSf67GIxwf1r1UAvaSy90IltHKNXF/Gd91C510FzEcGp1/E/pZ2gplw3GtdsOV
C5e8uAdNbResR2dtcX0VgxeqOMtnUNOcywudu6nIJCdLUuCxrHEXVDDQTNuParTC8eU1fUln2Bdq
U9VNfSdsZ2OraolAsTm6w6I2gXXpGB/OHeKtziT+krZE2mij5uFRM4M8qnIT1aVHrrqyAjLl1EJU
PQMZG8CzZH/1+PKa83epimWDjd5QWzHjOakJoLaKjzCLORp2Nxn0lwQ5oUFDQUzVmia1mplaJr4v
pkdp2IgSBYm8Z5DLDurxVEKQnUW4tncmlyr3qAbizQY+HuUvp2ae6smQDaE+54N+s9G570G7iab7
UpqeN21G94Noezvaow69FADb3h3Bg5R36Axwdkuari1jKtK0qzxGCfyVkXZpRSotN2uA/evpxWR8
DN8oI4Du0sTzcjGfw2xVxw+pCapFjugWRmYhUxh63x1enbXpQqONredixnbx5d3Y6PzP+on5NJGx
4WB9LmVio43YTlZ5/GJv6C044hgytOhq58r8StR83vbMGC4xoIsX0HooinT12f7Sfm7PGvomasFo
WW5B0n896vfh4GoK8pFuceBmeNfTQ2gdGPG9YkIsRYLEOJpM8ezFEob9wdt2BEcVdJgBKCqT/1rn
csRXxZE92A1F6tzQhXv3IF0vzm+m//r9H77XufyyQ5mFRFlndCqt7wOcNXoQuu8T4WoMIzpDVoKk
NpqX++cnh5OGTJOPhTao3EKDrBBGnfPdMO7JXdDDN/3+I0c+3kAiVlXrzcrDmqWqQqGzNsUV3vwd
iBTNzxbFbU95uE4Ni+vAuXZXUiQrD4+uzkIf/FkYdHc3fVNtJh3tjCXueXJvbrWlW3Cq8jsIlw84
zXW5Ivbl8fH8xj90UwiVS+5JU10peyAsvmfpXGFHvZ6X6ZFxGYGF0ijWWTQzPVGo3v2gR80tCxFL
24uFc6nsZtwUQOWLLl/p0/PdYG0PBx35A9383cKIucjF6E2/Vxj9uGL2O9DaoSQsSAuMoHFlO3S/
rIEgjbMdFqmSCPbDTYqNIk66Dws4heN7TPlikQZV/MXsgi8KYq6YrTzo2T93JgrvAG8BboTH/FXD
kseDsocbAhPP+Dp4PzzfdcYJW5mjCmoMj0Pa6gVPFu5FVzdvDkp3fYJTLpVVyTBfQ0oJFpGRWPiz
MiJM/XewuK/GZxfTMbdJ/Tg+qJB890o+SAO6kDnZ4IkK3YtE3cn/cv/Qu/V7r4e/h1u/LtzfkanD
QGjXuHkg3H5OgsXo0vm6NZp7rsGilnSkLLjnY/Uksm7AevgV+4CLMPGSwt8qh1tvE99y4Cb30QWn
ySvX1t9YmYoyj5dwfXUKhULfXmTaXxXdYb1BF8jVNyfQwSEstveJ4TIVfEWw7dEEnKTsEl1U/nrY
5Sl2ExXr7P9l71+z20bS/EG4P2sVcWjXa7ItQKRutul2vUNTtMy2JDJJytk1Pf1XBokgGSUQgUQA
ulRW1uk9TG9gPs4W5mvvpFcyJ54nIhAAQUp2OtOumtTpU+0kgLhfnuvvd8umHrYLgM/8ldLC+/qy
091PNEpVOXbIFqCDiGI6k6oA8/sIft5wtSl5D7X1mCVmnF5jUNQU4JIYjgGoJki4UB+877/zZHof
om9PHYbSwuvhwJjTD5DpYKAziJZLYbNfdM574ASNbsgNTYCt0PDpmmMFy4WD2Ri8/v0/MO7BIzxo
E7qYU1L99wQRfmZUsr2AL3gq99T5yuRrVAnVJTo6kyaKItShDLADOos5rZknP/JAjIRInQOZcd9s
GR+C1PbUS14i925a9rtb+ojv1EsV310m/FGf2o/MMzVCtaXXbDZbtf9wB0P7wQxavX7dfK5mpr1h
IDWnXMTIX8mUSj5T/59RJen+lQgezJzYq/uYtcu/iWsWXSbh1r4kjIYrudfr7xlr857a7DzwNGvU
HhTz/0fsun4QvwHYtgiT83RNSFgBEMX6Gll7iAuqF93omb7qnL7rXHXP+r2LydW41x31JvabGe2y
JH3HQRrYY+lsT5e6p3aXN6N7avX5MVvV3CUZzFaHsyVjG5ZBew8+Lw1A+2XzZXPPfOrRZLZHWSr3
9DWzl8gty+PzisyXT89c4loiRp88aOBTBiye5nTVe1WSOiS6bhhBkGWKW9iKs7auLlgAzmmcZ8nY
W6jbIcPeudxFnkNM6qqaACQMtyXZSsZKKJxpvkMlEOCRZphSqI0Sx9DE+lETw2wc3pSDZhNCOop0
LEOWjOEgapOXUNN7caspBWyZK3pPbilPER4m0jADakRjlqx4Cg50fTUBCCxILYiTgvA2yAxMER9A
k1lpd6vtihovoMN6JklKeQhVSoIcXRDBAU+/pzzvTvNXcQ30h72z/kWPfD8YfeiNSB2xLVJGPiJi
7XMymowno8vu5MvLEyXTa4VyW1K6zAeeRQYvKl8OtpdNWAPH7Vyp4rfSxDfFPOoiCQ+E4daXkEaf
ECnmGv7feUp1OCXAWoqI1TDMJo+6MS9Y5tKCu+kJYHKWASKULoqaXmopeF95+y+tKeZAk/Ei65xt
jYntdHZkmuhsCCc5PAchKg0Z4CDpRHcj12/PZtDBs9rOpbG4ALEik6wQ2dIdXpaTts19f8YWdHav
7UqedR9cR2L6mlyzGLebOqduIQ9G9ZimHGnnTB45qsDaRoD0OIkkC71gcb2OTNF79sEoxagg+8jG
rBZjIp8Qs/Y9jdbMpboO9iPO7zBNmtS7w0vynPQHiLHTQKvsjIZMWxwxFNbFKzlQ+sa+ErKcYCVt
wDKTQ6ZC6X2AL1gv8nfovJ2A04i0Xh57+61DSW7ybl/ptu57rWOJ3lsDeYZqnE3hUstwRSMMPAXK
CZhFXR0QHOvQB1Q6bsUuOm/cOU5viyAZudDI7mKBglnAb3gAyBjqrEyXPAnyDIQovLdpp4DdZgVx
ICpKMECuelLbZL84T4meWsDPwKjs+B6EZgCWDtBCAce4A2IFkjDsXINrKWIRisX9OE4YDbo2rxgH
CLJ4AYRHwnMXDNSo9k6Ty8sNG+2SOVWttTY5hPxWg8tfogxFyyVeLa/totRB7xbPIQg4JtmE92RG
AUYjDxhQR4TOoB6d9c/7k6vOuIGRQDFNc7I6jIuCOwzvVw3hpQmtwSTopPya3G2TSJ0DDhhEqqIp
CNPmbNqJiEjCAhZyOKxAdX1xgNYU3clztoIs9fOpugdf7BfBD5RyZU42nUdfN9GYLEA1ejcfMD9Q
EpExxEkOPCFy18EU0DgFfsS5v/hLgywEAkrtpavYX0uON1CBPIWYGEghNKsbR1I3ah07gXQuTgB6
QJuy5bWntnm2QgAEg8Kgg7U06ACU+WcxBc864gIYsQhI8sPQuZfqJos+vMd9d8Ll9TCnks0WSzQ0
Nx5MSHuCLp7DU97OI08stini8gHgWT0+apKm33xlMtfNv1f0jrT8gxc2yuOJzXZv6AMeQHDM6nnf
GaM3pQwOoN6isbWLIK3IgS0UaEK8dJmtppESrGTMr+Ekl0uRGDMR2tjphgzePELQRpHzNLfFFpPU
Ic3P4Dms6B1fZSt/LY0vz7rT5K4HR23SgpsBY0sxG9YewMiSY6Hf0GOXwCUBhjQnYsiD+FRASHhN
Wscm1k3trBYExSHhd+pFJqiwLplacDOxOtEVoAAmG3n0kHuDQb7uoWmnBSs4aBoACwr4coZZbN9v
NvHlXcDLtmUWs9Y0qIMB2IAN0n03Nv00YTk67gEDy7vDS7yIbZmIC6judPUBuFPLXiIk/DKtzn1V
uMQhGM+GbWtdGSLuzOX8unKs6ocNuB3mHM9b9CNLM/x+VZKljoEqnSFtUjs26+PTSRY3ltmyaB1G
gNcHZXvTVVmPBIn5HbPIGJD+Bn6SgxPAlDcAk+cuPDNArdHZTKxWIqDaNizZQsNYPycJW+FlBKva
A3htQKh/Tow4AredAwc7F8k1mYmYqxX38pTr0FebqgxOoPsYpJDuxNpDNbYR3p1wBuoLWucnWgFA
ALEN4g0B5ZXGilbfyDx7ff9Fq40mYG2ThIi6xZr44QIDvdTB4nuk1Tzllj7/iZo1PWJ6YWIGBAKG
fJx8QBuWBxSetzxIl89kTplgqvqYXk9sMOsTfb2/eWNOz4Sh2Nd4jT5ebIq7ESDyJwSBC9RSd0vl
PLW443IFBam6lSDCo5kmScWkMYyHhQvECj5bLxL3ZFEjpA6X41Pur6OgGEGr9QomDEFR9v2j1inf
zQ+VV0dk3z8+tIgo/qujU26PDqhB3RcWlnrfP7pzsFBS7QOzBSKWnMjUPb3rQCBpzYqqVYShWjMO
GRAMhkInDqgjYSnC/IAySpPaUr7qKAwahJe3VEsq7w9yGYX8Oj+SFiXFBFGHSjcmOPKg9aV708Hr
x+Lyw1DdkOjylOmtSNLlvRPd71JBuxeYO4OQjg73g/rHro7pW1usoDLHePijS6XuNkhpFeeX4wnA
iROIEd+FnCpY342qS0cd+i2/aXabnm9bIuwqz96nsKlwcGgMpOxqR7+0wDE36fV4FZ/TO9Ne6twx
pjsX2YolfGZfSZjm1LP3WssnhzpWBPaZOa+23AaOLKtlSRD/rDBbyHFBhr3nGssr9hI2A1oZdYLA
M0merzXbD2arBpIEuFKmETDJ8zVAIEs7s+FqefngdbUGM9B64AbMb6uLbDVVh9M8l4b0xcDQrmHO
KHaX6qBjDKEH6O5UEHojNJWeukU8HgXZjFlKgWkobrNYnX1Vt0R9eJ8uRfRMzd8cFWjwd+rTNlEr
74xH2R3piu/VtgK/sMaoNnGNACfHb1h4nwcKSY00jjGcDjGoNokYzQpZHUKpuyG1hzyPTUYlhc8J
JUO4KXKOPC5dYXnFA0/j+ZqVoEUXq4N6nkdGE09LB/bsN0TkpK5uJZklQLNlxKGG+qz8B8XVbtLr
Gqlr52AD5Qq17A5ObClWZobLbkXjXV2ftAhzaExVUphcJjy6RunQvX/mPExZYg5nVI7zyAcsDwrp
ng3GvZOr4VnnojPKCQ7qY/VFMpoQJfmLAJT/hk9qIZipapr717DjINAJS7z9E62Iz272/TmPgq4p
UU2bTzrRPVzkc0zoK4WNY+HW4raiGkJCa3hKq9OcbibjXjdYZ7GZWURulzYONxrM7YzJNGHRIl2S
uZJq/7252/qPNkDQv1Vj9Ya0mv+r7h3OG7sEwFDxSntD9pvkOTls6vT5pn9kRIaDE4JjZXOdEDMD
kAMpgNLmy0VEpI4HtpNAgDfgeeff+ueX545Er9uZLvns2k3bW6DDsNhZHi0KlOyOqfdVZVtUMwsS
i6kPbkz0SvCIrJhckqWIpUU+EhHTRmIYBpZQqW4dD6mJRJzyGYnQeGUiZWZLTuXKJz11FMCyfoYd
RzQZktBVLHMMD+hxpPZ6nUea16iB+6LY6XMeYacNSFbx8WTJo4/iTq2sDYOllLK1b2bXH8XdazMx
EeRyBAzMrMiAt6ThDe6mehavl35O70YMXcApXzGpIxXtTNtNBmazf1nv04ilmo5cx4bqIdPsTzRh
eAAIIKENiUiqSoFV6RSFyU0ym2rM+BCD/TQe/p06hYGEyPJY6RwPbQ2Gy9ykM92wZEpTrqUZQ14A
o4Pl5XRMznLRs51b3nU+umVsar7KkXIb62u8E9BY3RqWran8gp7wNqkdVD6EmYWrdv2xXUuwgVqV
L9jRzEG5Hxh2ePFFxYt2jZjGPiFnVKYe8hNhCpm+EaQrzEKy3owBNXxi1xJDZm88ejV8Ly420CLr
Mpvq/akVk6BRBiW0lxie03o6NHolx+0FWxA9bTY8TV29OrPrOtNxHG9FcA+xzVlk6ivMJkDM6Jvh
nN51VXdQXTfsLE/IWLdHC/YwL7qNEUtljdQXNPY0YJjWthpqK9TmAMrHggWTNbfaj+n1OVxmpZJQ
X6dRphM+As+kxOHpp9SYFUqX2pCYH+hgOy9E/EBpmL+vl6vhP8JtZGB2lgjirIb7tY6zNklVtxyS
/lhEJEsbpS6cYGvUJsA9Vv14xIIsx4/XY2o20Fq/MM/p+KDRhkNCE33rGXBWX5pwatmwdbe41AZh
L0bZGJinTeksyBeTJjpOSefdpDdyRtEyM2SJhkpTY1qvNWuNtm1mtNDhdfNE/AV1br2kU8oTRFNU
wo1qc2oNHZqJji+AjY7UlQKMIZtNf/8IYfZawOB6TFYrMAkCsZ1nmXTRqpMzO5VpjvNuzIRMJflb
iwBwOh655Gj/1bWnNizujw2zOYGwD7MRmhsmFU4Nd15f6Yte7yWw9SNK8DOcRGmseQD2YojRNJMR
qHx26lFAzg8F6hK44bWglKhQiNh3znfnpUSEoRLlSn08U98NtabinN1arztskURMM+nQaz1HGzV4
D+jsWqYiVmcYLEcMNQfvchbxaFHYHyMoyMicFffEx/T6PaNhVxdf8caI6WaM7BSfr1yhqitWK+oZ
FLNAbxaliIiETE7VWELuu8xRQi8vPHMOknrKo/u9WcLT3JeUy3Zog1N70HDbKI00h5bV6QmNXQO+
8oTUuiBd7Q6U5HWhBK+rM/c/RjXNHaf6ozZgoY3qAMswzB6VCrpiUhsgdO5nwycjmihdTYO1o9FL
7+pnslq8dIb0QuClB1A30vrlywOpGvRGywhW+DCI8+OYR2rekuBN09/fPcuixdXZm6Z/UFuXE/Ae
H5gibIUftJuSxEKmjil1ygFD5pRmUvKc9UXpKaBs1hEGDUyDgZoVTTKib4OC5gWqCvLrox/C6Hql
TTFMmDRaij3Hy/omOFL2iIyZWjiaE96DU7BSx1zTN4cs0frYicgWIZXekGUzBMkwh/9uHgO5MpBd
0Yz55Du3vrbWe5rIbo8sMmAujRhNPABL03yneoiUkAg5K6R+wyXSQIRCSgDkRW3iYjBRy3JJwe85
ywClhowogAyLWyVrg7XdQtOqrW9JC3moloe68fX1ltqRd+82E3ICZz9fZSsrzu9agndVVmGG9BEy
MaOhj4Bm8bw9oSnVVYUYTiN9cgRKJIlWsLdcU4fpvU/OAFcCY8z0ybvWtdcmQwuvlSmwYiJ7uyA4
omTKIjbnabHlInE5YmqOLgg2tFmmObSMVmHveSPIoWsNuIn9ggWG6rQItAsBWwC5Sa+7mTqUSL0G
v8+ytLZrHY/qpLHmjlsqc8sqUFOEXINoS7pinmlJZ+8tur0tXryWSLQTA8k6Wv6R1/Jf3pHx2eD7
3gizjeOQ8siaI7QtIsNUJRMKnT/Rwhj45QhEyyAHldr1pjMGXFArrK69om4hMrToPbP3iv16xcGR
3lRX6sHR0QtVDb5tXEVjYVOBBu/eaS5hLK+OuEa75C8sEfiVFyQiJgmX1w1f3145V68xxYgwcCfN
4R9Ry2zDPX2um1w8kYZWITTGRi7Ru6Rn6zmeY8/hS/CsW/Mkfodxc2MUjDEXMzdX5ickmrPdI1KI
sKGtKZvECa3noCsTjIKQang2eNs5K3iPcp+RT4aUJ7iTykbtNy3DOga2RbiGlMY8S3hcMKPqcJFn
0vFZoST1orm3/6LVWI9yegk+gF2SJpoxd80b5KMjyFdFFr0GsA11MHt6K9ChmHsC2ujKwuE28Wew
HdD0j4D1QSBL7uPSAsixWQ7zM+Pw1UHbxucVa0iyyCc1PZeuWfMNKU0zjsZNek1e+Qd+K6ftIqf9
MyuiGjiIUJ0ml3FAU1ZvkLo5MdqEktYxwSPIOeBzfWBFwVENwq1aoa1j/5CYkC8gFsWHtUKgnglm
eGKcBjHTSNngBEWLI0TUwyjDuP5NaQ1ibnz+SKJIMVIWO6AlOwpeK6QmNEl06CQFA1eciCkzKEom
BknzttqQx31t8G019w/v4H/2X70g3Qli8EOgxi29V5/gCCoZcRWnft5dYDqKU3RxmO2v9w7V6YHq
WonYLQaUviY1HqkbveZ4MMkYeP0kQpxA1u9UiJDRSJalGyGUpG+WhusRxxRxbx5CkisuqBTChFcU
YwRSsQCHIaC9Ah1urak0jYAlHGlWChaOAvXFikeZdGb3mSSj8XhXrRziUO/CdP1tv9nUqDAJLtjc
56CmYQm3lWq0L8TKh2retJDfYDA41wyOhYguXGo0AGQ1EdnkPyNnYHdBoNolM+ElWRSpJViEproH
Uga1CvT9pGoL2FzdTRUDfc5W59O2lYJO1SDlFzzStlN1GMZqxQK1hNItEKT8jtSf71sba8kmBOHa
O9ZZ6JOB9q1IUgCIInUA7NFmPnaXsijdw7Tx18b3N70nKZOp1Ei2RoHk6HSji0jIlM+IvOXpbFnq
ZTcR8ZriCAeTxcy2xhPddEMGCtFvIKBbKtdd8sc35Lj5GhQOfZjg9dt62Ww2fHIZSZbjWUe5QvOE
LBkN0+VYFZuDl6nPsF1KZRifD9XpoTaeUp5sKFbLulLtSYpgAPYgQkNL4HhUnBsXlp09FNWS1c40
7QUrX1Xgv1OKJAbJ6gvJIgDZ4V27xrg0p9prclg68V1RSNI0gzB4DQ+XUA7alOo/rGe4cDT5rYfz
qg5nKpc+GbEbLnmaM1zzeZVPnCMFHSY6FWI180AO1bHyPW5w3p0YlYgBGUqEHmov5FNSH8QsOh/u
vT3rjPfUg7s4aRQkhQ9waKak5XjPkQkPYt5MHOEziTFAiIOYRSmE63G4br08Kk2jl9qh3jXRtWBz
49OEwvlIU6TwlJbW8GqWZ2jUG3n8Wj7lUyYdftME0sDsOEmrzhZnUx37BT294L3HMbRaKSoFYvpn
NnMZVyFUr3X4oDpa1kp1QaUoPqefu4g8DAdHOZLbZZGxz+yCzuV4iCdGFWZ8sHfOo/6AnPYmhutD
++bRcwR4e2nCY09T3BIdz07JYevAtLfl7ysFOGbhDZ9BXFXMopT8rfXyCAgQqRb7DiV4K0HwMr0D
Syd6SpR8bg4dJUUUMMVc1C48fA3WPCPYB0z1eiZJloQhnx7gmuVSc14a3pzneTSYFJbL8YmRkDAK
g2Lct/oPjyIlOyakgV14xSMuvPgew3AN9i5Up7ZFc8dEGNpFh4cYTxs+QaNmW4+O90fyt8Mj76gp
jYFFj+KMSpYHlEHcp9nvrWMQgX1ypnHa1DqXS3HLAvLHl/lySdW0St0INL5S1AJfenBSAOXfsDNS
8iOCOoIYN+yMDtG0q6rSzVKTgzGjeCAaDi43QlQdjTZgWTtJ8i+sjrt/1CTnb/ckqR96t/S+oapQ
YwzR2xUhk21yuHFRqx2P20XNqpUa6jpHF6ISA5pSpTJBwnaSMeO4SWi0YJ4eI4PdZ8p+D8UBS75a
jCA65HtIL/xcMrCCFxx5fztqNj+8RdUUuer0B0pTBhFD68oU34ftNydU2xLNpQpo2HShI60ipAol
bwtUErlh7DXIbudvYU3tH5+/RcKeuUkuMcKFqxej3V6H7buM0eAOtULxbkEMLtiEcJwGUXhvZs0m
YVUMZZscHx0dHOd++NZx28Fw1PiSOs60Zv3SNU0fXPLuIYEQumpnIY8l8zCnRsxmWUzVcYV83z6m
PZM3IJ5qcaptMp0M0KGGBGdGSYkCmgS5w6qubbsN10ezoDwqjo6eQ3eMhroG259eIV3N3iZYwXGb
iMgL2EptwIMTjbiI0BmkDnz0diesmFyu3TJQ3iCyUasIDAMoHxhiC9qXCaRB/xAl/3t/qBa6NvuO
J2docCM2TfHg/B3ojzbnON/rP8QJj1IeLa4Ogh/InCkhiPmkH4RKvwMeXAPZg/3Quu+Y/wW4q20E
Z6R0ksPDl3f4P82Wuk3qTf/giKxWkEkS0og1sOb9I8dJgLZT8LHyaBZmgRre4yOv1Twichdj/2gE
nqyWt++j4lMHKCJUldRXPonVDM7oTK+Cf3lD9v0XSAGI6PQUYjG1pHJopAa8h/CcA++GoWQSofYI
oqEH3/DMzIzGY+JpJcwjWvPaA62rQWzAMnUJ0myP8QjT1B5ShOK1RujDfFSZ0nuJttOCiK16rC5U
NTU0XAmZatxENxfpnMnlJprRMiGAtqebZpWNHJpdC1UTGJCGxv1CSN9UkNzAo7ls02t78qPRBRRQ
pbGZYDztZAVN+DVowqgHS6MIrynBGmy5rBlCbZsc4KraDfFAFv0D+O/1lNfwYDA2QMDi1TFjpOkf
WaBuDIUqRG84p4sr8Gjj/GuE3I1pkkKkE4EtZeivwIqEMiCG4oB7ELzFqD0jRKkWbf6FvGr+wei8
6CvWqUsIKbopcIqUWuyonrAIOJsxSVg0CwVoPNBEjXxuQjRWq/91AGe4CeuFYeQS8WrVA3SiaELs
FY/68Ox8dQDMtrUSDqqOCy2GileHH1cG0W6PUl2PU3WKbq0X7SZWbAlW/RXQVUbd973xZNSZDEak
bjgNCW4i8lzjh5O3CQ8W7MunY7swomvJ2GptjNiPGU+0k9rmruafIc5yKWfbLXUtYbt4CLlJkgRM
O99lDDmbV3TBozwBXE2PhU1qk5pWNwDoSQ/bewEwXOY/3UdDkahHL/YPIDgpzqYhl0sAIkhWGr0d
Aqng9PgxY8l9/usB/hqKxRm7AZc/j+YCdMnHcbpVpPIc2bW8OaL66Lj8VQuZ2778Opz0zoeDUeeM
1LsiShMRAg4OIx4sxXkobsnAhZz94k0wE/XLV6EpiQuA0MoxA2otf//Q36/hmQdGvBuWSAMiKFOq
k889vVrBYipnS7aihEuZQUx4cf0ukniGa0strR1CllyJ6Pf2t0OApEhn6ly2Px7tEC1H2J+OHXjb
c7aaskQueYyPj1+5RVc8dSupeJxXV/FQVazx5PC3V81XLRii0eC8N3nfuxxf9S5OhoP+xQSwi5Wg
oX1Dr140dgiZJoIGMyrTThAkDAC83S24tm2IwSRSb1pIX9P+tu5mG1v8CbustSUD4dOz7ADbl4Pj
HEzhfY2sGAuZLhIm2y24W3F59COemhec9UeDFY+8VIhQOta7I6U4wfrTWYu3VJJaG9dcTYe4K4nV
sHAVaHh4RNJbNLOhh14DRUM7PMlSEIh5WkzLtnhmcHx68MK/iqm276PahAtdtVaTD1uovtlS6dt2
t2gEXkydU1qG+SHJ0HOSD8rEbLwjf99LZ2notfzWS7/lzUKu/omBqYWB3ppMtu1w3H94tlv7Lzcc
qYQgJjXR7HLOTLf2tRDFGFgRze8a8h42zdHhwT78ZwT4goUNoOkb4Gy5KD6+yp9AG/TGaDsl63NF
nWHJgqXOYfNr3AOdy5P+hHw/6k96I1Lv3agVdyYWC5YQjwx1x8lztNt9+VvAhe9+GBsG3vYgW6cK
GGY/R5r/n//8r5yKBTAx+TQD9mdVBBjYUmmSDw0xiSwChpQwHZr/SNf/qNft9T+qKUeL3Lg7JB4Z
ZTIlY1ySX36uNZZ95YWPVhY8/TwPvVfwtmWRrF4R+q2tQiesjbybCEaVaeTkevesb7lrZMOYNXFy
blgyBajBnGNPraRZ6v6SRTncxCBy4WSBMGjF5SwTmXR/XtG7YZCdgXraJq3jg5eHemkAji4Ap93Q
sE2OmwS5Vhbi5K0xrOm3CNevWb9gA7v6fjIZwllicXR55Blgoj1zo6NOuidnNNr7yYHO/JmwKEDA
RDT8XEprvrMoYwh7jqCd7w0mWCoIkIzgqxG71YNuZQidLJTFpA6RUfi46/W67wfAJIdGEZhRDx2V
djWqtuBPVmhpYned0TFWf9f0pUfNzjdQpIC39+QtodJ0Sc38SpVkboUs4W1SMz/t7Zl/7b9otl7g
Lg2m+nR3sOwI0K7q3635TbuhDKJIqUnWtQP2cA9pgQ1FCoQqyCwGNF5opn5g6Mjs16VSEy1DN/TS
WmA0XSY9RmXqaRppM9k5UB14TNqvdB4DIdNsdg3wcLaX6Ihl6S1m8Lu1qpEP7iO64jMThSeSFOe9
rzSOSedi0gYLnJ5oi1ep+whROQCobrBugMDcGjLVOtFTjuvzvbhF9o4P2ZQlEXD861UjiR4EdY57
AZsDXSzWAkk8d4hQSCjAYOfMvQNkUWkBmm6quwpHEKmPGKK1B1o9GSZCR7QTCEDzJoBci0GRhHjk
7X1Mwby23sBdDakkSefsTDcMEc8BzwUZhPtDW9QwEbJNJqodZpTho117vl1KsxHUflTf94dt9Y4t
owugXRCGzwIS6WnkUoQ6mlaPmdRf68FBU512dyItVXm49ovDhXb852SYMK8TqkWdMjKEPvLIjIBt
1gnMjh6DVqvVeuW1WvvNJqmLhNyLLEEfUEN9a84IvXQANLw0Rhfr/bJugvV5KA0OgBGhH7K8cLAV
ziDpEkgGkQ2wItTRZ5c9FP1OqbH5OsmxJLRhfp5oRil7apnFL3chpKi8DHeI+1P5HpV2dWDwqcZS
djYkqU/Nqrx+KfM7f4dYytJCpeWjXEcQIg3wkhEWLMArx25pGO5ddCZqIBDnDb9MhY4/ccpEVnFs
j3ZdRrjgUUuJSBbp4BsAv1tSJRaYTHaIotVUE+jeFC6fE6owUt8pmiaTqOUcBZjlLfP9D/umbhDz
SMDkdSpiQuNYh50gMdVPPxPvj6UQWg03aHh7EGwQAkH1Is0nG9YpFLjGFYvXg15KhSMVD1uRsrZ9
jiOm/WvwJgNmPp1svHWHvMOrsbhJd9UGw5jMfL1DLo65RHSdemGYhqxoxOcocBUUGQSZ1cTg/aGW
IuA8UftfaZBnggZvaUijGUuqzmLC5+vt1DeeLQf2InyNi8yYGUidz6ERb+yratbXymvoAiP9lmyT
fz9otlqvdslBs7Xf3CW+7//Hjon5MJQtUGPxklYV6n/7UDE8VuWvMaRVEDcjPVqt1TQGjTV6tH8g
1QPYnU+Hl+RicNIb5yzKoLNZstVfoeIClTfSFakVrKaPOpzTYF1R7ePS0HXsBexmL7hb7JKLdycQ
ObXzZCvrtE/GGeQfBZjuDpQq6vYJBTC3uKz24BqKdp5oHnBPrnhOvmCiFupl3gzVmVsZ6iNF3bGx
If5StbZ3njic45obHznH//gwSX7h4wJh+R9JNU/2m1sZkv9jB5GcK7jG3+S8qyUCcDwefZiYKJB6
o2NMDkimlpHMFuG7xyeh6Xbybn8HWbsrodULB/FORePdopRyCFM3RIsRvK8V0uhmlqhvsHd71y+l
VyBzb980/dYLvwW4yzi5m7y2usQsvc7EXwK24oku9WoRZ1f265bfOvR/FcDgi4/9k36H1NUmGKNU
Tjwy0JGqX94wgL1bn59qw4BePyW7gJ4nfWLqHwuzpQM4vvxw9S9OR73xmNQnCWVzfv3lB4hHC7Cz
V1jIZqrDWt1UBzgcaxqZF+9ibJSvy/CvrfCrliswNyQ+cAug0t8mt2y6e8umks2yBAbsf/7rP//n
v/5TaV2aiST3Buhn3+b/7ViRSjddWouINoc8kzk/yjrhioMbufOE1HkqSXekzn88L1AEA4wljB+2
PG6YA5sA5CdkVBnWBBrd7zzJzfLIdSmqqtYWeAxQavhrrBy4DgwVlz5Epdoj6genJB3uIhZ7QLOz
Zxls1I00u4ZoPiXY7WBMnMZL1UTa6sqZi2S1B/8pDbq7U/yev5P/xwb2CoiKbL5om4BYJOaxToSO
ahdexGpCbtl0KcS1EWGTQrCsttY8k2Q4GE8I9knumW/qPPJoHEN2NT5q+OR7U6BhKcFGObWiSdCA
50HskEEvIHUcW6K1JWoDbwIC+YMNC7TiYPCjTYXQSN6yRJKj5oEO78giieA30Drdsom4ZpHav//0
d/VnoP5z0eRqyUIl7/ppHH6ZOprNZvP48BD+f7PZLP3/A/V//9Q62n/RPD7ebx62/qnZOto/2P8n
0vwy1W//y2RKk39q/uK6yp37O/n76ae9f97pZKkYswV5z8IV6cKh4ZGJAXB/j+th55/3fv55Zwc+
6N3FrnvSpLvAAePjiz/95BGtgxqjo6/erREvfwqh5z7U6AO1lKHDVG+a1HnyV4zGJccH8E++Gmfz
Ob8jNa9GdFlqx9rWdcGkTaitYZ4pjRoy14E9W50uSBO1sanqk2Jz+dy2zjy0LdSvbHz+mB4oWUn/
+ykMavvN44cob6N2IEtdiD9iIaOS4bemnYUfP7FxEHo6J7U/SO8PslYqCyt9/IRV/7MwjXiJQblq
zRl3NpWYDamdGvgWqDlbZhXeyqe03BV3lPHfH3VtfwVnlLrta89rpHZV+/RFKVYrwICcslBubiE+
xyYuWbjy5RLv7Tb56ScTabvWIR+rXH9uxJwzXazvrBTdxU4cm17+/PMOjeOSdKkHHOpf/+Sv5MdM
pKzU5fVS8JIOvOk9FmRWjbFCVQ2Z1Q4fGrRyL73KJqCTv2qUcKP71S3H2PwZK7bb3U6FRl8YuXD7
MQivmJVo97S2Q+aypaXGzz03lbWeCMg6xqubeJiDDDhpM/TpBPhC3Wang7awlzDNzboUEkD+ZRzy
tLG57VjOpobrWpxWgwlNFV7dbkSFb5nmQe3ECCCkE4YkYIuEBswYqzWeADRXf6SkvB3dAPW79P8Z
5HYQ03Zt0hGkW8g0YXRl5EOIyzZ5HXHCPKh/y/lh5e730CM9CPXSKEAjGvnLznjU19aeGVC/sT5A
6w1AQqPH1K6pj5ypqJwBcsKCLGYB+dfx4MKw3JsM7jiGdYEbB6nrnufsmeS55lfyycYBo3GsGivz
M/cptE9dblDZ1gEx34B69OAo//zzTz+Z4t+oxqt+6v/28an65TGF6sH7xBL1k7+SLOI/qltB/KsU
kX28bV5tLy6TcNPmsnkzzpwC1Zua2PbeXtXJVlqw/uPXmNOQTxirT29yxTgW1ifiM/1ZgPPOYgRh
WnduCugORmNCw1Dcwqp6Tj6w+1ko6PX2tTnAYpzVGauV+fhe2O9Elto1bX5Ez8b6Cs83hU/+CjYF
tU46SULvG3ocVXH5ilP/Vc+FlfbenhJXnsZ4aJRGTw0Vqe3W8LOqMd0ZjwfANGmvC6Cd/O//ZwrU
P4Eg6oX6NBG3kiXeHFGPIJY2afg770SyoqnI88jae3tSCnP41yVbgaeJ7hIqZbZi5PDwYO9ls+Fb
P1v+9n//32TwdtQ/7Uz++/8c9Qdbzl4pRWFNPtUltN/kDq7aegVc5o/LXVLdNAdco1aedqeQfHmY
pbC+StTrj1gpFdNoPnpaqm1tzgwZI8yXB4n5RFiLxZyGNCEzsSLCLn9S/9fvP4zJc9IJVjwinWG/
4e98l9EoEO5biQgoiYSxqO2STKqSTVQHBClFAoKSXpMZlQLUjOS//6+Ei536h652/IkGmVGO7aKF
RbV9Xk2/CvPr6FvXZjNru9TaYBrGS/Ni+w9BTW28ND+0bBnwLrgT80l6eXh40MjvG1B3bDvWZGq9
EP3CRFVPGhrJQHmxm40ixV0mkfReyR0YhGWNauDE3iVjRlVnNevrFqEMPwMLcuX46ed+kSwSRFiv
pLo+4lU7OsaQqL/ZPhQQaO1k9OJw+Op8n/KIWco/5CRO7vNkRwCiMisRSgHbA134O5dSx1Bpd0vV
FQiPaqQe8FmKCSos3+p67+BLpJbSxfqzlC7MwVI+Ixqu/rPTn691gktjWy4GHNR+ghp/bv+U0sXP
NVIPC8R74KhbiYA1tmwc3RV7NiVsAcdSuQ0FEdB5Oxbqddh5yb17v+CxpIrDOhruw1r+Y8TwrVqt
UVh1SK1fceL9b7rgWKy9VNhyzhnpfKHm4cEdl8fqZ2FIYhHymUaziClPnBTafCUCVoC/s9Mhuk1K
LVitshScVtN7CC2GdEuMQBKl0H6J7BIzkYAm1bk4AUu3pHNA9BEcVnvC2iS+Xjjk8pQj7swpTxnV
gTFZJEn/Ytw/6WnWEDyQd5AKqsRGTVN5cLTvBQldiGge3nsyorFcitTTlJSrQKcKuAOxMxfg36DE
rpAcdiKHbwJ4kZQmJpOZutQGQPMEacw7M57MMnXxBEwJK4BZYdDjlSIdshS52XoJZmMMDT5zoH69
GExga+QZ+juQDRzglvbJRI2LBhwlkD6bB8SCS3lXE+niFuaSpCwCCIHTtzCpOqFfzyeMBzAQLFnC
U3vscNO0IYyUAZaGcJopIx1I2QUkJbMwVLnP15aCIdeCZNKcuMJYreQ1uzX5JOi1kjupICzkKx7R
VC3D4pmWN2nL6Za/ZM85XMrrh5le4hvPs59/fuDAceuq3vTukLhbWwn71aPtHlE40jWQax+zz1f0
mul4r7naflmEyj3MUUKB8weyYlcM8De7fS9gKZvBJPo7OxPDFpUw8K1yhHyEJehE+xl0OHAXSc/6
jyB2w+GRXfCULyKAbIaUIKF2463SXQD3EXL8Sbdv08o1ByTEsfBIxmyW+qSD5kwEZtqhUrLEZSMF
F9cCGbxoaojvdm3aOdcHCU3JD0sWriwX6w/gOMPfshjsKj8QDNNdUB5JhIWhszSjoe4p0I2G9N7f
MSYWEF/OcRNM6AIxDyO1MsGWgmF53iKkUkO00VJ48XUkpv7OmCEcJmI9qcMIdAY1a5DYseXiu6Eh
D2jK+uaQhnNFFtajqrgkoK813Hmd/UycY6wwPLCtt23bNt5t27Zt27Zt27Zt27Zt3e/ck9zcZDUz
P5u0zawn07a9dJe3WxS7+LT2RVPiwYvKzlSVvPoCVn0q6cyyUozVqVTU0hbMNmY5snqKRXxYCVw3
ZrlZq0XUMpF2lFufOZPd7SumMlUMsKsJi6N19KJBM0fOTvwnU0xAL3EzcpTl8blU4FLOrjo7541D
hqn9UUQyd/d8Jnfv02lySFu83usJfvEw7cAjPS/b712B2QZF7COGK99Ua6AyFTtuSat4bP7Me7Cb
PUkK7f0Yt29pet/mHuhPIFMJCoD9OLFSCcNvM4StsuwXdpYt/3u1apXjehxso36WoHOk7gCmfEGF
1kWmOF1w3R8dC1ske+x7Cy+uFVzTg2BJfrrWzUABoCKyU/igOpwEHqFEEJc3VrzmF7lIjqol3xHW
fDq8HsixOjMwAoVTQL414o6PZAZtkhojj9VGdonvxfFj7HVWji9B+TuiVtA823aL18P8mSisH1sM
TpGvpRcMZXeFcGg/IdDZDDG/ugMYzB6+3jsMvwsp7hqHA5XyTOAyjL119Misv2az+TVtVtAlY8u0
kAEgHxXr1Ak3Y83hN0tdaxpynvRCXQSP9tPd4nCuh4sVeNoL+ehS9F1GvdERgIh7uuB2Z+Tz1TX3
4MnKdY9MJC+W8RNll2QYJLVVgo+KZ3CrXudTBbXOJn1Lbdn01DJnOJdJ+KZhYO6zd73l46RreCbb
+np/p284ew/ooAWsa6BfReX3K1ZXxf/ffyU99FLh5JKqdX0y5V/swJTqlF2zqMeIjbbOCRNblrrk
kLJCj92vhGX6rBox72/Rg/9weRKkILMls1aMnG8/ka9/MV8CUa8M1XhEO0JFRDWp4vU6icqQNJZ/
j3Eq5xBcijoZLSP4ionIoTSyPPZQDieNKwA18py/djYIo+jM7iz/hLd/YQztMDcZjP2gacWVaNMx
4PsR/p45ARUcokbouk6Riqwwf4vhtMksjlzult9d0ucLlH+fwK3y0VCgztc7P2V3QLh6fZA0DATK
9+CWX4TkWa9ZpTJtPOf34e5pC/76mej8wz+xXGVwT3+aWQoWeovD2aRPXgMwUHHh9twwmAPjM6IB
bSaMEdx7dzCwavHEgwmt9r8V2plAZLokmEDDkyyyypJosMvxtFGb8krlyMEaAqfZQf5ETJl/ofe0
R1Gk80jfzNI7IKwtCuu7UeIkIIjvd/YRR5f8MSwjyAAoPiuA8uHECYbj5P6/ZTAFYyKplSntvEgM
OYnpGYPsz15cbMIknLC4pXLgY0KxMKDXeShDxw7HsF/F8wirp6WZTPk0ZoCLHZmYyjZgK7px3fBD
AGOM19Pw17qtE31jRPfRYIe0Fdq/4NEQtYrzJgCufIAMqogDrgzW3cMc2A6YpED1zkukGgtdDqk0
6l0tbYVuaYg9BTiuAl0fmwYgR4tIsZIvnojsKsGADSzA0Ts9mkKjRtG+zxTzfOWTIqmZoSGE/O61
5iAXklu3Ky3AM1BX7XkDjmV/GVOhGAI1ujvuAeUtZwPq2k1aQYimu7/3/Stls3FT4ovJUxxhBcDE
Q9utl2d50OR7/7k5eYInKfLOvpK3TdCSkhhY7AFeZqSBT6WarOOWK+mrwchNRra7zcFGE/aYgPUE
Q1d/rUKnkiX2UQx4r6ZzIukKit/x5Bo+Vb7WGop932bKzgldMaEDHEE7QHOZPFYJsG0ie7Xj18BA
hSAwNu3I496eJiHxKfKcpjsuP6ykQ991UvSeuB5EjYdyI98nwohpQC35LMIeVEkqgHFpmWZpZNP5
SEbamWGpa6BO+wYiAL+chXgP7s4CyDKFTbLQxo1VkFPe3MxxOHHA6gqb4aXN2lM8x6zL3nCRlWlM
nSdou1atWm6bO3Shq+pg96WalqW8+eR/MzuAWr/gSdzAbP3wWIF+ZKoOEFkSsB+9cvumpgALlbZG
WzN8vQpy5OEjrrBgahTjwCFA/CAFGRXhyznBN5OFwRfKeNkcKwjDjqDY1ReTzN1j5jjMmeNEchaz
ddW17s11/dUgJFEyzZynB+f1HLhluVAupADr8X1NSSLplX58KAJ3oUGY09fqyuFclggSuDZTXmw1
Oo6bC83StH/5L5na+OcMnnRutpq/AwJDmfX6kEfu6RMkGB57q/1xly2/3zytgG8hPOgXsmwFjh5k
IPavAJUkm/Ol0Qwr6gBtIKuo/KcrI/FsduL9xYr8z/RdmdLOZpnhV96f47QMbwUGCi2J4RyTyPUQ
+1ginxC5naxbkhascKWq/iPyzGNYyoTyV09FpqmLnahrdI2bND1KnHuuQ7T/+l++98f0SSQleOjp
+jw0QdNmAznybq7eOX8XhME2UeudZoryH8W3NBqSwf6FwBBiR4An2LobclI4ZAk+O09n80nd3WfN
cwyw5e6mKBkO0hRUa/twKONjtnSRKPMflDzNYtJX3yZkgTna7FBXHApuOuLa9ERX1hZGRp0jryj7
ZFtFPUkPT/tvXWLI/KsYsR49824FLu9IdxYn7TAxOBd6rYcGLRvxcTqumjobnqgI407CxQhZRLd/
Mp9Bty9sISojQ/SRt3C3SzZAaP8BdzVv2DtKHlGBsqvAZCnxYPpadvzDRjmcU41u+KUvxdki46w6
Ecj5sDoj/f592/quOfubZ0/1qq2A1NbuK469+eCrOT1YiFL8nYtajdp78vNN6lMsjj+Kb5TNXzSB
vxrSffmI0HEYSsvf5T2I3LPvS4PyPnfcc2466zeUTa7ZcqG+4meO9tnnMdQGqochmuK5RaIn3r2o
KeVzFIWNoS7Z1nth02rcaJlW9TqXoI3G79wZV9ojsf6wqzAWyqSTkDmC2VejxhpSrWXRN57/IW1K
qWrYjHSWXitbNR4ca11DVrXYtXLK6uLzzYC+bILdto2y/EjRUOPcyEQX5hkqFPdJMLw/aC1ZIagR
NZIRnG+K77LC4RM7yWXyy8MGOGOtoYKY9YELsD/pR3oLCQuUytbvUJzqU06fKmsunYdC20n+EWXf
LZrdavuZ+HBTSyvyTZE71zH0B9vh23Y4+/fbfytm3fsr6CtsCEPqK/+A5V6HxD+g/XNuAllnTUrg
r+vjttF1rcLSKGPJd7j+Tsf05skxpHCnY7fo01cQDztWArhOwvfXXbC+VPUW9GAsVCFivhppFxa0
UGoXBwf/yubrtpjhvOs6mhUK0ln/cDTlYPf8DjkWdFewUSu74BTo9nNY+c+vHmKawSODxvrnUN5l
9OgOvCjJrumEMeVRlUTA5GruC/0nQKTm19ILdqJU+vMvNdVWM6XPgJqFbL8UTTfWS+3oYUPN1pgs
gxzQ3UyJi2vH1o6793P+a4mtxbrhA8LkVKfpi5YH462zaPcY+waw95cf/h7Mw2vjZ37LebU2J82f
XM26U0DKr6HN77myZkF3wglYNa69Nfy+zrjYf+ejYlmY9iSUdukfHcuIpCgEgde89S2XXTViyn4e
0p80hnyJsCmBnqNBdYsejspWDavni4Is2cvsh5sQNI+Meabh/rlTUCfP7y0NOJ01CtRwsCMe7Tg8
v9Y+qTG97LB1XQubFuhl5O8ACBCAtUT+gljoD/Li4LoBGoqk8CgH/wsoHMEOK3C5Fbt+9Ncqq1bp
fX8OiBAst/RwMqqY0swkpdQUNWvpRWNMcNkJOYOKVdIEca4jVm59/K4W2lKQ6UFOOqk2yOuF74NF
pDb+64PCwUX2I4PUunEGQweKwTwZeEiJIPCvBs+/7aK8rZHVVbpWXwt0njnq8itVJTaKCj8+S0/I
AMcy+31lHCSHD2n7gbedN+ldogznMCvNb0/434SZQuxrv9GFZykZv/s3gF+5q/cRg4lft21O7s+d
3zet75RrP9Ndv44bubRnkdmk7mp6ywetp1Je4xsp5MzGkZ6oOC4kBNqA5PV7r8PfRPDsc3VS3Pym
Wx1r3s3s9LjRu9RhSanCLu3eTkTGt2e/3p/6bnm+NddzuOhUed+b7o25GaGvF5mQvHhENZTnVaBp
/KoaZRwegKnO0r4UUJSnNtPibXtPMSJ9YNxVZapvyIvFdG/vD2kkRDC8QpiO4NdQX0lmP6K0shgB
mTTt1Mku/uHXvnN/f9IixkNjING5cic4qLFoUePJcX37Wx0higoyQnrUU6bwRMqsqOCEJbrFO+zc
ypeCPozs59r4Pn3tmi5VmB4u8ZQqG9rk+sbN3ZExGVOZLJ72gdH2hcoOiwJr81KVY3D0sqA6y7LV
byorU0tgfE+YS6d9geW60fC1flkCBz0LWXKC6Vp1vFp1OAw1CBc1PmToCOXB/JwmEkTIjAj/CR4Z
6baB4fsug0+3oWfRIecLZ5d99zV/vbU4jai0K8NlTe1tonBb1EObE3bXWc+iiZW3nrY78CB4taSB
sN2RIPLxVVO/3YG3twPkr/kvpTfr+Q97F45PTzJ7YK4jE4kW0O1WR/eP1+q9H1YsaOmuprAt7kuX
2dk+X6eVgr7N3cVbjT43xo5LP62zuJsBmmMaSR7dG0zqN6Ae2D1nufuhSyFr9u/KquzRh9GUms1X
TKkTNXODl8h+r5P6Dcs0wrtLu112gAz/nXACj/TU/ABGqZAThAyl1mI2beP46zSRdESE4/x0bDqS
lfCqgXK/zbrUbr+mg0V//xXHh7vYE/pr9d8dg68X3FY/+tmfGbqTvfqMcT+NjckkhTNn+4fbazls
loG94hyOyDTOSnzzCzUewsdUW27S7FTfKMu8pSAbQAkPemnPXTXcG33NEkO8lk1jMmGke4iDFJw4
P9zH9bdisNH1qKYK8iaLIXJiMhH3oclWbuBGWPcUwVJh8lAgEuyJwuSwd6B9ZyeJY1o5wkMB4RUg
Qd7QnQF958eaa0a3Ybymg/qHvfFW6n+/iF4I2H8y1QeCS2z05vUHXu2XizD+bpdtyonsiP0PU4XY
9YS3l8XaRxDQWCunZb/1bqt95zouXDtvPVVPs306MZ47u2rJoDZUmM8LWgtc+gJ7BGiqzX7b2C9e
R1VPdWwVqDrxNAfSnlUXRp6MGdk6Pfjasb25u/KXApmhu4rGEi1ICpY/Em/fW1cCDFo881FTBxv5
To4rHDy4L7JcSb/7h5VuCx5eq1+ek7ZoYYFgeDo0SK39QQJi+NZXAn/H1W4ruNl5bwM4TO3sH55N
+V79QfEezA2aDgx+4RTuzzjRfXcvoWpnej3QtyTjWqOGdio74GNA67jazl9mPQtqeuKxHPZkhZjw
Go0upCovBX6MFzG8rrO9p9rKL8AI63bm75RPBbURs8aLXPiyvTWz5VWBpZezsvh7WW05DneXNmVf
Bve3O2p7Dyo9mYoT3ZQ5OlEf3le/aoVif0Z3lz51TqwefRMom6LKX6+7uQWAY+qXrUebC3Le3kzD
6oGFe/awkLv9IZ2EurfgZIsdK6vaUfXPhgXDVUpYWn43tDKqxXwf/CSpYqdElKgkh8mgeHE0hL3e
MWhihtIp7yaTiEYwFpvnykDfVivzMV5lake/EnVbmDzctgAycSrtQacwAtoshiouMp9nPQMnxkMV
8vZtHCNX+ztPcjH0FDMa/WaGLlOlxP5Xm7x2Y/SvAWlHcAcT/9iicpmYYYPJmkj3C0IQhGXdlakq
lUsi4sAZWP27oO8a5Akz5OheskUF6TFBWnfzEV67gp7uvOzqRHueBorbblbNkzQzjbGZViZPosHT
imzvDj425lmmVp/4o0U6NuXUMUsy8bVxsyqVzzo50ejFinZF2hZ9O2p2UXuuIiEcHEzfhFKjDSB4
W1DjrdxffMr+OHz+GI0wv3If5Xaw4VwfgLuMlo6AakRUYsGvCXoExmkM/N1EhC4AOAYjPUprI0nr
DR3IEg6JdZgmIKL+510w1FWeCNsVelKZjU4KumJswlN5rnLsYR1zKPMmS5tFwzE2oim1K1x48Aqj
I2OOhJ2oVI5OBX1ous7AYgYhxW6VL5fBPwzhgx6h1t6SNrnx3FmBxXEl6Vnz8FSmpONFsq+Z0tla
SPXo5HmssTAU2xZy92cZ5NnTgx5AMmhx3GP/8BlFpEjQPEQHbIlC326DCR8j9PEgwLhINEknduRU
5URKI8T55QR5Yeigh9ITkJYbOc+yolmJu2EIfn7xfbRyTwzFDE/IpEtHKQxH9mmRwHjVcNbI7T16
uM1gTRRFABQqtjiw42EMO+2pwlnxSGTGFf2ymqKSAjEwHcFE/6b8B5HESHu6ybledU0FyjNTr8N4
Hfl0CBD278RiyJy5le6jSkdy1bJIC6xYw1G0WA+L7DdRhA3H353djnC0QVxXuoC1YYYEdOBjGgXO
gwRplQRDuJyDhUAai3CcHnYu49bpwqtBxJcPTIVb9+9Aic1cjBf506WzE8DThJUtp/8wSggZXros
ZRb133VOkgUaKGFSqO7GpN1O7OZAFAdpD6/HBX6ly4MvE2bsAMXldcfMWa1KeKTQ83zNkavRzaQD
3P7cuOBXK5IoL/3b9QDE3dycOLPO5+CEOfZjH8z5O7oEwFbu3wo3r7vCqF9gnu/c3yfsr2Rnac6b
Xi6AaeQnEfYm5XVUqf/G72/OiT/HUQMPZDWTQCVDph6P0OTB0Mc3SkVLxPc2TsXgurnFCXNSsXVW
ZWPx9dDkP8qv56szCZ5Oyj7JwuSaH3RTyRPAXJ9/pHas+LcL6Wpb2b014Y96OMU6GOZhI2iDFdQV
Z/j1iDx0m5020M+2G82L2joNP4z+qEBynqQKXfeis+C6H+uNKmoYcoTVaJCQjcayZunFrFOKgM5I
ivFJum/VzJd62YbctPLv4oVothP6P8HSqdO5pCT6HH/BdFnLNlJ/kTGW6iWyjY4WxMUzCcc3+o94
1HZFr+oYCRapSFiEJxSUzu48aZOst2j+zuhAmLiMzWakQKEnYoPqCS7sDZ5l7ryVi4Zkh/EJytec
zpCfQ/Fia52pIEexyoShTWnc5C2bYFoOZt+/N/lPLUOh5jhero2sYtA+12+9dzG9vkoOy2tbGhb4
X56sGXL9Ah8lpRF685NFY5skeHZO9sIpMqJhc/J5fSwOX+jU89i2v3Nr+TZlvwkP2rwvdkG/dRVk
ftDfaUVFpwpN1X93bH5jfr8yv5KffRluYj9qduq9mUOtUj3WGzyUjfYRIPLf5D+75jDPFKc8T2be
5vyR5u6Xwsf3cSuU9ST/HuN4ZJRKeuaE+Wd5YWFDJHQlAxaokACBXfe87M/E0ZRKOrpQgMXlrFj8
GNVyxi2cw/C7WmEl8aBO4NKMn3/82bNjxQ0zJZm+Iba1daeLwgGFim+Us+SX1IXoA9F2cI+GnTRF
2mmYMz6KhUYzTR2mFWklK1rBAxnglKn+nvL+WooyFepF/JUokVYf+S8BkyyI/A+hCA71FfUS++qF
3QPaYxR7DbkksaXOaWwwXjNgJJOMJ9ClyJTgjdyF7GaRMyxDHzzE6+5mQIYFo1K4+hNLRgY8Uk0j
mtzjpaWcGORE7OsCKNpJ2iDllNASBkTawoQn0+NMSR2E1IKL9TO/ScXfuV/cesM4Fqg5KNPP9giK
0OrTSL1Fkry6QsveKJ9oehBB2K/NQaCKDcUScVqg7NQHz7Qntt5I9p84/N9T0lNFUkcx6zG4pqn7
H1U2LduZzAPK+eav1drf5Dk8PNbJ+FAgPfwIdmZHRvQFMRr1kCRLBYOjRV9ZVrQxyb0fpMGJf/Lz
vvlP8+XLfZB3knY/7B/JUZQTviHALsHz/6ltBmM56/hr0pB71kTbw20J98UGVaCQS5AVTeWCYv9L
8p0xpE1BU73cRWNiy4NZ3kVDOM00h+Ma0i73wfKktegezh6cu+dYGXCyu9izpVxbzkKBg84PnvY/
cBGTIgbsODEoP5pCRmOi0jBKo/FAqA+X3kgUC9hco4QXgjfnKgKtn6iQs6n2P8FI4VbOwvaut7TX
l3yLM/De36sBzvtGuB+Bl4xXC1vIJkBcjr7RVORnubpAEjbYdk3I/Iyfaz+ITNJwLFKWyVNvTCi7
DVap5m+5fQ9cpjptAZuarh4ua9+AKWFZj2p+N3GPcYy0HOtP+8PYm6aDor8MQqWoWeGtMWCTrriC
Ef9oHSU/nQm0melOViyi0KhS7fmObbXkWI3NlCAqr8kan9SzI4PcmyWzrRLXaFz8QCiDzGkoqDJQ
Vm7/r8Z9qs2U1hQ5GkJXDXZ3hDe9KGgPa/DiaxpVZCL8jHdTm0HKmE29sL0AP+lWJ+NkVIb0/tY+
zdf+C4N+p03peGHpPAAs+5WufkVzOB0LTcENGsdS2Xu7XQxeDe+KZ7kjQ09Ylls7I/AbwXRoIbcm
1TBW0CN/teGqAp8pxS1JJrNACzL8qj1erk0w+tKVRi7JhiMi4K1KyDSBHFIVYWal1A9RpV29ZMvh
xeGqEj3bvDd/0B/I0nWRrF0ieN9GSzgyHWKdyl+FQ6ZD0i+r5Qi2SKw9RBCNr0w9LMreLpcGzt7r
wQjCotUYVLqYBJ8jwZmSLuXLt0FYvPCAMg4kQeLiK3Z+CEI6Xw47ZH2UwI9SQBdEq4Bil6y+NELY
UX3O7DB7m4VvJeRNDm0DFcZYIEgThy71Air/ilgGeSXASkimgyICz0sqs1rs5h3bA/DRR0n/23XM
9Wr1SSH3Onj4xLTLq817lYVIc1pfyyNbyXYOWdLtUSlerGP/w7ZC71+KZO7LbSRRnNpXWAOuWBHH
taleDxY1mkp5eGZrJ831HYgqsAccCpHXazAeAGOjATymLRGpb6c+/KqsKgSs0RjWkMieCRvvELYv
dKJeL41ovvu3aouuEvwbRwt6zoaVkhZLNfhhIMU4q5XyFtEbl0vW+1XVNY/nomLTVVUPku4wi2Ts
pOW28q5dnsjzIltjoBd221535ZO+pu7ww7PjfOTz4KWg0nID+0azPpf28MqFgjaeygblVdRw0RvC
ovgOKzg6ZjFY9B2/4Y3O5zNt8lalsy7HdxD7i6r12S9SW0n3p8kyabXWzSu6jT+1V4OIU+kXqBDA
fdJ1TIlgfxU138HV0TDKpaeKdRp2aizOJyivx1bsrSLj+fnv5QX3o2K6TI5tKZdXBpq7oPSnotUP
46vjUl9Ly8JVEq6gxvW3LOv6O7zVkQ7I1OaLWBR4XxUjfz2XbZSDzycjMphumV8C1+Xo1/EgdnW1
DqqHwsMA6dVo1BgvPL+vlib9L0SlQ5eX8BASOuZXgKwVgR70xUc2OPlo3i/zExUIvEKMaObLaEhc
Gm9zqrV1Sx3bkgaIiGg/K4ccpqbHHFqgwz2zxtDmY5l0YymCxtw6hhmxK6Sx1JpMVdrSFFwRnBD1
aSsXOEI0SJ2LYIm00ktImN9d9oRl08uE6lDH6p7JDsDrn+evx/GMUK966fGcoaQtuwuUNkWGTW6I
8TZfzrPombFEEYFxRF7XL2UC43wDenDYmqU78Q4aC15nf+EANDBqtM6GTZGn54w6TQSj4QqxQDSt
e9o3x5LtMbn+TSGCT+2MDWxetIalTA1qk9V1TeC0CJOR8bApJLOCo9y8ObyFn660mSVOzAUeMJBv
yDunj365akZNUEo7LbV1vhgzC59jle1W9R5A4dfSHsSCjxBPCmBUHlP71pwg2+YChyGAGPxr8E64
+FetKl1cu7YldevGwKt4g8lKGVEUkDPUM/3ui2hPlG0ufjmy67UC022e73leTkZ7Ws1m1sWfK6qd
F8apJ8LZEq1ANkO9JLOGFKsM0/ruLG7MWMJTi6s6Ts/i7CBlCpwcexqJafrTVRLch693axzaT+dD
Gi7r/OXtqAKNOpVEy+ozmPTypXyfu1vhUFs6GLGfH37T8Jd46A4vJIawLHtIpZE8pQSRqmWo+PMm
MTcpC3ub5TkvokprIWbMvxClAuncwYHe021KquBKUxxEF5BAeqkUyBerKR60M9+UO0jychAXJzFS
NSRxDSvrZD8Vr6WYGJ+LbJkOpDOwMUFnBQk7F6G3aYxWiRrwjb5bIda8Jo1NshZoxlxajfgQWcW6
q6NNPtskKhvFJh1EvIIoKHhEoo7OpbesrzHdp5I1b5XopwxTyg4VQ4B2e1sPIFD+Taa012JQPig5
pzkVkkXSODRe4fscOPqokEHFnAWQRF5cEy59wLyFZFC764n5WS/oFH/kZvXNxBDquVXrb8bzgkSS
KBLfutd9K+fsJ+xS0Px73Qv6EjorIcJqCi5fYwngadpiBxxHNISEktx0LyUsUN+LVG8lmClFERHj
CQV9/rcUV9+BUoC3NNccDY9C3qyv0aoVimqzbFv7zCrgGmNrgpI36X3lF8maaPMtV3puQsk3MaGL
7MllEvXKWJx/WYuXlfqHMoheVIaEDGUSfj5sFBwnnFmNJIYViqEjuUY979k7C11GTTS03pmpMQSn
rOuWFA6ePSUtCeI8CJ59Ka21MuVFvMkvwWXYuBdXbWihR1hxfbZk1HsUrPX89LgshnMkEhWJ1kAG
Olpy4yP6QIJNnOzD3rWzUHQHqKR1VzfVPaDcxh7GUDhPEHH1VlJLLZkrbYWIecwZaPHuM5dFTqSx
xW8fG9WaGxpfqC56Lqc5xpBxaJ8khwuFfeHBP5jkCpSdITp3u6jIqdXGHN2LQhztYQ7gI1ODPtCp
uZrAWeTUbEaqQKyd0I+CxT/lj7jdqJvHe/i1U+v8MiRfftfWGl4h+K0lMeed2aM+lqvjmk071Ygu
6p0eRHJLLc7RZXGSsAu69d/guGslyjprzGDQKpQL/4Rb1MVswUdnQCPGScD4QpS0eyioas55stsg
4e9VB0cpZ9oBt2xmkx+7iytAKQ0MtDHEYAUsXMUECXch4W4V0wQ0kS8faNMslygP5FyGeXakjeaR
2Uxi62KmMGWA0PZX4mAHsOFa1NBny/j6EC4QSOXb6fnH80cxy4q1IUCYUXKxfPZdKQVdAp6IBmUO
Qr8FP7hQpYZ17G/T5JZY5pbIi5+UQ9TryJ+rae/ohXyaJeQoWx8Ojf6K9zo+1/Hf9nJfamU98b+2
6g2dC9i0Hy3GZfkd3rUT82ft3V0WOPakXwINfshES+83k7QTEil1RuwrEDIa080Ls8+CySjzljLg
zBSp8Y6K3iPFomy8JbKwVHLKGM5oYFhJKPqZh+/kL1nMsdBZHyuU3zb2ny+r3xraKL8q/R5s6wEf
wE1vCiSEWOyWjC+E835Us8JJ9CEvdHOdmy0pUk5r/41YgNnDNtHk35ClvxOQqRAfkJ0so2cOqvGb
SmdyqKGBB1JXC1TNjIqWwXUFG0CXvpU8TgN2GWsMmkyamSsP3/Yt1CRWhJNqMEIFsoUEnDnxVlkS
qG8QZS0k7UK5rEr0HhLKJEc2GWSUp171OLJg5Cg3wbVI2Kzf6PX04Oi9yFWS3zq7e7jscuFH/zq/
2C5fyH4GzVSzeKIl+FzrCCK+GU6tenWGNzkhBnyZCulj9w6ksEaPCccsW8YGmQP/qg5bH/xHQu01
p1LddCu9X03pgR+L8jpFfFSELxlYnk5+EebAKUDRi/uFfJjWIYrDCos3n93EkFJ9nHd/WnfHluyX
Ll9HY9KQfUYDDAbM9V98EOgrXmsd3FnaOfCynmbYyIBVt6A88mdE+gZ87uW5E/qLHNhvsnW9dy9y
e3KjakOzxz+hLp1iR+5yYfnJZE/RZNCnDxSzivU+U5ig68kiokn+3OQKzhc6/OcujjOJPDE7Idwu
jUQvckxAp/xIzJ6wJO4IJDuWt/i7A3/d1omUGBhzYmSeHgzsb8JI9BdYWFlwZqTICYv202jUaCWS
RL5kEwOWJzNIiEKDyHgoCDrJY9uiTY6neRY8w1VNEMbYLfTRUoHbVBu8CNBETRUB2rWbhC8tE9Ar
7K8rDKysM+saZs6bXZd6MPTk/hbPDvd2PU20bg+nVN+oPV8Ut+rvBMGaHbO/Iyv31U4NJ0wbulZ8
WKH/PBGYZ2pcC395OrDguXZ+Ry7MVKIr5I4wNI7arn1sZLls8ZoVwEofM4X/nbBFi/90JKIta895
DK+iqabElkAldPhdicJyZyxglLhNJFPl0W1AxUvyZ7plXaWZaK8hNZfMrVsunYlFP4mYLf6te9ln
/8z1G3sbG83dVHp7O+E3IPK2jHyGWrJs+QORIZnKsZbCQXrUnFIjbhhCRoFEzyGY9KFcGkdh0AJ7
nsrn99PJD6VZwqLbS/4MGl+KRNOnKiWQkphICJpZB8UfwI2Ws+XCiPIIH+DCzXJqiYC2b7msfdpO
WQ43W29Z+5yeWNBnP3zoM3jYbXb3pFRs6iXSjlITLp5AbFkP9lQeo1FnctsPamtr6z6TqaGnnakN
LeR/vRuRRjaGl6BvWKaHZ2CrtWg43gogzdEkVahvQC+wTwECxYhJH43XuCcCnBFA5BmIw0H0GK2e
mkQmA0HH6yuGNRdXNfVUIUZQypFU5M0nS6a2atLX7upp5zSGk3qDiclXhWT2WidHZgv8cskNaOUY
M4tzLMqmbgkLQ/vnkPbD/7c6okKAJ5CfYMLKvbQtSqaNxsEi0C6al9TIqIFRv96LYk04XmQS4kqp
8/Flb6ZKySVB8NwwLHZgmRCEeIRSRNKTh+lfCQxxOyOCTBE1YCRaTFjPbBXO7QiznEm75U6red8X
lVwYMZ47YQS7bDqcpeg6CSTTEAe2twutN0qUWPnie7AXVLpJsM3kr+8IYMCk5MSqR1DMV7Qo0LmJ
HQiUnNmk72YZZXUtihVVNNIddIRwFiQSOR/Qed1qYSt/cdr1Gy5BIECOF8aVtzXpkspbhojmrIeN
neigqaPpyxu4chJX+6DBggzpYKmv+jnvausn1BJn11B2Q9Q7szVJ5XRBTQMWfo4vr3JJNqaRtELV
xcnMLKp2d0szrVGOI+XFLnOcZ0Nyev9sb0bxntpZjDIDbJ8WVjTO5HoWVtzX+bb0Sd3LP+N3m4xx
qjA9vyt3ooeri9KaYftqUYaacWA1q2w0V8TCbJQHlP5zm/ucskCCLwuQi0v69nQRmx+r7h5MWDBh
PcgqLhqeekzh+IJDxdOmzKNAHVlbjCeJY4yaoM7YEf8KcdFNTgprQb0T3h94OiQbz6FcZ1D/3U1e
IsDi95gVjAfe59JoHCIApUyCaAFjxK3UMHSBkSyTlOs+my6G5SwU73F0YWlru4jlPICRyoLfphA7
8J2R7WEUN9SczgTUal3LjM2gm5NhvIrimQ+rjjzSho2lyBrLposlpZAc/VqcWTvLmmtSISZZOLz0
K0gkeQXHKhDx23Hf6mVn0hV094LbGoU7JNTvS5Ly2t2wRTyzxUEUKDkM/XuvqUS6662xHEKGKRjS
/TgGcSPcH3tK5iYfkyGqGZvxeMkgaYqvoRzwzPAUR4APoyerP23wCA6txIhXTKKRZbykM0Dy7ky2
A0jRw2+pkbJzwnlp/UKYi245P5UJJa3/wMJRN+QlbvidJUfnXwJ0KiTJkd9uJHnrUh7X4F6pv3nG
MoRcQQyclWDDzJRimjn+IWuci3o46disLPrVX86zDsWru7w0y+lmtz5Zv60pSh2U+o9+sUJjj/Oh
AyDGKOWelO1yKnsGaMrqRhXstjnw/6u6ZHdiPbOvzIY8KD/Mnr10/BU8TNLqFObz9y3r3awwZoFg
EHllunbq4o6k8eKCAtMSizSs2PCK7wksejUQY1M2ksqNCtIvAUeA7vd4HSqbOlDxgPdRSBhFGz1y
iTScE6pVXtGTkyfHjRHVzo7nQBG09bXELuqQgQEwfK7YoxAKVM4T5zM8r+NH1Pf0K2r/YoQSQr0l
T4kkEyZs0+qdT9mW7aVDxN0EDnXp5WDHaQ7axQ0z6arUxt9yEhZ7Pfsvgcu+yMOtZ4szOXz4xamU
2Tq72zk7uPn2GlHbVsxNpxISGfTf0B8H7YgmrZI2Fx6ifizZBtpmqP6Cn6VLecCwy6OmPZP41tux
yseOFvI2aEBD/YKP4dqFGdzzwSim9PF1JYk0qKKI38lyRm56ePbetiyXm8k9Mhk8aSfuefMvvxXX
chKfipMImwy02QiTWiRmnL8CMj6qPW7y3GRXTj5/9J8PKt/sdt5yopZkbuV7C6FL8CgV9L0seuJ6
oibeG04Kupo7hw/K32rZLmwR2deecjayDQYPXmsqPWGEMbEz34idl9cOP1LE0f5tzk/uSVT3/Yt4
aZOVjq7BeRlNM0t6aFvQTC45Gar5jQQ5kKs6Gv+NhRjEvx3YYxF4H/rHiGVTpV46hZTE5UjdB3/s
2HJy5b9znbI335qZ9mVj2DghIkzyB/0krSvWf8ISSJhzLxwUJiAeHuEC5EBQjN1c5l+6FW6nnLaq
y7iHRqhUySunVpuj+FbqstwKkOeFJpyUDvHwPz32uN1FYUoI93wpmKaV9oyuECKFb3H1TNIEkEkc
l6rTgcUlYe2mYmG1QpDP0Di0cEGLzAzRikJx6SZwIiTvKaCqx15WC4/0IlOaJiKpiHR0qOkuf1NK
kvLSpn/Ax7A08hZ+KWm1XGZbhuPQqjz1msMUUtQzZfrR881CkgDBDILnNAi1ItyaKGGqUMtHfXfa
7AGcaBNu7w1XFFaSJgJsYzswReRRxFam2dJN+gOKee0bd8KmTGB6NR43HU0M0/2APXIG0ttMvKD+
Lf/uSML0dOCxv5U18ZZb205f+aTDXjYA2vMWmywBtn9qINpJZwub9W08h89RBiz40PndoCvmiLs8
vim3pU50eYc/neTPjUmB6EfPk7vCdoHGDIPyPjkLwfHr9oaa2LfeZ2hmV/ncldOpKEmJrCsHQZpT
FuvFa1oQM32KZnWnhxnddjelaHQbUaXMzzs6nnp/PKL7BH/boGkWLVnlPsraKrPr/+adM974bAav
1bDLrqVipiCsHMVOT8piprDElkUJK7BMCxwnRlTMUUcY8yry6FgNVFEyr44VrwYWBBWzvp/7P7oE
DJtAr1HQBfqbVLKyh7TR8SgFZIwQurlnYNlilcuK2eCl6pF0dZhEJREESnCGoJhqEpNbe2paNktd
L7egrV5UCoye5nXoxrJeF0w37qeaKXRGUmA5adjOmfsn+7gVQyf6Pm7uGfHA7W91Ex+InQihEM5C
gPDAOP5OwglX/r432Vf6/n44/bDv90SYtJj4HRH7cEB+AX/b0Olfp97v6F/1/vmN+f3R/kq+34V4
/J3g2Ns66AWnFyrvo58EUj//LJiLxQGFUbJ8YfN7PPgRJ6fBvigXdlfL1EKvFjpP3aaCbGtNKsnB
VouXW9ksW7QvSe/Kjeh0neDjcMmZGbYUWmL+fTF3eLdK5Xowv/SZQ0SYDn9BM5okon+Bg9cBOvq1
ohSXUjUHPH/i7r1Z1UXAYEZN9HqyGc5tfx/Ona1upXp1s9qG5Pox2egY4CsrrKHqlhfXUXc/vFBe
81ZwiMiYIsdtf+wfOt+r8KxQI9IKM+g4Kf/5tC/JUP+53L9aMl068z2LwrtL/tGUqiHIqM8m/ozd
M6+x7givbnw/za2cyHqeDQ2UO7XO9PVV2DvZ96Az+bQH0t7+hVFhFIY+8YOi5zztuq9vJJ90NaBR
c3BrjxQz794m7a0jU9X1Tam3dsQenGw1/b7/qLjZP9Tyce7hybR79DZZjJ8gubcmpcAxebfr7em8
ivp9TlP5Tas7/snLwJPa2lFxo0QxuwJ3lmvZgxb6P1R3r2/xeZoo6z1uky335kmHjuYp6ingfUAL
dPNdov+ErCMMvmEEB6bNpM2E2UygWtuSVjhwxXgXpNnAdAkFRC2Ti87WD0e7AlgTnP87GCg8v2nw
rQkNJQZmylTWcdAVfD0Unn7V9GpSQXgM/9Hfp+gfQD4HmDf4GxYkMywAs4PG9d6PCqRRNsTmgO64
xGEoH1cebjhqeuqDfJscUO0b+k175vLmOZskj6fwlSXnmduivJG0WSaem+lztuRJCIRBbjC8SDRB
qk5kTALdSL6+yLn2q+yxr8LTGJx3uwvUUwjJxhzSy9LWX1w/mvabFXiSuvYO0f0G4toB+4qTkLx3
fv+lZwK0aflrzqwpKipq/Dl7f393+5qze1Br/Ev3+MMr22kA+AHSvl40fESjAfpmgffR6nMWSosU
mxKYPGSlVGte+Va67PxAwzUucmFNhN1DhRWLY4ZXedFXwvdtw7Opx1OBPzw1qB4F8l0gg/YNQuQG
i9QiBnxC3YIAh0mXxvg2gl5G6Cu2vewd7HxLRGFOOqCWMDVEDaNRGUnQQgsliQLiZz9qfHD33oed
emhoZqj5OSUnhrBjUPl5ThrNA2DgEMbDh9+V8X5U5edXppJIFDkmKNsthp4kzkj0OSTINXRIgCBY
5c1/Ex+goxO2tFdhidQapzAWNLBWj+BJcqZzRrKKL88AbZxNarOkIiSOBSXXJsOsj5xkm9GBbiuc
7NfmUgcABYmaRJQUoRFsaMcfk6zHLqNpRaMMY65olrUqLk0N8NDULGsRfcGoG+JHs+fTBdo1G7aE
0KkcQlFzSG2ERmT44jBQmERG203iLIYAyrdVIFDJIxq8pbb7KyFl4SEgkhrohbjwui8ieZKfd0YX
HQWP/jXU4Ji5gi0r7lZ0YlinmlaXBquyUz+VPYNBM81oghwbonRBtje9kFxuk58uqmUOJE2hGyOw
TXrLWYCMWAm8MI+ly8fbR6LUagKpd/Wfcc0FMiewX+kcIYUJ/AaQUqB/GR6BO/I/kHC/7IemG6El
oBX3VaOYmoYNIlilYdWHALPgA9+1RcxMXK064ju3x4YvjJXcPLUcUXKZs7r+m1yYUPiDfYR4Fp6O
CuEIIiYilpdyhO4YuXXUWfDC4JKX+gm8fKnRz0YLcEkTLFXABJz7PnEv3RqQps6rgFoTIXGrZ02M
kpAhrN7bBIDrxJsJWnrOKLq+mO5l5bBMZdHh+rnS+fk7Hq8j1kjzFSQ82d8vrxGYMRuEHokubR+Q
/dwZ8MgVrJD5F/7RZnycLfYToISmuej9+JMoYvIRHowSC+2jKt4pyG4sSJraBN3nEZJ0BSmBjCVB
QBpsbzpzEZB+gWUDWq74u/ocBz/xscUjYUvi0fCH88cjFZysK/sXEBI7wq3SWKQb0sUvVJOmIhQB
kigWhbAl+Boe3s1uUPXNvcAP+YkzIxUrMh+hqOsC6l1AumdZW+OBmP65nNHUu8jfrCP2PfdH5Rx+
iA8xFO/V8LoOQYGPt83GCuaYpH7h/2RXBueOMfaTZJ/KJvGRd3dL81I9eaBx650y1fQ8u+bm6WsY
hBf49UNy1N2KNfIW68Hb++d46iGmxXxBrDlL+H/v9iF4Gbmo+gd4jhQrN1EtTQe8UyaHcb+0cUMN
2wQJH6JdFygKmYkfmL5vLqPCNdYG8FKnms2rpxKB2AhX4K6mmAUo/eq9/rZ02RBL4IyetfCK4FJ1
pSIFEJFKyZ67/EopNE8Lo3CQmJD/ZXA4I5sn4gaYg8CeJ2LObaTNPfnyHfgmnjm7AA+nsE00chN/
+3I1hIu+1HR23oKGoRqN4txTOFSQZ+CkTia/gh4hx/7CopxDn7UL+/m2j+JA40LyOnvysXkN/eZv
yMiQ/KsuWQb/+6Qs7IObCym7tb3HYfidBzzSYyjv+F4BZ6HPG1DDXf7O1t7fLdIh7OhfVMYFnb5r
DMadGsYdkXkmjUtXaoE4DQH1ZV/OTjPF71C0pYSlZMibZaDPRWfXdzJjquMfgbo9cJv5/Njfqecr
z8ujn5Fr04jcVwtjmT6yzmgCDmvYQgcKN/FQhpA3bUOEjSLu3F7sFEBVhQwsA5AclZ5MT2eWkKdJ
IksTPHFuYqS2VIcWdbruwGkORjXdUI5QOAp45ZK8svAUlobNckJHhcNrKdf2qhNfZLdphqfTrNEL
vTH1ct+1bAMbep3obEehU8qanYfv5omk9IWjroNDOwPiru5Vluj4OGez/MQsgXWb7n8qN9odiJ2t
LGFCADC0X5gmST6wOBsCLQ1RlD4BEqZMRJTh5VoR+sh/GWXEXnD4XWaF7aZtzq/FjO6iyh5ZyK0S
lAhzr8XB/uQINEiD8zwB2Fgh3HHCJGaPa4lvIJCXcSh8n/PxO729RIkMqeA9zeBlcsXKuQdm2Ktm
uhDflLUdxzWNMxJUVE3T/HrONNCFPpwjpkPVP6QGvaBEVtORcAGOG4X/eHSmvDIGp4Qh7zXDuAjC
LzLWvqRi2zq7l4eUeYnbL0JyaYlIk5Tz+wb5VjaUer2ucMSXS1kX5P2q5P5PBnopCBK5PSr7VS+q
CiWzlCvRsXG8mBZVDKWAfq797q7972vaHy44DPXfTbNPphIOuw13TL3onHXNjhny1r1zHjA4pvkT
PCZdJifvBOzhmA03Zn6h/7+OW3m/mL1bfmES1uOdGPJ4sHJ5sBYR/jf+/0pVIcJ6Bu+ZGtVXknIf
zzSO2aePmvn66cdGTsIiJioH7QkoGAUAqvo1PGh4C8pzm5LvfK0rzi7ivw28cqBmYE5pW3aj4Lzv
R64rMF6CTCBCoopSoe2pl74cqCC0NlVkqINHQ6mKRBNNod911lEmPGpfRCprLsaTrXSawO2uYQPL
2f0JHcie0DL83I6KK1PkpcKRU095CMtk+qrEgniy+YQbnS5UH3ZDQphLJLoQViPo7/7qREAJ7UAV
D6jogLsqe7nNf/GVKDg/Hr5Ec/Bx5alDyenDsVqOko2TtB289zn7j3L69Sez375Ze7/DroiCcCSP
zsAxozxSsKRbGl/NN2uiwAdmWJ0e7ZvYDb4KAV8yg05HBjPPq2IrxHwuiys506hO8FmxVP+6V8x5
9/c/E2NRo+9XPomr/4jGVq1oy4u7N8fHbeI+zxdaCQvb6gONi5wYz7Vf7fVjTj8KE/+kQkdMa2Ww
Lz3Nk7bAWm6G1+FiGdAnLom9+d491m3hdl0ip3jpMZe8/iplfijj0nzpIF0YOc0jdMxoymZEq3Tw
UZBnToo4SsiyEPlscSgId3atSYZ0n54bHfD/xcVUiNUQ6Gj1KFOi26mrk/8geMchmhkq6RybwIdf
bUZryvtxmb8aumFiSQx93bIkU5G6A3tz6zpakZ5yl7/NZgZ9EVpZbwJPeyUPrLI8/MPK4dyHb6N2
n3ViOw0zoRkZeDCAzTAqCVkFrJnkgqEl3He07YtluIeF+PQiuMBpUFtHUEHv0bpbmZuLeryv+bfi
xFFoq07Ixio2YkqTezRlCcvNC1VvW13QofQuK2Mvqt0vmGZcKElAm6Fa5+S4gR/8z8Ho+vLA/R8l
CvUchVtKiT+TtfMum9cLkcuKZNR3LFIXIt3IKPEly9BX4dq12yw9aSL81k0MeuQl7JXCgE3za4tZ
1dMMLG8WopB8mvtwWaqopSnkPh7MbPy/jE1o0a5ObV2MSKwFZ9Iv3DwOty+FEB2W/v4iQ3hzD8VQ
RaPJ8PQbF+28DPTlrtKhp0Um169CZN3vs5ckkRL3NJplULW2XiYZsm1mVT08JdIh/l/6alTsmdo7
JjHDcLOeimT411lgMyZuPyVK/FTVJAoUL87k8E2rnN20LgVtS3KcY0nkWR7eHd0n38YTL/wffWak
08w2V3drsJwn0zrfBfPdo2XzQSb+oHqjxecEDnUz9ZzdCu1i0Sq/uK/KgQ4zFx5LQ91PWExF4ze6
OfCa0cDMN2oG74AbZub7uwlD2qrqXm+Cp8CrJ0sWKVvmZbsQNwzS038kFnAIDGXTrfxq3/RDLX4h
p3InBa6rnHIDT2V48GRKN+Fspq1yPO3OtIdLOTrOEMr1PjzSKUNCH/FGQCqHxRIkAiWaEFLvw12l
qatjMzG1CiN86FLfOoxbqi6AAyeqHKCNxZ30IR0ey9btNoBOMDxqxkryfuPA+BDsz6KYT2r6ip05
sz7qSbXXHK0BnsJWi/myZzhB3qvwdxKwJTJmEQB5Lh3LonVK+uA6FhCwcV1WT3CNe75dUdEPoWGX
m32Xc9usHTMciiOd0DMEvZWr80XzBenC65Cmy0alBk0Joj7C9MaIlSYY5+1MAqhUpQSc24X0INHA
W6Gib0jSeOy80UDVtxvuW2zHFU8+WqSpBr0AS7DK14h4HIfbJQSu2pfNXV/kZy+9g05+kt7yS9lI
c52EeLijh/Wurg/Rkfok0nEx5eMcZb/LxIaSQnsr98onC2wyIILkymGKUnRA6BcZYbThs3krHex/
qNozzcyMQdhQbMMPelOwYb5d0HsTroGF+Mynj5N8tTmubu4OG730Az3yX51oocJC56z0x2DeFw7N
frx/i0Lt7dZsfhevvcsMaCKks09NJ2PkkZQPTNo8mjmKBiBd9zqDcovEs8FYZjMBnL9OShMU+q5Y
+ZnRWAlARPyCA0c10fp9oJOgkn1hCzl1sZTRETZl+zHhHqh5VXMBFJ+OqzjljqMgcSUklMZEF9F3
oLGUHJ/kGD4ZTg/dVqtyWT0FJBgL5awjFW7thbhjvdBhaNhJ3bGruCsTdUEzJqgsmcjbux8MsXGx
cNBqYthelWItFHWsWA5mw2Zk0+FsBrH8uZDDsE8zFpi8mtaPiEVPivG8ZGW/ChwzXXhZ3QgL2Khn
B+C5SSxoJwVETt6x+6kMajeed9UuC/is9JfkZzOHsDIYiZuWvjIp4x3FrtZGzIrtqWOR6sJXHGps
o6uIrspY42yZhHBaZQSy5XV0UgfIY0S5qFTUAeZPajDcYHvXolzCwqwkhGYnnT2z+Uvn2WPXsVa0
hmpx3ExsvOOOdOWMDzHGBJZ2qdROpydkqaFfITJKWp3d3I1tohrGdivmV+5T5KgKMcBaPdX1baIc
BnfQYnxj3EiHgPMsCM5A6DUP+aB7IYflBwpJXJz1mHuQ73SArMKDjSazq9EFsqMyfiMDs1f6D5+A
M+KQpsrS6PGB8QuWU6ZOVP68z10M9H+X8usR44idzMnmgeEGYl1dCaei4MphtUhjLPuxBgsZxpVw
ciovFh4dDnNhOb/7OL/6dNdDBl83dJwnsh32GXLWiKQEO5uhcRhqU9kT9/OfEEaS3/1FJudJmCqf
oBILCrgHcgp7AjoPWH7xbCXaaDq4EZG0pAQi0AzDIYlFQ0QGUNF4+E78vbiVfKDX36NiJh9SH1o3
St1au5uhqfT+e+wN8g4oBANku8GBUJBwZto+H49fWh988xjXA3zwsYaXVzs1NxR8V9Mi6F7awEum
cJadZ+AKcbkOYiuI2Yvn2hIF6t3rm3DItRRCeh8DQtsnnNyC7lyuSdibtbWaP1KQlVhn+Jx0OnNP
HGQ/vIwXnohJD+d6av1vZ3ChqVLPOBCwcwHz/yu9i0l62GDfWJb/lS7L6rtuwgAFDmVUXbKtcrR5
bLayKHM8OrvgJBfkkgtRoz6263Ha5nsMGoNJ9uqnE3YJy7+lhnlRn1VOtuaHD45UtxGOX6+RR6K1
rLoQn1if//SDVOT9f5P/yRWLetyurSo6dUMXThBr4pKVuqR4iBXByjAb1qgcUH54CFwxejE5aCqk
tz5Gp12b/uB2wlM90PM5Xzb7FvFASJ8DlKlWBKtu/cOrinMxXTevjduqj0SmI8aA1eAXIZSWnj99
GPKhzK5JQOeK0jnAYd7PBEqAbFyJNtBb0OpSeHXenWI4ojPIv3kYOg5AY5E53Yv9Kw1ffpN3B9I/
6otGtU69VUcPeioq16Nky2JMzROksXT32WOvOiP7CGqrsDtBUu1N0OisTM9ShVVDsMsOyyQr6itI
ud4BmX/kpxCmGU8mFc0O5VLYorRD+eXhw9sVMZUMEScwrM96EOQp8Wk1C1OEXB2wiDDTtRYdQKXI
EEVOPpVMdSVqtcJOLdE/75pF5MROqKIgnfpJc/UQbPCwvyIJ24n4nllxPh3RI+iKyFD5cZdOBVub
KxCeyt2fz5Y+spd/GQykJmaLmH1lrCldHMwGrP9zTwZVfrp97LitW2FR5MxGstAFbWZhpBS41ZFN
1F3xpRXPmryhIfh117jqIAakfb2FcWqv41JA6sdzhGvdZd6czR1SbbQhpZvpC1a/NC6z/PqVKpCS
lyKQkmNm1f/umucNCJ4NxQUZd/h1sVIkTVqh4r3ZQkjGm226QUru1DAPoX6xPDlUut6xlNnUgzBw
WqDAxd50gzGms03UDZK35uU6rYIDXL3Og1GNWLhvI3nO4WdTCPFG8TKmi6U70ibgz5CeIqXLS2A3
pXDZe3nJY4r7Rk7f0ycZ8mawzQl97pTuMjMmW0Avz84sbKjVE1x0zW22Vl3fVbK4pHXtyRzsN+lU
Gijo2nQh1uGdkG6DWdST/2P/4LlsiX7Buaeam+gCS74sOe5fbCTcAyU3tgt1hA+Uc0A6N4p3HDqQ
jlHNF5PF/i9FIFiZRU4FyyqtIOhb8ea4CmMnlQZbzadLo2BHtqoaaB8MKwZzZ+ZfyA7kiIO5vNzd
IjUXPucohK9zpUOFpEYry+kEtBwo1qsixQrlWL3e4T9VqpRlv6qVoqIiPpU4OF2V2Dh4Kvoqv0oc
Zbg4uF+QlLBc611kiDx3v8rtrrrn495EchOWtS/d1V4DJAu2Z7bF+FsptFN9AB3CdiHcPrBzajuI
JR1tWuJs2cZ1kYHsMu139OWxbtXJj/G0f46FNVm/OVJW80WlYhFybYpQ/is4KadNHq5Cky5CkXZu
B6lCk3/mKz/K2XMl+QR6AUV7EoyLnU7j0Rmck8JekLG32kQgqA/aHZ+82zH9sPLFTTa+QRLz9Y9g
DTShvD7e2Y9BxwH4DlCAoqGhpR3r5lbnCRV+bTiImv+wLw29prgP/PR/n3M+SVqhIH2UBxqHe2RO
Y476TrHz0QMoW2W2Ak/dT0i2EQy9ilL79s4FCdZ4WsnMC4x7ATyvlOYIW33M3BPFEp2pKtXGhrfH
2ldoxey7pgFDE3gjclsWlF44TfF6CFt7/BTwzcEAwn2EboM5Z5XFLXRGDkX8SZlPQWPda2ga2KTl
CRSRYKJ8hT2SZigdyDhp6ldElG7Hi46poq2RlhvK0S0YH9+I9+4I4mpP6+x5Y62vpdNcWBmYlvV4
sjgxgtdTzzQQeqdcKCH0bPel7vNzQapij5bKaswBtubZ7QR2skAoaKcpi9kkOMKOcexIkk6sLmPc
F30m/RMNzvekICk4bnlD/EOShb9htF+eTvWBxRQ9PUIrVhyuu6TBH8AwhNo99GrHzKTTAeGFS7PW
u0Jw9Y8wO1i0qRmsl1tSD+md3BFWPqK3XWv2tS3M+HyoSAk9na8VGFnSj/7b+etVA8t6Lc9iGvXM
t9LtiO7WmNzW5jGTAWON8tUJhPBvlQzVC6AZCzQYSVuvmv7H4B/5yeahobsm/cpKlAuE6eUuk1pl
80rkJyVN1WHraRIJjK7jWbMsT+1BDmBrw0aPZEqXH78HvZUYhSkS9cidabeie+TZrIMGb+A5uj/V
HDjfmzFWHUIuJew0JrwcNr01ernwoT2nGky4Eu8Ks8ov9ZN4OeJ05B30UNWNAqccNNUAbM/06iAc
KRM+oOWTSB0Qp3MzemE1S/+WqxecExB9bPnzlvLiCUvbJI2KblVilhoQ6a3KeAyFmKtt6fSMb+Il
jGjOehHD0+f0LE87akH+FJvSqr9h36rXAa8LlOS/5jYB8IaBHOZRyWFYDWdJmmxBdWUIsRI37mxt
/PjMXAvIFTVsw4rI1LSW6XDYvT+f9w7iHuBPYVEvNua83GKQ5PAuxZApX1WoHpUi6UtazcyjRJ7J
1sga+SvvDRFrCIc0aorbi3TPk8qedr73/r7rqNYa68zv8ftTFpK2wZrmSxRSHCnHMmg6rnalG44N
DrHJCOxVMDDJVhF5XeQnZL0rOSvctBpTxEKmcAcODQBGZgM7agM3FeThOT8sd7TI9qSYbonbx/3s
E8KMc+/0rVHnkjrCGNwFDV3Eh94Gm/fJGsy5pUvmPZ6nqlcOAls4u+c0fVY+9WYMIEsa1+XBu9X/
tCpU42KVPvcsT1ReNP6+MOYcf+5cy90sKzzVp4upjJB6XDrmsWB/dNb3Q2rzSubN9NKHE5ybukMu
2aBF3SLydfOG4DZU1urZgJEoZ3SDNxPiEcKePa6V7Kywk+lc4S9eZs3RveNkSGoIE1G2PrdCF6y7
r/SvNduW8AHgzP7uDPCFTH00t95TuPHjSo9VOc/N+R5h5Z3ME+yTiFerBViOVutTeMUjueWyAH6z
+KTO/34g+nxT5/+CgoZQfup6OXnZfUv/4h6qzf60cph4mSSmkb9YLifBPFg7iTQ7YMs4XR1tY+bB
CD1iYigyCeaFRFE9D+CaO5gPysg147dFKHS+wXJ+kh0i1l9xEQjXhwvQPodC1RDqOcI7esaPW3Ho
j+AGrXYTM6yWPsQqmXlM/fuEKnZxGPZKS7CSN3OWPj2s7q/qdTeDFrl+ZK6Ue73WLtyoUyq9CcE1
KgVaNGt+AfLQhDgpA53jg53lBcQPcpBtMhRidLjXjU5dM/4yXZvDnTvdV5b20O3cLgK1UMSatdbn
F2SISO3fg1TftZ5dQ+yKhkEgSR1cb8EnOq4gWpa3X+rg2d5yIuC5WF1S5YzRK7veNMMtbwWthXYa
9Ud5KucQEA0sexjfiIQoG87c/6bpuU+V7P+KAmM0lkl2f25/+Wj7/uJ0VeGU3v4eqoaGzr7+GHOX
f+jPi+vaeAiBqPLGLGFtw9mCVvfPft6C8oa2SfIZQVP4MFKuP8Gc9t/89WFp8xTope2aW3AlfehB
ytWJQIeOHv3c5h9PHCMizYZRu0zMnelhc26XyHlbKhC8OGkyrG2MRnXry6ntjMe6q0hBphgbbAoa
aS6P+xtw1tSWnZxF4J59XW5bW4VgY+HCTYlOWyE/P9HJFjZC//LxwA+n5BRomx0cS9cdphhkMZec
njmhhqbs5STcszgVTzuVRxhILlROFqymRf5iIfO83DZfXvPH4yK3WJ3IqLg4f29H/CBT/JgdvS7i
rQatI6JZyqf97sB3g1fzOxufVBwV0Lj0TzjJS9RYjoKeOZqQTkxIImEhmhALYPFcSbLiHcAT7lBI
RlAZxvSayxLx12nHDZspxoQ9Y5pHXYTe4tb7H7n5DeuccvgN7/q8ZSNYwJoceSH33JRM60Y2SB47
pF5QTAHP2eZCf1YtmhTuSKXiigHMkt5HS2kMRURTQfFHuIaJLHKiRk3q1rrNj8E40V04iNti1Fsv
A9ehcuSMiDzy5m2HcS3DKd8CPtS+1n5Rdz0DoLma+l8zCOVf4Fk/jugAL0eJa1Gu0oe+d9Y4zcIU
1WN5eIMQz37NZPMSRMNPSmNHRmNfksyG9/xSjzGpZR70D1DSjmfVWUeOhlGgg3oVyWZBEmYaHPGC
EcmsqLRzye7iV5TPQA2m35iKYmNp07Lq90kNmQ0BUsVMh81eaYwry8R/jX55UnobzCS+xU5OHgQk
f7k4K3nH/Lgnk1L/jnvNSPrSUtJY0hHvIj8x5qRxpH7XUnAwP1XUD2YkcPe6lG5fuAIVc0bhBmxt
xGxRK1OS30kwTvtxvpRBAJ3I8FCpAvXVVsLDMbA9iiQH5CSDpoOhPa/S/JANDHfv/P1pM7Y920C5
JnfJ/9C6GvFv5d2lgudG3QrGxnKTxYFNvy5jcxn8sKInyfJuvH6jNadJXn2PHUnUyPN43U7oB8ti
//CA77BYDZq4LWe8Lff98ULVmWl5bERLVDIzWNvMhTO8ktXxuU+XYh1Xx4UQ2LKrMT3WWKyJhDFY
mf9OiG5yewffIEENL31lwEHImYrQXQd+8z3SrjiBOjXP6HsNtubN1F9fRG0T0E0RBIID8z5zopxQ
x7e+5hcCWljy24afb7iEfWl3bwgpPHCG3MlSLjQn97nvWzxBnSY+2LTdyOTngIu4vu04CgjKa+sA
0sEVayh6q1K2hG3h174NQF+FmbCEO+lTNxgzC0wj2FDbTkgcQW2ydWrDafe4AQ88Uwy4s9VzClgx
8Zu4U/95Q5HeFBZbgOLSIRbNZb0s/d7bXHVT3G33cnNcutL8kbUbkQOftx0Ey2YYDfQTO08rq2fe
H6Af0b7ZhpspSP1SRxcOaqnlOp0AZwKVTCpBp4CNmyJtaOmooApGTLsfjAW2JjphPtN9qY+dpAGh
+k8uJn7ZnB/47losQ68NvsQk6SoADQk4/W83wPUnbeVVrBYYqf8xepuuJv7f3b7Q1WHzk8EOry3D
x1yhsMoFtva0d1u1T+CTC8ONgNt77ZIeIv7ZfeqFK8n2ygPOQW3gNUTbnrX2a2qada4Q2jJM9yCU
agh02EQyGuxx4562AFdqcJtuZsNgQ8jt4SWYVjfsi6+tYZaXKZy2m/SlgJ/PBudVRZ8+5mGz7Xvr
mobugRsv1fGbWn7BUNRs/svr2kF+E5h9mBShUf/a5upJhIrgBOHv8FKleOQvAtYoN9/Vyz/7KvK6
HW0p9z8FPDqskwVTT97imRAs3hcdg8WsZ7AuD0cTR5jS7wsiWh3bQglvIsHZH5cwjdxrPE0hjgw/
DRcD1T8zBbVrLbwMezPrPZ5gJPuG37v985Oqoua/sYWDhabfO8ZcFHzGvbd0pPp6Ge2JxmkjZxVQ
DZCdebeNnwkFEMWK+HYZK30kp8/2zKZvEy0ln1aq+K/LeajPCMpFQx7rcqUou6ml7WNt8PSPReFf
+gZJFeyPwWkVgy37Bcx/VvyGUmGxipwLUMjzlm304C9JT6aYmrypn2j3jB0g+AL2IK8OkjeYILfD
xGg/4RVhoKZ3JrMkihtX9lr35TIR+QnoaRMdZheP2hAxHIPksRGsN+63HNFnhPoNjKoLDw7s+Khe
1cLeH7uAhhrKZ7XUddWvUXdXTovF2j+mSC9P83/MXlQjSTPBpJ6r4ljIT2mz0ySKpqmJAiebdRNF
yGTe1fOZMYzhPdtxg8NFdJYdZpvkScLpzr25TCsKlROTkaPdF4OCNkbRdHUljv8+rEVxqHmiuwFJ
mqb7uVkgTfPjBz+y7FxlvV6aZke2nvQUIu4Llrh2ZKjnJEMNGO9gI4stRohSs/k4ywMM1IsYmyjB
Btvov4BJzBleKUB5RZme3fJmyu8npn9AmA09u7OBXLFkiVSDsiApNAamWQz10l73TSenK5jMIAjs
F74B6Ax0oQjwp4rONAjEQmUFKv1b7MOjbAWGG5ojhl+AxML4HbeAbuUVQmOTgMonp3uY4HQrxicY
m0irUFZXuPxz8CvpXey+5GtwsnMorEgC0pIUoDByL3nezVposjqWs+KkYJ8gTKcD/r78/vDLezm5
uTbaxndu8d7xhqKXJoTrkfZVGApZU9amF/zy7/7UAXpMMTwCU/znb0DJY/iUqLXhfa6V7rXxMoIY
EdO65RjSpvDatd+R4yJ7ygmmcicX6sHVnmebOTo2pQSS/uV5DauuIQ1kQQO/2hzGdbABR+2xm5SH
veoPk/jK8PRM0fRg1spIn+xN4QI7bWdqE4wGR9j5xLY2mmu49QqtHTTyObktjZfVXsEkDQd7AwsP
DDdsbZO0HkhmzgVHOojUyEDth3OkMtFy4KiIkVDNGisskeG15HuOCsKbK1dpWZR4UPrW7h4vxq13
RKloJ5uVJhP5Q7Nv2Edg4ZUGSMic4MJzf8k6ADAuV1OOXbKzCfTDclfOQyN3UpLIDQghmzRTbzfc
6aNsT9QtUOtAOfZCwapyrB/vmbCrSawzo0F2XD1qKRG18SobrOjOFZXeySdIUOkxRdsDCC0dyf5u
lqaSdqV3uBATcaKhJaEwELd1Ug3F2ZHYiL1NFFTOku5rsbNz2jYl/ZOlutSsEUCNxj/gV3tCqnsh
i+bpuDCbAdxGmND0jF6XJrC4d2fIAJKo62LiYK4lPKGR9LT+uEJqxTqHnEa8I2iSNgilZfnzdn86
0cA0cijaylDMN7Cl+nBlP0LzSWohP7HVLqCl9xLyBVP5OhXxPDV0je306cDjJC4ZywOFuqDwcqWN
XljLhnRPlMd6TA3EjdOUxiidyd/qZE8S377Rzr4hmsgfBuKV9SdhIMJLwYk7zsax/PSKVJ2WQ9Ht
UjR180FkFWT+oZB3wIWT81/mkAontlXGtOMQDejNV+hNT6AaL3McENdscnTg9uQyGxsiP57fpy8x
/yzhocCs/d4Tocn3vmMyU/zccvRxeyn4NkSnvOnbfkbDwo1Fk721Jzbx08asLxjtu6eoqXKVkvaG
LRoYBDSOuheVeD+4y1uMObN4XPvHw+2jMy8pGtHMndIgjTJh5/AkDDbuiD3ynXQYRV86E2EUU2lx
7/f3xfcH9+dHbRib7yUvZd5++l1uvErPiXAG5vxqMINPlEU1qZU41ELrgq+90MXAx+BweoishGM6
LDdIke4vVm9JrQpCRGDtG3Tc3NoSk8gHz01Jow25nvAWY7CpLW8FD0dt6AavHQfl8fhGYG8jS4PQ
yfCSm9oePbDvbaXVVyPxTZYkIRPiYNR7tQeMNY4pc1JiwXwGNdIwbyf2S2hROGFdOarwyzYYtxI7
d9biNdz1CSOKQFyyFgNh/Hk2xhaNQvc4qprIQsCbPVHcvjRnxCdxd74WRBN3ya/NXmHWNGjYJIgG
iUYw2FRxsLF8TyIDq8mHY8HDqERZMrlMydHDAS4u+p1pOBqZdaETO8pdQCeTjsGwvYZoLD1VySQO
orSha2ImNkpTlLw6oWAgLIMEEflp2sGiTiv9aAGpqmJStCNAxlhDkvMUpv7qxIjeXqWhSn0/Hr4x
LbemnYO4V5a7LsQD+WQQCXM3Rz5437HAi6gZx7vW/rWcUWWeIS7nJBnRFdDI6VDEG37KCeiQgOWl
knNH5E9N6d+Xj8fC+GpYcsmarZgVU++Y7ZOWmrBo+aNBgASk9KFh1Zk+FsdXVSEvhGS9/py5qUne
IbRfqNSH0y10ewkXPGft7VYDm0KF7ApUiKKksDKRPVHLtP5N1hbH3q/jUdjhIaI2o3NfvfO9tmRL
RjEMXM6JfvDXY3w//GldDKLD2jy2Gu7bs7izVsCkY4Fo6PVRdwKlu/+H62nELQ4XTvq7F7aiRr/0
X6DX4/3y4xtNImpd6CV35O/2GDezwvZd7emHc4LRqUX//JmlgzKhuvaWLPDycNy97LPKpRpwt8Le
rpLgkJySJ6PJKDLQ7KpNhTc4i/5Ivk5dABYrccXYEeC598iTndTaYkhfxIyUQz5N9iPepfMm92KD
g6uav2tN7mchUlsGOj2H8MIRwOxkNYidtOEb3FeHlA0ZG5zd74bnfTFNNJeHDq9bpx1ANgpNjXS5
eegv4+wYgfaB0bO2KVLxJuNgmmgs4LXOZeDbxjMa7qD3jmu/R8ZPwfeOYl0WDx3yiteiArsW+Gkj
Runr+3I933jrUfjpDd39V6DI5MzyzNGX2A561N9610/UuVu+Pe2HpybsjPKPO0xRyn+OUW19+4mh
eLYz0pgjBf1BBlQ00WVthf4Ctn17EQFYjRTkWsFw52YwPLaj0gCTk8ZwQfqWYzOBjjPrUxsK5Yal
Pm+WG68dyJeTxwKmqyaK+STLdcgkDEgajyNpSsJwEDJHIdAgFM1SVBbpqjQgusQrOHA4vqoiwMi9
RYAuAkSVN7vWCVu2nW/EJqMIpTMt2A+vGwTv3VgQdFs+zrKMZuhENb1AOj9NCgRBIW6d9Z7RMH97
V7wP5aBXeNPSei0lcOxg3mcv/kdsH+k8XgRkfWGFqzykkfBya5r6/T2LhQmW8sB7O2hjv7uvCz1A
mVVFuoxKf5LnFdzN23DLzWQ+g0rFApFH2dBTG+KZUkSpCpgOPTDG+pMT6GPh5TzdE6+Fl2y6Gn8I
yBO/Bb3A0WLJRHPhBMFHJaWexi7/g1P2AkbU0e0QwEayljQ3yd57viQdlRIlMUJVdu5h7ER150GD
50nwscpzuSyAe8yHheZUWhM5TIyPza4CU9z1X41Oe4E100tJcJbE63hNfR/gi2MymUHiQt6FTk1+
t/UpNjfGxn++l/zsnDTvWkGzulqOJcTrmD1i3E83N+mc9JSzw40zycX5rRw6rC95PgnGBRzMzYfV
yE+eugBn/Hy29eAMDAdnbf9s9L54CfMZvMfTTZ3Ppo0udC+wHzuEnwBhyq2Zr8WtDXo400CWxrzX
7tVXZmDY4fpiREQ6D+GUIkde+EROLt4IGidLR6H+Ijjd7d7paW3Uo+y3CUsQqroTbcGNTRrycAo4
AlX64Fn4QQjyVXQl8LVMWZ6Bx9Ik2xE19nj6t3HvuuRSeBB9jVCUG4fOr5HqKPGDWyLH3JK3YwPb
0ImTZwLbB1bSwJrfFwnt29F9g4v+XVOXuQVh+M618dXQufrkhZcoMLRCzhIa+wRFeZrVcTHFwkn0
p3hhHot2eGApiTzWddUcNBv7Ffsu88YT8RKUOCsj41oMrw9xmXl0OLmZrhvOIAwSUV4u0hYzQG4q
sI5UItYBkVAcBYcRuhAdQo9EkdInqvpfX2EsQJJ7buJ7ae8dlDwP2mKPW85vPsQAVKrGvdSc6vX5
IAgF4/nQb/6aJQrJLWVMBC0UEsPPtnxGVuhd5suSKT3bmTSsZNuRPS3UwPgL9v/2N7WttdPBqb57
17jr4DXvsoZsfe5rASZ9sTA1nURCQBbDcu70erm3YYWcBgOByRz0pX2coPh83jvq3E22B1HacU+v
kDw4MdF2HYYXvmTIHtmigR7P7Zaf6XGR3seJlKpCpXq0omEdvatO1CPHMV23VDxSBQ3UZe1Rn/tv
sWZ2819aV8rhM6GVYhX2opOjvnppj/9SZtx/bkv2/Wx/O33R1Z5r26NMf7zvb3ndV2wnixb0sIXJ
YvSbCY0kvZMvItF/bZp4269ZoGOTtk9YnCRtxkJkTtOnBzO1Ej6vQgAohSy/5S2ZjtL0LG0ct6ra
upaZK4hJl9nqqCjba3HD6y2yPkFU+HxewX2c7J25t4BVS02uz8rebP6JbrL2FaB9P4WpgduQka7n
jbtw0khoVUTM4EKFAt7I1lUEM0NWeI72Z4tTqny0SCowI1B1zkHjQOBEeVqcQdbgRhwLmYSoFV7j
pSsKKtcSpX+meukzxmXyRgc+pHuanJcgWRY8n1Pm0z3ULpM+DL39IYK1Hc6/NtvCTyW4o9QoUpXQ
WfopIpxsppunyLvQa8Um3wVLZc+jYswkJPafl6PEGwYzA+K9j+uWAVyqKJZ+ypbZaFfcK58OwZ01
FXwjU4lf4tzKkZKk4P2L9gQ8LROan424PwkdWidDbjeIhSjCCHlEfUgXOUtHPVDGgutfQKRbHcAM
Yrufs3zZb5/Rl4yA3qu4Z1veIhC8GeCL01PdhME5bLKi0tLAO2v6N99kiW5TNs1t5S/205+kRleb
kQ0LtGa5J6sH17V2JzV5a4/PTbmpyJf3/qvsp4fv2hn0W797w0oPdd4fJxpaNsEjIiYmctMoRtF2
4vYQ0Zpt5Ssioow4MPdD8hEi12Nl2MchHCWqrfPA38GMvCb3+VrhrUdJ5LuB7XKi60jfEWhrOkyI
zDlVuwLlM9Mn4/IuVKKowXaVZUc/+ZHae6coQwp6xf6KW3oXnffT/sopekussj/g8NHuna+y+Mdd
iTGGirKqQquLe5jjz5b3rxAikZxEdqlDWC8U/nFQCQsgnuCoFw4z3rWxu11MGkaZlFdwOwjyreAf
/DlwXCxpCj3lZjmlBtY5d5p7S2AtkiNC+u87mGulWIvkSDneChzcvuP8eooatIJJ6edPrOrgbQkw
GFcOK8NZ5tbasiInDElsQBQeyf49tocbFejPTPKW5Bggp9OZ9kJmZosmmR3Zn4kog4EkSHj/v4ZE
3Wy0ES4dvqTdXrJzTNLC4cfBJYJpyhT1yGzNw52htNPyUo6oIahtwRaifVgQ8RaV16D5wEL6Z2wP
u63W7kUaycSnqYoN3QkeUshSCu2G+lFowDCkuXnZ0pKOPJV0M94LmA7YAC3F2R0D6wVUF5/4RGtz
3grVMntmE9YVUQLcYH8tNLWXINU38NNksnVAGzNOngCLfelJgor+7RZIcllaBl9lU8ljdyQCoZlX
WMR9MPdEBuoQ61pctUKmP6A5LXOoFRHAWKqw/hyQ6WYWZ/ppl3wM6IlsylZBJlR7vFxgD994IBJ0
xm1QlSFwli+25Uz5KQzQXoHrehKOF355r+iTThHMSnAki1iSRRzBRUz0Jj9vaqAAkMFPNCCzXkNE
r/IxDM2PdAjgUBXptKRq6GN7O9Frig/QaOtTqk1xbgSl248neoc11BiJJ8sticRCaVREhYiEJI+H
zniLgtDZx9zS4AZsAEDxz08C0shDbCd4x8Re1Xru/fTyasRKUCTRwE6MJE9zC5RlPXGjWEXhYk3E
Fgbk4GR+eVb/paSf+ekSnYYTUObGCxljXh4kBqhqicouUmFqKftK8AawN5kwzzsWPdlBdPT4yfnz
D8BFauQEZBVr6IpEIhbue6EFCucYqcHMpawitc/L1nn20mBImTy9qZwEY6lchjyn+w3jTMPNtd2S
IePFTZUcCqNfMOxOGTIPzhJCGdcq36nhgZkZjdZzMRnD6XIoAiyhC75gQhC5rM5jtxOO6+ATK+C0
0bJTvMQXuekH5OiXJlO0zZWSrO3jZo/B2UNetCnWC1nhwjQYC4pbS5EFsl09mM++1K9jtT+Udz9D
RToh3XD4fcDO4b+n/XsT1r+7qrPPubjHYaqpMHDcN15HAJlfKkbD/vI0Wfhv2EfZFjbQmSLTc2Ml
r6JNo5d3jJ/x5eqcMM/RRQSpUNWBhb6JLCxJ0KOsskXJXjGA7aDuXlflV6WtwFsv2i2HKKz0flga
slpXKUoxe9QkJ+2K5WU372dsFh+V98wwCbzytjKg/fIweUFR8mtsL0o7GynzfKtoS3r6qaRE6SyO
Grht6Y58AjvV49mQy37BiMmyVKCYT8JlVjubsjI8slwly0hMg9jQ6kD1CvJidkmQ5tkt9pAam3cM
H1q/+Ol+MZsxklh9qpRF70NBlS06IeAYLcGrVB9DvYC5IURCD4XTkHUC5eziRHfUZnQix5khXp24
PSaq/WoOhP4xra0GhXlzCC/KpW289ukSVqfygkW6W0Cn0eUhGjkkOenJ2otUxwGQMCs1qRIxqBGl
anBbJb7ncRMgdHGbTO0ZBANeokbvZW7ca/Fi2DUftdt0bHc6dMlRpZdH+ymQ4Pa2lhpXpJGjOLg0
9d+HFm4AaQ+lSdQcxhK68GUD/CFZXiqaVkpMYhL4j8wunXp2VCriPVrkX930HwXqWfsze5J+b5a3
D90L46Hpjc1Q0XJBK/EBxZQH6CSnAH1WF+8vOGYbIrvZcnIFJduC1Wovxe1kZu2GfF04Pg58DYyy
pAOkMxnWfWQnw782g/xSJCLOWiJnulm/EMoXc0w6e6PjSMNbkxA6dqMQaEkIyok0E8IQFlIUjFoq
e5UhYISGcjKHCEwO6NElWQooLNNkdco7UU6iyjJpmYIhzbhJXNrJmoIvqR5FnzAs66jVfdqminZk
3pyJn/gyflixiXLEfAQ5VABytBm+ufYBbqyQhCm0gqkDf8+m4PTg39AZrbWlCvtFzeeqlBzsDike
IlAAcw6P1SwcP1FgclRd8RDDhUoP/UZxHz+NiwK5gcr1LiBZ23ArdFCrFtHd1GPATjGb8eFL34OZ
T6IIFSTi3f4yXpajsKfKuU99M8gYT0HHpoi/F6DFZqwAzTxpWlLVKAnVdYNs+4o9NA6DI9YRfR77
1mR15pF6qjmAk+IKuCo5Mo7DQMuf+w3lVpfmNbFr/i1EXrIfg/pERioSAzGiFEaoaerLqMb020FY
+OtiHbvaEPAlU7gkoJBfQ/jkcaC1SBBCrbCKfB6ol9e8rsQjp2/h3jgbe4a3UfUtQtHl08p6YIXG
sMWB4ZfcBnGXbFULeElL00c9qiAozrysbcTtUrAGmoiWx7FN+BRJloOo3n5E/3brhpXvMElWTYOd
wIybVZEq5msXzqDBRC+9aQEVBZaJU7SvtdHRP5IcayMn9XOjqtMFu2V6usweg74tmseArL0uMgec
yxcdSpuTzoqaeFmjmm5M7KxGe8TD113tLUmsPTaGbJxag6/dbcnkdNmGGvOSD279wRiTU5QQ1qyy
XHGiIc8JwkXvU7DWuLJxktrkPINYcNtM6zGW7wbTKSf6YdG6xblXohkl6S3+eUJOZcGQzcb0SnHd
uOFFSPUzzvwam3ugrNQCk4WMKZ+T4UlBETl9pWdtlVoW9USIIMgJcXmxK+5Dl4TW1oDdzukupbxb
HFWYqO2JLDWuxQG3SsAWQQs/0W7qywgd/YRLKQ8z/WcPdqSsmAoPs00UZc5+BMoADqLn2OgZVzFm
zkPZa1G03xobljhKgZmYV0jBrHcrffOPMftPygdTVlSgqX6rm0w66JTlvmiSMk50b9/DohGmSm01
ocVQcNErkP0wFI2ybL0Uy/NoA/1aqq3dIb5nR2MtbKruRuWgRQfKs5bN5w6I6m5hGO8wGPyjWbxf
1A7rmbh8OytPdfyvZa+oWUeUmBnU6g6VMWVnJNRYantoMSJTmT7CabHcu9Lowda52gtK0tQZHCyF
DSOQf0SnqPhxLcdu6QlLh0xprraQHaexT6oZg/jCJFok+iRt2npcf4eCo8xWXydn9ektNjDYOVFt
NU0HFlX5pW+9fE5vU8zMYtOSAdv4jGZ+wsP/XroMSn3fx1Q9BbwZzPsXwhnJpmV7+Dqsv7dxuify
3ShiD3kUEWCBGMxZvOxOwfm13CO34jrAYdKB964hPrmUD9obv7BocjWsWEMzIIdN1c1HwyjfErhq
bqhZm1Mx62M7ghfZKoDlJX9RDpUhfbfbzl96kddZcb7f81TerWZj/878yMYCvkW8CSbRQuBgsN++
NRMvuEWmx4si5l16wi0+MPbp5T9DU/rz+6Qs/9g4rvuAWcpwJGd065aW1KG/HFglON4RnSRFWWl7
Ur2j4FfW4ke8QSV2sQqiKoDSGh+vvYde46i7StYIrCV1xMMI1bcLtCw6poI3IGCCCnqnw4GGpZAO
fYM1oXATgksBrIfGMiCncyllYziMfhHLiPIDM+Fx6B0I7GtxfI/0mY2D5NtSJRYjJxEjhqcXAliJ
bEuoyrCkzA9lLrJy3gmsAyCsMPogb/sFrLv+HuCdS+VIC0W8/6K2hUHUAtns9rcW9aQeGX5alL+s
LrA95n81qXyg/b60AFvLeQZvG1gQtDjaQkc3nJ1J9AU7YbLfucNL3tDLikQVJnnIQxE/11BzYr/r
kgv32gvdPMbGGFBUZnvz8kq827H0Ft+ZyaX1MWrFxq5dd0X/dKS71bHeSPTw97yPny5oEwsXk7++
9igeNTWhwREsg4F/0hmNZLTDQbBZGPLKGIRMvl8MxDSqB4jcgGZGWcSlxw2R0jJA/0aq8ZmHZkeI
pG1RX3c72P9Ymu0mqZUMoSd5wF7He7LnisiGW2FNmFmaA5XyB5pLAzlQ4GnlJZBDhyUziH1kCRlJ
I9YnYCfFiAd+80dJQsWYT53tGXxexb5zqd99e0EtK5+qmDwdqPzk9k2uiblDouZ2tLNpbm12Tevz
97zFHwiN4YUfkM5wg048sVUkSGY6KvxnsJThe+3Mkods5YOCJEkxJ1Jb90oIcfGOgStVTediQ6l5
or7/8Eg+jhT/+i4FSjJf/7g4fT+0//4UcpV/x4rv9nysNilODwx2MG4L7rT7/sWkSrDWCTdB+X+h
5U5cHAVkY+UO156QOSg7xSoO7dSd/2Lpws2tGKJxOhg7R8h1AE2nPZu9b1uOfGGcRjkzWTAbBDT4
7ia5Eqo3sf2ouNXIQq+U93xOSFjN/z4tKRWGos7D1ljSqZaIOrknRi5Pcxdbv1cv/jY6qQ9oHRWv
fczbvYb2nFpUrVnDoJGsLXXmdw9oeIumF4221MXZ+maSrFj1bGG9+vWYw2TdZaEHFSrrb0uc7V0S
prb8VWsX4Nw2MSpp2De//LtPPJlo1NFzBqtp64MjBcgpt1i/adl8Ub6cOlRACeq6zqEPEDHtmyJd
nkLrAxrkYuMWO7G/218q+4Pzq8bF7eOE6NN1UZ7Rw7q7RDebKq2YF/VIq4H1vLdyw/xmdHCXj9+n
hu5Y68BppptlmFozbK8S5O655jk3XaMHzzmweOrmMM+lA+bEq+OePPW48ml6u6rf4dBhXQ1SCQjF
fPaaDF2xesO3Rt18iVr6zF/SapWqEvp+Mnlq5OC2eUnlFx6r/Xm5VxngtWvRCiKdr1L0jAvSuQ1L
RXA6mmti2+yrZNPUhNuZp6ZFd0q9JMDL31YwGItT3jm/KEdndQzUIiKqOcVQI6FAdU6gRh/xkhTQ
WIC905D7tftBufjrYD5YPTegAZB6/ku5nBpy/vZ7OV9p+v1jzH02KXr7GaABgNoF3gRA6R9rAToX
6YjD1SdFeGsFOX55BGj1N5/JG/w92QJ+nsZfI0KYOdkgi7dDDrd5VTNCDY/R4MlboMtvYF1jyt/j
qbQh4PJQr26Ah5wdorjayolqmq13WcDKzp1+GZardRZ1rxDZPJQOtn0Izi09ZOctGKk8eg+WvQr6
lOjR03YliiEzWEg2UQFVpn+xfbO443PYUWnVmz2SsOvKHhN9mVba1vmWqOp9RVY20fKhKj2PsNHv
hjzVr8UCFzw7ygBhfbjmym8jM83nReKkLxuqUY41l6VZPyDOcVntMyCDbRJcBfc5Wjm4tSLwN2E+
rUhhrOHBNxMD5e0ofJCeeTTEcbILJX2eP3MfdJaPnZTkKYB7cY+flsE+6VQGNOGMKXb3J7rM+Pk3
eDLtYYTxnFk8BHoclchCZTRRGgrU9TRoMnssMsn4/PvBtzbb5NFdaPggQb9gqHN8aHgzxZxgW1oV
7X4s05LyMeYDanFB+C91JIcvdfZRIkKA+oI26VtbtSF9qpcUyY0MsDpfaRmf2wq1L7aM/w/9lMov
+PNuZfJgoar5987kROPvjUIu0l3sK3f8ruPvJlURQUCt5+7vA+eoofByZe+27F+IVXnaIC9+cP2o
P095IKVmutgKw4jpU7XhpAoj6euX1QIjKVhN7lyZcSQDm9wUSo+3MovS7LdBQS4l1ikwZWZnzu9+
9do1umrRzJWXyo0IyPcEB0eoEqWrQ/ToLwkq2sK7k4vy1tOiShn5vkPWbRZeylkiopZ+geV0iqGj
GEgTQwh9iOlXsYfnJnfOnqlEOZfCqZcPZe9A+xxT95KEivIvBihrtbCB4thbOGzpDDANjop8LXN1
Ss0UCF/FiW6NsL01mByShSodyjYPVw08lCTInR6y3Z5p0Y9HhEXJqiN5FZdrTUV9vzHiBxQ085mY
G5OxoAgIdtq9DCOqp3vK7ILmZyT40jn3JdCOWIFT++gnzVqnqLJ9xGYLgAnbIu7I+h5siphIER0S
P566z78+ztoZcEV8GzGReRo85OhVFWoelgcz0hHFyKAp81QojNZ2S0pYww5byk/B2t9M96acu8bG
ydWay6tEwQbyhowrrq5juuPMXTrqwfa6Lilfts09UrBvDXSNb5Tzv0MBHXdcRzEMiZD+Sx+a1T8V
KrG6SomfvYEBh5bP6j+vaHKXzyKCYhM4f9jhEFYHJwgDvA5s8NYb4e7OhDA9eEFmoX7s+Wl7pAbC
FD9kx9W/+DXY91pYLpNqOwXeIt7k0ce8DjHQvqXMand0uTgkWo6/uII/PvZqnLKXv7Cwsbmz/862
zNxfpfTCtzN3Mvg9j+z7qfYCN7uTU625CMbbSeRjV0cfur31Tt4w2WmmReEEX2UGGWuWGbNMbQZZ
w55eVAYZo/mLNy+zTHCHh2nm+cmRKVTGz22tdWFGUg5sUwgKWpluwZyyxCaspxsPb9FvMlgVdskp
c2yvz3kxadlM28vUE3k6nVHQMemBdueLr+1mWBlz2iAIWUZHt9/aBXyqJgKxcMeoYJzUdJgC+cyu
x8+h9fq5s68tDy34uflIuRmymWF6th5jJkPg+SLYBGC79rtPnnuG/j33yB/Qyh/RCV/ln4XqX16a
ihbP1nwm4UJhG1VQ5fofTz4gaiN0FAcyoPG1EvyNpzpdFOQ90JjBLElWnrLAN3+AtpPpSLnmxukw
1miw8D5c/pnT/mB4JgmCskWuAB5Zw50i/JUX1QJ7HXopVR/ZiKyKK5RtepV28pD0KxLFJ5ERp2WK
WAjI7z8/KOqyd9W5bxhGJof2+wzK/nedBhyhHvX7vD+NeGgtHqqdZ4FbLWnOnnKzpbaAA16yVfe8
T1OSmduyNUvaLinN5Ag+D9c0nFdCeHVBQEUQpxWNfSYw4peVRFc8UtWxhjvL9LH3pnSGp3miOe03
r9yOWI6kE9OOo5D/xojr1JBJ7KpY3pi9R56JRHb5yVXTeq1X/bCKH8/QbeXocHp8awFjwzlFLVEL
nz+jg8JbljpyVFmaFM60/Fsmzr5PSh2j9KOFLqpU91caQgpDg1TpBhjcm5zMUb1mZXzHfHJDJNq4
eIQzYcMc9FOIsXDJYW4kSVFwkh+YtsEcJqPFAA50cWEwLDuwbQcq++Z4WZn0H1Qe0E/fd5LXsC/I
z99BVVCR8+/d0ZAa+Nzn35i7Iptp813exi/6a5HNJLzggVD6G+OPw1OkZ/izVLWvgZnmDyfMnJw2
B9bdAV7k23p37zkRrXK3WHhT46EP6Yyndftc5ov2jKeh0FGmy4QvC5rKlhTeAGjIG5MXzTRlTkLq
0LdqbCNn2cb+wMpqFFS1jaYuLa2fnsY08JDKottlvxmAujzSF3mP7E+zwh186MvS0m69l67dvz2X
Wbmsnh+7392bbDitHbkv0nkGmIOML8ZEYL5TV1S7xFTGJ/A0gMwtgjjLmhIYCaO4+0WqtvbPwnwF
wHpSz/jDHHWEO8I0Xxfcy3SFLar5vEMuFpwDZD4EkzQtxv0MCY0il1nVw/XQMauVJOawRE6up8DU
ktX3wC8dFeZKkCrUoutcVOpOqQJsXV+61VuNtiXqT+eAMXPEZnIzKA3C8tNrCTBRmthSSHA+89au
HN2fbwnR8uE59YPHMbN7EjYi3qiUt0IKallAjQbRcVw0vGqI5y/VPpdFTjtY351q9Im7mPSZ764o
a7+8CppLm8uz/oeMnPC3dMELbJFhyUfRND/xRmWgI6S/fsGQjldYk+TyUt+5qoAOWFhn7IF55ubm
YMQgoBnKIPYyVj/thy7YURZnulD1Y6d1fOdOu0r9dHnOm369vo8rtgp62Uyzmqhpfi27g0Jm/1P6
mt98eK6fU48mRv+2Hlmt2mCcJH/4u8yeUhz8w0Fs9weZT/e+9ZCBLlM0Tv6nNNMjx/lkpQxEvzOR
orVq+Mz5q2y2Az5N+10OKx1+9959vlm965MAuT8M33vDN5fSudMRyubdUj873WK5Ou3CtYtK1wXb
4HHMm9BkN9zbKqA7ix6vA9t3suTnTNUilRj+ypCW8Lyu+keUHooBPv1DBfTovQKov3cxWcJ+kfL8
NK7pDtAMuPyng8KNoOlEdLrp72LfipKJxcy5NsmN3kh0a+IqUV7wNS3Dw/ED9JR1Y4hL8NslhHFe
dC0NFB8d57Z2VwYDWUYnDNHnl6yZpcJFItB80FMM6kAayBVJbWvD5iiMDbPWy4wazbK0mI3KmIzK
5bqf0S7TLt7/DN8uSYm9iPKhQunaSjP8WHbrjy027xkrRijvdImdrJykPgZKR+Mw5Gp1Jq83KQMQ
hUkFC8atzOWbh4bFUL1oRZrjjZT/skqSpkeG8iSqx1Z54hShwlLdkODUZv/s7/jqvq8nMox21Pu/
zALQErtf3r0huaefpZP0vPvsRjOzid8R9qw6e+in0i5rtjPm2b05+rHR6I2bvupTK2JdQ5WQ9cnq
YeTliJphfm6FlvVJ66BJdMVsAA/Y0APmCxHFPqrD9XTFp0gO5GX56I2a77IKb81QZk5sBTnpDK1X
badwczNHrnSO829FujQpjZox8EFvZXthorw5A2HCuswlIUvTZWfjO0coR4AncV8ci88g779FIJVY
bVJKOCMm/BYQSapRF6NeAB0TfDWyF58iJ9+N3v5Dd7veDQWgqjggS1N5TftUK7bk+GSAGZwSU4Nt
TCpBTdWg8U9Iqo9NcuIsOCFErq48+nxfh0pyJBbot3cRKHNIuP8H29/A3nK6HPT7I9+RtDela9Ex
B/8hNRnrC1J3QGI64pZp4v7vTYv2dPVQOtB7KngsKOIqIuBBmhe/dZ4hq1kesJM3Z4HuLRj9Iswx
ztvnR/5GkMDPcXeGE9CzFUveR//x8KCAsYrqhu1zQRY+kbzsKVo4wBDCWIDNngmZkI223FHccyKd
7kiAcFD3hD398KE5GVzamGrtJ+7LG78249pI0rCtUyhx4+1aRIWIfkZ4O+0JAzr+Hx67Nj0Ae7Lm
8qQzi6nFtOLPM+ods2nb5DZdRKmVEh/ooZMTZx7b8fTcZTh6o3RUM8/VSOROUoAmgijrw3azTTt7
ORVW6Lflkn4t5ktPtdQLVM4l/B3maEuMxhm8r7sKsOeVowDxCp9+pCc9Tn5nMxH++DeKw45u2Q5O
t5Xua9hM1JJtmYvCMLfq5PufYwIhRxPRz8aRxsTRT24znWxYThT9ohuJC6kOW+bVcDnPsvpvzEqB
HJvZqWWhdDLr05Aa1XR2Lnf9KXPBiLu+z1l3mm/TW++KeW3QjuAINorR25bumeF8Nztu7ktnjAsi
j6vNiZDf2qXRyrGMv1wK+ong+81n/kOti0OrAvh56ET2xCDe/36xgT3Qd7Cb0umXVufbtcFr8fp5
p7nj4oXptf1QYdRC/OpWgrvRLdRDT/2KfjN/ihv61WwY5znGeid3sxXZk+M2G3o28zbzxMJZ/3Gc
ravEBarspChWZ7mPkKejlP7cCSt/UujykJNTdQf6/Q5WeRKU5mWvmvbn/sKZHOBPWvWoPBUW1sVP
FswxGPfeiA7UsdwIpN1bm7pXQfevYV2ozMzw8roXMpz4UOFepm1uhvoyiI+UV1xRirY9g0lrDTIR
2lUIxD6NkwHK+5tFeBmEG3nIrcQ+dNoQk459XmuPmMEQ7uFWsIPydSHQX4aj5nknMWJDY9KZz/vj
PkwS8wvz7E3/ZPgu7/GlAMeYDSGWLXZB+5rQew9jtBBVo9cwwn4athApT5N9VFIhghGz+93Z3LCN
gNNhQe3J9ckOPZiBTPj5kPFE8jhif4Qk/+QhaCGxCqeX7wHxHUf6hgZNKh0B8maB95IbQTPcTLCq
/QjiXyLbE3f9GTmvpr+gKAjHM4Ife3TmV3ZdmCpHwb8SyhYzE8adPEdfFcXYodBuvgibuwP8AK6H
8NrJNHObbXnWjM8SrORYSY46WkulPCy6ykxJFowFxrfygDt7KQy313v65dTJKLvY996aCRsd2ymt
UwbGksRWVRKb3dBXEz+Cklsuhg/raZ686GsuAuLaqDcRqAJ0oPcY5j6z/VAGfNHlUzYI8zKdP5N1
KzjPGlN82xRcgzaYIMoRbdxUVvd5LcPPV9z5PWDDIdmXfEcvkn1YHDUqoFpQBJBQP41kdVanc7pU
5OSgBHcKzGBq0y2kw2QguoYidVCchJkOaDyH/tNJ3yAAvklU0B5QfNKyQZ48zUlGvm2s+CiKe6JE
KZI6amj3feL9ed9CdeyJQHa0Udu0fgYSdCNZ0tY98VVT0W5qywAxG0mQGKBuEJx8g+OS28Joi1eS
KdfKMiydGL791+hwj5ExI1xE13TI+8gwJg+Up+JgzanYJ9WdsrjKxBm81fsPT54nPMJIKquSqHPL
ael0o9kEclBbQLl5gxKi1/3QzVZulOnCj3ZQLj5lqq5H4ZKnJuug+o+ZbquIYqBvSmR+745w3nRW
0thi+FhQ5Eupw1uvaE0vTPlHbUVDQPyxyODJJ65Cx9hPkLl0k/GhlNk65CJSO8UPCYDjKL29Yj8V
1aXxhIyuZWLeNyJMsSmhUAGaqaRnauvMKCtGMnbbs6mWhsoH76amoD//u/zOriyLYlq/9WKQ0WDB
i6x1migbVULX/IZatC77jrp5Qb12B3NPLeFcgbhdJr6jyji0km9fJ85tyAUBGTO+3ZdbPFffsewJ
oK9Hhcu37GmRil0hUUM5B0KksMEh7IXsbLimdwYz5X9cRuyIxbDxQwzcl0piuiD3l/qZdzE1p46I
L9+Cbu9EjUBUTR6jhemfdI/Tg1x8TLcpuUvc3qvkWX+E9K8fvj40M3/e8jJnfuy+H9l/Pwp4Hp2v
fSuWrUdYDGeZUr+21w+Y8eHkSpa0hnvxXBLVOFGeRIY6G9Zo+X8RAdri7vMRCMtDQ9egVFu4PaW7
OadqQuP4D4MxfZAcG47H4PaDP5Tqy6ndRC/Bhtc+cTP6Z0d7f7YUCPgxcnm8VLXcqyw5jHrin7wm
sySdk2IBdV3dB7uoq/BrivCoF9WA9kPflAi48fT0PwNdqvi7rbPESaGaCMrvEqr9DMeT68naRVmo
0daH2gHHSvqSPfOAwuUsOUiMKVZC1ti+EICaCrwQOrzbRkkR2RyAacxjY5VGRlmKe+0J2/FjNlqv
JZgnPDNwY0zBiO9njNPpwNOYSnGe9kLdGYjtELz2pPSiJGZwQOlG0TaULQEniKfJB1s+DM6PnzBZ
PjLWpoh5rYI4/KzooFJGSduEWLfAJ6AbNNDjrMs60oaEjObQJ5ZCMbXK8N67ZUmJvyuHzIPZ3wkV
bpVZ6oNyWXIwWbpKXWCkp9EeFtTKTn3VylbuucXmJHbdomVrae4DdtZk3u90BcxgiO5GHg6yHfci
mJetsGiwI/c2HQWNHfqzw6lALfcCMeIqVUscaMtje0APFCCxxvtuom68LBipM8wRPdQbakleg/t4
WSgzKe224HpR094nTBVyI6J7msLSYtnuaLMF+hVDrHft904F2syeQj2gBMpBg3chVsx78xIOj4kq
5SHDpjI5nOSAwpQk7f/zRuwTAEQ3XN/A5qnfiIXios/y66vBdhCG0GDC9rAzLdBzE0RLa7uxirbv
/mLJL2weXlelsu7VKTJATDc7j/fnT3xf7qv81yfI5V6qYSD0xpE68mxtcljk3OC39jWPuQqhpERp
it+0r+vDCqEEAxqtrp8bVcP69yCupehIDfxrRMMzBQYv5oJTMEel8VM0z4Bo43vuXmX285/yifgr
+EhnQobJZmjq0ZTHlv0GV1hOvCYG3+Rp3ZCUJp6vZxV2pkS6YnDUJBFYrs6+MYH7+lKJmVmsCEh/
0XDuSQ4koTumHpo3RYOUi55mzZ9c3iti7rrecsZmh805GHFWhmXC6HaWkmyc5nRRKT3S1b7hU8hU
gk7osw1g+HPj1N1+aGx/c0a3rqsgjLJCDr9Z8MYCezMvtoTNNVV/li6AAlT/kuffjkTZLpdIIDyX
3S7JuYf4eEL43S1lCe5gFuhgGCIoEBUoDxOVwlpaj2r5GETd7kf7VOYnaq2EsPsTgrBvxT7GdKUI
vsQ7aYu9zWnzI0I37jovs/clwhi8lTY/Qfn8GmY0UHMLkdkpkp/luEkbv3waBcMlFngHDd1TRM/f
272ekKnPZlv6hBmbczP9d7+h8vVfzx346o7J1fOSb4d2KO5pe0BfF4b4QNtC0xCwnlAGY5hDECfa
bUXxw2OY4jOZ0V9/XgohWUNpZccE7oCN5nOG7w7tuyat7qzbZQgFseqJ97kC4nrvOs5/kyEM5r4z
MoTWhJLYrRAj28bccsPUrh9k+7ykE+FLRrJjpkbsmdQY/jBbLd8ntkr+FsadGiqyhJWe5YniuGyn
Ru2RMBg7PU1ZR1cmvd51C0qAEO0yOSeTddDjELSpEqp+9nzSPcovgvE2yupw0oDmgEFQOoWqD3dT
kZ0mhyMYvY52Mk3fWiuTK/HWT+S/mm5toA2/VEeBNxyKkehXd0hL3DpmSiscbwkSvKBLH85WvAee
Fv71+3vq2/d8znzgX3fjz7EK4nrdwWNXpIkOVrKCJuIHA2IwPV69L++WRw5abLPnsN6Jj5lidtwa
ap3wOPVHWTZSxmhasJT/Wu/m0YRYe7MxmgSWqwZYertxa7wQ9E/l0IIuN5kF47B3KKLTQem6SooQ
I79kuDlfMsp3/7JlOBfM1/zBY6CSvkxXVlR6KRI4zTt1PD1IV35SF0PsJD+tLGCaKg2dMGM+xSb6
p1EDouK70Q8v5CSM9/1ePgJbUsuo1QJsHUuzwNKwtUEKe5X2l/ZALIm176mtcZZs238cO2F9ORDL
TVqne0vW0X7/MjgCs/VWePpRlQGedlGAPsMOzjqVY8Pr7hHd/Opr8s7sqLWWR3PHz4QZ2qpFNxyT
HXvcRn65hHM9b92zOF18x1/zf9p7xyZdeKYNd2wba2bW2LZt27Zt27Zt29Ya27ZtXvt+9/4Xu54j
H/IplapO6kx3pTtpZKTxmpkuYSjUTyW3U1CrT26G4hetBxNu4LeAl1pRuo5FnYY72SG3UvDC9j/x
2k6BXMzE2uyuhCg9kiLdNTuEGIuZ7XA3j+E1IrpSZRFYua21S+Ofx+4uTTvwWjYxIqTZqMNlix7+
XIRZqb+mXAbACm9zlhl6bX/Ext+agmsoAV7ez9//lgL8Xy73NQEACnkqQDPlp3tcJk0OLX108XAx
zraCl2kiNwPowRP2CxzeIBSK8qSGkOIFngzjN0aIsA7jSV/EFUt720GUkjqQc8u0JSN/zBb6pREX
l0+nv4tHT3SVJTuSskrqEvb7n10vFRnwxsr1zTA8uDrkezwkh+OHMwQFIznBdyWDZcOwPWBG2eda
FT46ClUYUm6u7cL1ObUShlp9BK6fU+zvER4Qiq0hBPfjnBh7VgOVv3dpByCeoidDJAEc7hYmFPa2
9oZxtCqFKNoF3nVVK8WXG5T9oM5SPAQ0cuCntsqS74blC9ZHI40Aai9y8iiinkMZ2xg+txTmViAZ
Mfjt6G/HFupPO1tpqTr1wYisPvgwUMBJBIFwc4NSwmAI17KxWc7Y5Y86vMsx+De6ITDW2PoR87AZ
30vET5l32AKXvQxjChTDs4dcNMMIIBYtFhao94b16+7z5cnMX+OuLYz8xe9pZvlNV3Frb7yX7v+r
IHTLbPBdyq7Mf4ucUgv5cH5S/yNYtSJfq4f3hav3OosJj4zLtvWy6kmItTFT8OT8JNT2n93Wm/7t
jKW2G7iUK/lbf+IsaMZvtdD4tU9F90Dj4rs/8sKwZsT0kpSSZHNDHXMjzg7aXMZSTVO2gnBveEeo
fuo+Xqb/7BvKtKbxjAP083hs0H9L980IRZwqjjsYGPZ6YH9Kd53sR2hoXiV58jmTY6Q3Dxg/S2aI
m/wPiROnNf06wDdbab9uLWD32flw0Lga0D2GKvUIYVwEqKpnObmygJzh6B1SZFGhg4tMAl7/kgXo
KY8jRtjuiTrI3J5LsVUw/8VJCofgPZETFuIqEIJ/JgCrEbhgvLiCwknjKW73E/nqHUjEm9pDdjjf
SXE5gy1PdbkIzum5SUhe48HEW5KG0ewXKBlvXMNdxqhVW0Rw0hwXiOCELBOvwL9ByihnHFUnXW/M
uBCWBKQO+aCv6D5OkDxNkqNSaNoILcil+pT7hSVxXZUub+zRVnFn3Blo9NhVKbKEwkMmY4vwEQvp
rPVNsZHtiizv05MOD0CU9p8ASa+oKSG61j0ZM8L7UmKEGI0RoWLopm7sPnrBLI3DOSvBDvIoUE1X
tEEJyf1RhxO6OD85EFyVp331FYTIxoI7nocRZPkc/sfAqANH0e2S+LJPYkxJc127a+FCRw8x7MaL
R9PXQC3LsTUS6h8w549iCexiGY754kY27ZJKtzBsuyOXWKjhHNXPGF/D1h9E8fcfJQO+vwx7xaCg
adqTVOQrK4ffxuynVtHWLFEErKCaP8e/AbRlOJ7TPdaOo6UtGVbFhHYVXR2H8vHOfEp7LGsnygr1
4KPi4uH0TIhzj4WXddbmixC2UEkbUy0QFr1jmlyqcoqvESdG96Fy5p2vZFcjmiQAuZ3BdsR4BUCl
todLZgowHp462fwNwJK/3MztGIRMrPgt+QPWnsD7c2AKP9uV/hcEM5ZdKe93np8fqFRw5LADxK1u
OX9sCsfHIG7UHiyr+7WA/R38kp46ddLO01raSOO4c7tCfyTEoKhAymGSWMptEqxjhHhtOvkP/XBD
duV48IQLrO967Ra0Uw+mvXwg9yseVBUa5P3tbGneA35XLIYF7UWcNVPxZ9Onk7t8c76i6x7tWZZm
TIosX3J5wXXVv0h2j8u3FO7dlLGcukR9RFPcwMrB+1LjyEc1fobyijwF0+BG+s4mZO3RhwrPQGLS
HHb2ITFXESu4SYKGP0Gx8eDC6N+U6GjfuAjlIbMdS+n8lwyhm6sYAq1wIlH8caI2lMq6vvQtfJzT
jp3CNdaXHzIKwBO7C+VJ0DOv1F2YrsU5WPYRAZSONCbjWK0B3A4KnBxsVejFSr7wQk3i55XE4X8g
TiZulPbn75I1tlOHXwO5y6LmhWagCX7EZAlkDj1l7ijaztjj5OzQYdBh1uMK0GjsjCi5b8Q67xaw
3ygvq1ndvAKZD7+reJpfC0LeX/F8DPB5YSPMU+exjwrgRhaqDSOwQU/MBOwZhya3oifZ8tlmN6VS
gxPBAkEDjRVdOVpClqMuvJ5ps7XM1xWtI4Uyt7m0CbNGTJM9JsnVgZUXDCsQ9nxrGTAFA8eIDeJ0
mJEJuL2ei9QTnGuNtia1N5udBQ2bHPKdXRBw3EBij3MTVYR0wImtKroZ5I8agP6NUUWkUkXTnmuQ
at984T9cHMv5lhbZeE/OvaLg7t/pfac3BGN39rr8YzVsIylmhZPU1OmjaW9ZG2qVHBmv1LVfF4mI
Xt8VEWyMIe5m8a9nG0kwmWDgDavL62r9rs3XEPqHiLzmLtrjayPdFx965ZTtdbFpIyYiaD0fk46r
gRad3k1Udmca/HDYRc8q96KI2b9A5EYXrpMB82rb6xpnWUWnBZqqzzAKGqakfrydFOq46bNnxRJ+
VvtrsE7wfBl8ulEPrqBi0Bs4+BN5nhm6XY/LVKMWdqebZ/a3sa7S8ESVI918q+zX77DbgQAWFRTt
hcgT7PovZ2FqF42BMUth3BOzNAwjXbn7Iww0sPnETpji1mgDQSjM6XM3Z+9k7gjO8eUCFJLZP6nd
QcZl6r/yj4VHjKw/ODr3fWZfagW6B0k1QtVEI7oC5adcDbhcVFsVT/DG37vLfu+/9xSFGNQk1ph3
2uW1XZNcfrt/qGBUUxSi1934DJcU5Lxr32Z2GxTvVhk/1KuRlPaN3epJWmwVOKqCncEyO9lE6/Sc
7v+JSCsOkMbZHCtYBQ4PFkfVih1p3+5zlc8MZcG+TV2cKaEiKxw61lwEuWRQk5anbKWruJxZ2kS1
sFaoV5otUxVKnTDUKk6szaNZmhPNTA++2bZJQqTWRydkGZqhe+4yprCTV0o4tnNOaDw65Y+w8dB3
S176ZTuGf2wnQ/XvW0W3MnWKdwpQpe8WtFm1/sW4WmCfLDfBcAWA3w3MG3Jv8rOTn8icF6kFD0u9
Z5dJTGeS0IG4Rrwg7dMPF+o8FZpY8oR/qsDp2sGTsg7C7The1jqA9NdQ0orKFGcA5lae+UU/+U9l
jkUfoT77gy8fBqtjfu/eNwBninlohtDtvAdAy2TTgWlewVz97Ya7XRytjhX+w73UkrZ1fZimY2cp
Yv7dASPnfgTsu8zkK4l3yFxm6gtc03NlOQnjoKSy77u5ZHAOwuIUCQsr/YgnjifR2CjVQbkMwnSc
Likj+cY9zkPCTG/ZIawstJSU40h7ctecAfbiIojC0UJMZPxv8/VW5PRJT7k21Wle1w8b8kHcrnPE
7t0TSoznw4kSlXkNq7O2VRy9DKGisxnGq2s57SOuX5RPNkX09A3CaVKcBiqIekNyxUvXOKmXdrTY
9ldOsG450M527sKIUOhrOGVyQWLlSzvp+tYRZeOiWOzWDIOpP1BlKRrLqFrVl5sPS6GRxKJQ68VD
J3FtrLbhBGFW9lA5DSkDgJ85QNCoYrsEDSwUHBq+WP50hunGM4SyqlxkPTDMnnHd+tna8lOGKDiL
wwjVn7XzjuXCvEJUmBtyfTZzYivNBWv4BO97ZPNarVaH2eVPKO4fyoeK0A4HlJjx5WBfTkROHli+
5a8b3Q7DNnji+KRqJxtpBrQ4bjR26Sjgx8VVRgcPpAPuCLiJe7wKgd2dNSyF+MxNotqXtkXhcXcV
yMnCB7nK2+EGK5X/9stHEc8fNi5Me23zYUPPK0KEQC7l1mXGjE8/Gtwi6W/LIFJ2IVUJMV4mgR2T
teIJLWkkLt0ybO/cRnrqTYqsnORUlrHK03/Ccgy4iojlT7IeMMJ/I02CKoP74O0jbacED5GJZnN3
1bOzR9TIitXcESvs09yRx/3t2LpZDbhYqcqo5q89PY5B5jAYuoLV3PXl/zN8Ai90frfRLvrlcC10
KmgHYV5pMtN2CJQx45TnAahrEPZLhLz+1GzjUOi+IV8LtW2KQqEm2B87B3bsVMkepL9j5mnCNO+Y
6w9D8OoX6PIuLk69W0F5Pb8G5CWyWacH9d3QakRdoqSIgjbuUko5I4Dx3X7W9kQd2KJ7br9RJ0dv
dgFgcD2XC7HsG/hEC9YdEsGnRdt4MWGSqiQBtmoq6UzVgvO0PgcfVEby2WHPzIcjz4cNZPNw95B8
t+kpvxP+B3rORGrmqzAQaKkULTfYvA1aNdW6nlqddh1MG+dgDsO0wmC4t1uhUNMJCX0EaZwBUrwz
wCQW/2uyb3CUGCKCJNOK9vIfV8lpMTbntLxJRTu2SfCgl2ni+TLKfHYSTfXLSbaVMOPURbNTmQII
qscghMiNol8u45ItmiwWNQaGXsuj2ASCw0gRgBoPLBdKehrRHDP9blxKT8JRSSMISeD0kfpjUj89
/nfQeIubegqS45/QRM9njA6Iq6YBownQqodbP+SaP+FfDwWZ2AtMFa8fNxlhzT3Qc6dHsXdBNmW6
lnNMXA98r9Ej18Sb1H+WmLhfjnfdLmefBYZbcVN8+45Pj2mt2sokHHadmJFC9OR5A7EAufLloFH3
s9hju5YjGNZ7VxXR4ke7YnaJx7xx3OPp3lgvPEeeV43mf2va2oHn8ojMB5MlpQWl8iWhlv4WgvxO
2WEExbA5YX465EEA2+QHxK2z7SOEj5OjgTqnVDlJmqHxoAD7nigmT6dD8tnU1A7+Kt9L2LwgUMNC
f4K+uPR0goQ/ICGusRdySoPGi/il93ddXko+M70lMr7VBxirJODoTJnIs81+vMcGklM8lJn9VWML
MJaKDTvB+TqvJt65pHyrz9OjfATHvULM5/n2eXoYnnuyb1HSAiSSoWN15zp83zH+yTQhfgtEZXOU
JD/AS8HaxSenoaChMQ9me+4fDBprARBGMmwT3C2lj9+QaiZfVhmPP+JjLd3EWFAOPqthqBSLTDsW
atXeY4ix9B+NhZSqdG01O6z4JeLCMYmOruMMSKO6lniNqVIhq1HSTpZQPCT5WGzuKWgjbI/BuLSi
F3XD5NbHiAoJc+IgyHN9DS8FJw/Opn+moQZDuDrFzqqDK4d94hsmZrQyxwU0r5pgJLfB+7X3uncx
rysGsWtJyOQhJVcguFX0SHjYoHz6kOFSZxb8UOfsqGOJniX+TYCaDyO4yFTc641XjuY1lbBrauz9
muAtQv2cVHKRlqIVZBfv3BoN9QcKa8vFvzGbUNEr85jKMbBVbAnA1iCbcFnSXVGskPoQeBMmgNps
NxAbzSChaSmrQi19BhORk41JHQRacfLwaOLmOb+zTBk6giKRhIpLEk8LRpMvseNp8sxp6RyUg4Od
5TjFhRw3B3y+VNe6jiNceOe2M5EkyqPUkUUdSZfpKHGUCyowkJx+1fKyoAoS6TPDWXckqADFU40L
vZE6EAx82Edo9d+6ds8BtN9GQb1h/GpXFxj1x4AfLCKeW9iu0u2Syb8/ywnWZNmeQUj1Uvzpv0aa
coTwXZ4nm9xNrv/wsjbHONIUsu+U7CJumpt/6TH6LxzumS5Ue/bsbnVh1lFucDooIs7m5J4W0Vrt
2ManmYyc7HwWUBn9lMpYMjItNR7s7zlksoizk+P7PpktB/n/nnltOnHP7U1b/dn5V4CJ/PZGRLe8
Y7rjkrTnNePHaN+X7Z+TqX2qT1u7Y1/XO0OFaTkBqX1eSg/PPw2+yyPYGZmnjXxnKF+tHpVoyIgq
01GvFWC5UDfpd9oGTIwicWyNaiFD1qIBM2QXW6kclxpyTdbpUEMWYFExyjJta+hQ0AgyEqaC+ziB
It1qegcBjRS9Na8eMc3Hgt6ul4n68w/sSYIauV7u1fqCA4W6IeP5T2QSGvvaGpdbwsd6Q0BctjIT
Fv71T585HZPiE7e45aIUJrT9uYATbFWzXv23xsY/sdYYTxzPri4EqqRY9ByiqkXN7KEZsshjUrP2
Y+QYT6bQIVHeSR8ODjQH3E45med/3NC+piqX0/s1a0Lqz6g8ZUSdVrTUiHuRFxTX3fZhzs2kj8Tk
odETmZpVoSVw8X6ZMb7PKVe2ue23B+3/ANRT/mynPIqXAtueVywK7Sf+Xo/3jhsAa2Nf55tkwBrk
h+ps+M7r4UWHs2c3zvbg9PTbIbtVoDkCOIGgZfdL61edbTvIV6VM1OuRDa2gV9BoZKWm+0SoDBd+
YpnINscLOcuC6tVyMLNu8NnBWFYIZMI9LM5g2G9xBl7TCkSeTGWHSZLZyXlGrVj5kwRzP/Ei1Abz
mP6lkDMK1GpaM7pC9Upj0wIVGhAVGCb7cpj2nobKHzvFRv5c4TPaItXTRhXmgFHXs6gP012i9umk
l9PJ4QV+VAoUfVJl/Be2nZeXODgNjZ+ijOFSjZfa+9zad4g5PHjbJcvgpZVukm7NMzufVp33f+1b
5uXi0VK8xcHS7MZkoyQ/2KWKexkqK2lbfn2vH5tDj4t7dvk3/Fv8nuN6riWeEsUli2+Y1tbRX3w4
z2+vV961VyVkH76/1B3tlBM5I42OX8nsXG2UnGri4xQrJSDItYsaSaU5B73RE+esHpif4eHmw8U7
5t2QDoJHIpQEYCBchLuq4HmV+EHKIpX4ua1Z2tqmL2MCdivie8c7tBHgXcaqCdleGn3BuMprc+4P
M/fvDm8l/e5t3c5Xv2fh/06j3TP1a/5x3NTU1tZyt798uHDwDKJ5u58zpqocuzKmXQA1b+60QuoO
GGDf69/hz5BydqF/c6IqSc+Gql4ZgyeVcu1c7fXOBUy7e1JVdrSO27fPfXJ/dUPCtlfxDclcIe4t
VoMrmi0MKa2X9U0IqsF3l7GOsZ2msi0vui6z2OcNGgI6XmP8aJgbTFku3fv6f272Dc5svO3dHRya
9gt+n5knpIxomCOPBl8XCjBS+bMiz8Oi5w7Fw5U71YoQRPDkdvAp84fnk5RL640aepBrcUTn2SN9
n5Dsa1L1i22wgaQzUW8LANYNud3qYT2agL1tn8djQ1HA3n/dAvkPQPj7tgJArzpszyj1OwIBxD1d
lLbEbFqjbrBWbjiN+uJa6RCkaFKrqQv7ckrGgyjwr4p+/epNkERZsPTjN/BhIGGeZlnw8nNTbI9V
TpPWAwh1cElDSOIwA8ZDwelNrzFsIW4GLHqeu5MNNAhSxfJNl9p78rY+A5AK/gXkw3XUOPLlw71s
7CRHePCXwup9xj7FS58l1OVMagJXMz/UwuqkCf5Rqm3h/+S/xNF64G+WChgw7pZ8rLEWrhERia11
dEDd88cNG5ANcDpdrJnM/Xlncav0mWjirSViWlFQ+bNoSAHaMAqYu1BymbICdmqbtm2dCp94drni
YHVgwJyqdrPnqTPx2wwiFyZULqZ+1hwCpm8ZR4liW7RU4VmhU5nqa9xLxVv053JsVtHOTv0DGwRr
u5KiRPEj+n4ng8DMYkh+bOW4cFZlCoSOZKNPwQLJPmreYTJ9apklS/uu81ngE0g9F9cZD9R76bRW
PgzZC9BczSp3/2VoJhft/mEY4nXfpF679vNyE66qRjOtx6yui5ltm04h4MAlFwOC0NFAkY3kRnLV
ZVMOdgfdphoTPaNB9Xr/YxP2xbVR+vm2ioAgaBPX7u0tCrSFI0tU6EUNNiObl1XDmWV9gxfHhhps
b/TUki/9kGF5WIXXxskDSE598LgW876AByjEk4OHj3MLlw83rwr1pKaG4xYxR3TGPaS2fViqs5ub
tZuPfBxzNjf22nHSoSXDh5vmJzfIHAht+TNrNbS941PLll1X+6SnTv1L7u3ZVHBB75m1jwaOBjUX
k1WgSBEsPuq1qP6h9FOHeiGUL6WqpyLVqxynEEdHs6H4YFeguKoObtPt8CLVBJ841H9qxJKbLx1O
mWxfH/qlLPGHRiq0RE472CCKlNwmDFEpn1QH6/vXa56fk3fo1s8liRK+csm5Sfm4hzJpNja8txPX
oYY/V4xEksKrFfuNb4rQ9ryrrpXnJLD+1zTg8cmZhjiszBnzcyHVd5nxpCqgLyqzY3GsnTJrWKkG
NRBzHD/SBaa/8aXkCUQqhBK8YPfgpv6wl0S2zLOQHbRH4Qv4a5AKM8P4kWny0KS9PV9wwBQknj//
svpK2sn0G17x28BPgBnWF2AgvjeubJjCAWpuMsmXBd1lBmcnodcJzK2epMkSJE1V0ae/5/E8Ora5
icPCvuZzJCbwl6QejmNLpFZGIhIlXMbQkZvTGx4kFwHKi65CxFzjKpiKMdbUqLyz89fiqRGlDr1e
Q7/7E+WHgERn8S8DNGarTJqNXUA5Wq2E95gw85OCf1LjKHJ0EnIIDGXIMh+hh2/iAPunG2h0jrDA
SMjQ3deXN9klsnW6hDwtGrd5XqDZXWpB50WV4SKkdb75bbYay7cMSB5/jNOQw1kEedjClSF8/6+X
/ZuBQ1t3M7vCup6xClu2c026wxrieeTG2rZDai1aj9qUoZRMoFe839+ZBDLl2/ZUm9XVil7XAeJN
CFKibP88Z2Q7X1kQSe3OQ0vQyfb9cZ1BsfpI2mx8ccA655CSdz1Z5W7qirpbHO809QcEzmS4HRUI
jud2uSx47UkWv5b+ZiKPOwOiXoqLXJ3RZc+6k4ReXOtXlbOn54bijwuThN9GW73H05AgheTqyxJD
mv1av9Ud2hrYWlc6+235RArsK6Su6cNo2pMKMiTwLOg3kzXVufR601CztU9mdodvh6lVjy2s29R3
O7xXfvuzvxZ2i4iOKpMkekA50T5jbFZQn412VmNr4yoV+9/0qkhqiods2rVyL82UhNNvjU5exd7A
AkkqIqQ6GYkkqVqSDmDyPhsYJ80wOf3Ca+4BQMEh55pOwpTYibNv5/vMxMSBwA9sRMjkLIxT58ky
fJyO3cKljh22oowJZ2Q6NpGrqjPvwPX8iXrjzJChVqAw/jlNfddnQ+Eq210Cwq1gfWnZoqMLUs++
8SgqWC7SgXGliJ8ekCdn6cRywlCQXoRlFEOzoPIFN9ZgQELn7cE67YBHD0R9wYeEGc0RsI1EAnCp
I2zbsy3TLk+wOInrQYi8S/lms5yhneGPmkuXpoWdTc0Exogg1RQOmxON7BS8NZv6fP4ESMImtbHy
sQjVe9r0pgRc5c4l2vVQqicwEZHMy9CmScZItT0vhy+uXufb6oEFRhJz+V9pZdqycOsIJmCjQBBL
1LAKbAae94/DanfzqFGDoMjTo1Y1ewT9swrVnYcft69A4ynTcBEyFRfdUUpuTOT+mK5L3FNc6zxK
tvPjsx9F6zpUtzy8/tra2NZW/JEgUcmlToGel/oUCiuEQUnWk1+UM3HXG6I4VvbHXVkCDOQbFDPf
tkaI1bSepDoZHyoRPqhj3Q9sFgtNHr+riDOY7Ctk3+Kg82g3y94uaSbLYaw2lmbXFLqTlkIzcaNB
1NuHggY85JckurgVxpaf8c5aB7IgkQnNIg65uUYMm/IbC+DbmA85edgVqQHnzbheZBevMaaFWe1M
8XB7uCl177WqJqvM/bxsCyzt1w5Ou69paZeEaQ1rBDBritwL7BamSV4/Pb8no4/et3lbSDIW4BzU
9ZXMPc8XSN9RFHDSrXfop2wLB6myUFsq+4VmwTbh9fCdcv1JOq1ZrqPqOJD5n1IXvw0R5wRGw04P
znUV+q2/E5w7Tjlq1fCS1QM9Lyjn4EZ9bOTbTSUWzAKJVJg7zyJNsn7ZG1jMx/Uv/u4/taKok96V
+dNPrZhzKzp6KmdMdQg7HefpHgZ9ylc4LiDa2EcMTC9d1u+GSykVRmdITDUSn6QJ+0oP0TU81GlQ
JWPu6l9Q2tmBi9VwErrlxFCEJOpSRwVBYvihAfIaLkFAfMy1fMxN3SBs2u5rreHwYCPdCWLhCta3
pYerqu74GSes1RxkSUVU0Xe5eX5XWMndS8qQDTfHxk5easB+di17mLbjWAGYfgpcenEpgUnYmQr3
eJ9Uisd/HTbjClCL3Z8qCMC+lXwDQpR7k1k4WUyIvCOLqYXHC/3mki7+ktBQ+F9AcR1hPktYu5N7
ONlCZv3db+YtpubqpV9dPYWYO2vFK2///djU6r53yu+ZLCz4VA5sVnB28hLtrdb9aAByN2iXkC+A
0yPIODiUW91s3UsZ630tS1Tc1v+bPsOVeUYqSqPc0x1bsfK5iCIXe1n2XMC4n7KC56ZHwqtHxfJA
ycxMjz4Xff5uZI2w07dMkJrQdNoMbnCmcDa6mgOkyHCXMvudwyr2pQ0Sb3C/s3/+ZhDCREuhJrCZ
AHPZDMYAnkr0x8J7IHUpRrwpQEyyAAoiGmXwZ7lYoGZnPDd/2UjEu1F1pGVLa9VgF7Y2ca69B/5L
z6aWdq0iIs45lgUmb1fsLIFO7SHBCMcW7gCKkucfjbXZcJPui7bcGAibznTpJwxTOtkoABRHFk4y
XZIb49sHe7ZcQILUkbJx8MM0k4z+dLxK8EXFoIuJ9LcyXexaEmVwzFKodMnvt4jV/OrvJzPakJa2
NnikjVwXcV1JJOMJC16P9wLflNzXOHvtonQvyvt3JypTq/GValCjQTtGvQRueerNYJn1Hd3DICke
8VMTSEgSyxOubHlt+bpzDfKrt4+GoZ3Wzo4YkmraoUbh+gWnaeO6JXdXWOx9P8L7SQGcsj7NS2I5
j/Jjo45IXe4TC1QcL/4Sp17qnhxln06HGmXLrH3HH9/RFbpbvztx8r77FvSBlzISBW8RXdsgR6/Z
h7HicTnHNh2yuj4BZ1uAXRQoxfYgljsGvUE0xp4O6Zz9gNzrYa9d0MEF+7VQabhotoKedF1JO7xy
7zCpqHNmtFZC9sykpIgUrLS2ATZLTDL1elAErs4tmIsYaEMl/dZAESU6zYTtKd0z4aEiZDaGAZ0h
cTglOhoPyhRRONPuWxuCPLDJv9ZICGVYJkpl1LA5m86/kqgy9wWhFFSFSwth8GSuGEPT8vzZH6+v
zCGOMhx/lhgToYn/SIA8oz+gMW/pgObrTOT4ckpPT19wZqZxvhE+gV6SqW06RknYaW3DOEErGB/q
eiijiLL8i49FYWx+2OeSLjeHacwoNrZDoB4n74/M4WYncz2wPSuT0rbj4uja88uSsUxhiCfRybHA
6zuWcX9CnuruSj3kHNMtsacqUKcw+4GeJpl/vLFKi7/oNBb7MKr+Fh1uEhM07oHuKzFeVttqswyk
LWIZKIo83NaqRWfxy7ubjlZTlGjVn4Muc1fwjK7qDg2vunl6wYwWkaVHr6ODXEFjsTMV7FQoUXLg
PAFOJSl4HRJfu38Ej6cOeFJzkBw869LDSo1Usk+0YqnkdmStPJ9XLwvrbVts1VkvNxJqbrLE1lBR
chV9l4bhFr6vxEQSPEgStZKQGqk9zkqszGDEXbExOW6iwK3qW/ZUHIpfhD8Fw2N5A7yXvZR+tDWo
wPbX2hlYei70jsC8YT7DyIQCzBYuRNpi0y1wZ0GZEp3/5mN++QJrm7m4J5jYi+PQHqQJWBm2B43a
is/NVekreB+5NFupY8kpSihTv54U6TmXzkk4IupegZhBq4x3ZDxAmXI9KwzHkxOiSAojuFKX+xIb
Nt+9Ipd8Bn3oiWvPCkWtlSljZONLxwAzajN6icZsZ5AsxSRy6wlonKuNF9ZCZE12v0/wXLln6H8B
R+3QcJ252sMXK6BNC3+qIttUJ6kFZnlO55+kTFuj3zgV9uAmXqqxSbgJ3y79HRde0dwgM6exIemy
CkPnHabBnaUa0QxVwhs9o9dSZfXXJOmZwtpigL6Ki1xzm4yLG3mLPv/8N4P16kQXnzXOzL8XmtN6
BSzhNO5b4RJze7gBNj7dPi2cLdiIiIwhvq8SbhUBhOBx9RGdY2jlskRgxA+zYB6jZ+ZvUFc1qb+R
yADfytvYULueWI3B8ZjtnsnFRrPIx9rY1sC8utSBZ9gSZLlPWNVgoSStTTpIxzJpcNeFaCzY0OGw
zY5Qh9ZrDQv1tF7r7hkqotB17DDjhWFhIwbOPB9naKi8beHbquDRfT15XuewUk5zDx7bVJqxadqQ
i7k9X7WZeINl75OHyefzMBbn3GuWoXsmeLD1hfXk5fkvjvDTrfUWk6MoAJyWzBW1heP628muyGPf
Q2Alk7q7mdbaute0x0gJv/7yWhY6l3mu+Y8ordhbDltKmM2D93WRxqcHPG0BCdQLybWu05+E45xo
hmrtMyM5Lt1gokLkyKTpg5kAkXQDP7848MTWgXn4DJmuZXNJ9fB6c1sT2B7KF7rp2C63FDVii+wY
qgTJotSNAwbxDj/iG9TyI3VW9PnIk/mLWdqOfVyHmXBr/XOVTxpglHMDN1sJlnSG9ruUweAsYdu1
6+kOBgwW6ipdCKx4GJyDbZy3y7X2niazNS05bEgYb4t2fCrQSTZApHYEwN4K8RfD5MFHSr2ZrryU
WrCkX3pLzN/WNkm7PwUQYxZEmxJNo4dpD9n8q9WaBDXUXe1RmKltWexEbblquDW4r/wE9mO29YR5
rAlW+YGAZ7AVB//IIv/2eWko2it+v6c4OKv545uOoQP+kopSH+F39xE/+63LQ2VSVjz8++C4JYnm
BktUF+P3ezqazbUBZW5bb4vG+w/zCwKPyPR3E4PO0I1Zu1XQXDiznZPeklptPFIqy0TRGdup4pZ2
w7u6VaMH5fVwYKj5rLTVwFaJNrjXPkc9aW9bitqpJpbA1MzkwzARr7UwzPDCMG1DzbPbyQ9zrtNS
xst9fSImFJ29kZeSwKIZuRMlfULPqu4FtyHJucrpMqnGgs+LdQqM+ldBYRwRxU6Bz5zTLjFtVDry
zgue2qXFaQ30tQ+yra3gdiy8pfAW59l2VJc2DXNVIz/5jNFTMfr5ZIFe75aIfQMbH66pxkiM79/a
zpFhTUfnUpVY6C4OwBMxFMh+AtDycTxhRvrrbPvzcFr+Pof4UD1RyosJqiVpT0bKLnno4jlQ+/XN
qubELqe9eWLv/63MCG4sO23a6Ddd//jge8L22DMPjU4Y3eAyPbHriB+WCdZETLrGZ6OJXSHENhwi
TLmIFChHeX6U/4HEEBmmM8gQ3RTZwpxIKhAUoB+EUtcPJs2gVhi5i3gzFtX2Nsn2ffplH7/Amj7O
AjJhSPNeehj4booPDwNT5X0X7Y/IGU+NjasRo6zO7P8FFk4zBhvFSybLSqUr8RIhkiwDNWndpDq/
YiMIQTgHZ3CJNFv6RpHwz1uaSUcvLZ8L6VOPSXxXBMPqEcEa3CGSJgF3inSkF3lhf+xPUmkq8476
kwRdYr5VZE+irMnc2f43SmSMszPRhNqN9cRUJskdAflK2Q+cwqPbsnbZ9+Ye+6NKchBNEsBF8dqb
EuCT/d3+YOFcrAXw/Fkg/7gL/rY65m9+Ub2Y48GwTGlIMAI+tHJLiPhyqXt/UiwUhEdeNNirjHtK
EfETEIWoHuq/4xG9sXbBKkGlPcQolzjUOHXeImQ5XmCUxZCrKQ50NQpRI2vCvMhwO06VsXiXe9Lv
2v45DHT12QCaV18Zj/wLnZvBUAwmHYvvCBfGNYp4m2P/1OY3pcmOiq+gKLNYVUl/asfEffzQwB25
BAI9S9sE2oKBrrfw5HxJysuxP76b8vnk0q8go30nJk7oNI5KY5jXmLaX09zsZqWnNN1mpuQhxixf
cVSo7ULPl36i1ruR1f07v0MT5694OVP/1e1tPhzcvBO8k9w8uLDgIFgkcASp6hF5rTKTIw7tq0r5
EOW0XGjAjDEPjScRfz60wqs7WWyEGjmRAU5jqKIWG9W374iYx/3T25tE+fh6rbXCrPyNrmw9E3EO
YbPNSui9o9StzWxHe2k6WXpbYJOtWTWVTxT6xv2D8QBY958y2WPt134HJM/EkqP/As4PiuU/+vn+
3Y0TdFfH/k44mh8tGLO0/HHyD5dMPNxZU54mo90RO6qkpf1XQhcfyEmL4J5nxAUGZ8bKlskIz4FR
Ks8hoyEELaYXsxz4kATkI6jBYnUPFe1APZMDEwG+Bt1AGEs2olb4OB9NR4g55g3fe5chHpAP2ojC
lVAySBzfFTs2oaIeuWZGNMVm7A+njDOiAhQ723lfEVJWgjb7rHxB5pigWwwjVTIbURsHqIJnhp2o
XoqYhoJNGTGo4yE0UdzjG653VLT4h8IK3tPGIpx2v4Jhs89uyVJKIlGmHr5NMJ1RvrpBZntrbG9R
ZcHSByjzB+EO7t0pDy7+nTC4e7u3cXCCgxRuvebaGjt5nvSAt34jeDZPs2GS9YK/hptKIiUpPLME
gi4WWus5Xgj5OmIjs1eiMsIFw47XROmzuVJqsm2VR8XPhVS3ZVBnDewDn3LBzaahKuJ6iZygSrVN
2jTk+PSDyqiDKiY/uO++YTuVuBihiYqRzxNCK27ILMR3yDfyQ8vearzv8febJUrT6UyVvajdMrKa
SAnzkuhC69aqPFR7WX3ZqrFKFZPCgtzudjAU/ykk7o9sI6VwFGCX9BACyd4DD97p/KcUjtTKOKZV
uVEyx7sxA6vrLknEjs97uX7hIsS2kCQnXrKQ8QTL/vzCChgrFp+H+5AZ56jMXbqszoLt8+8Blm1e
htkwGQLPnMdYvRd+fktKAQsA19IdARfknTTjElF66AC1xboiJWJ9sXCQbiIxxLBdvu4fAT17+Nf+
VU2/9xBCtY3bLHFWmS61MFLFmYGn5z4Tyl6KZfZPFJck14XkqVKchSsN+Uz6Hg3jrHVkZSJQUiqk
PrDxPAdGaw0N5Ta5miYUoQ04c6yxQElJhhS0OzLpgBJZi08BCwMl5QkkdCqqYD2Tj5unFWxSR/BQ
NPGCj3tDQwKC7dl05T8ndvocCdtlvm4gQgtnxkYOuAS9CnY5C6d654NJLAoaE4Wxqh1Q8k/Tvvpd
su5s+gqukd+t4IKZHvjmGWg1dRI4fITxEjI0XOzY8fo4pzPp8TX2p8kHqrFZsjH58ss1Rwj2D73n
ScBW19G5bWnV431zefR4fmqHlh1IqF9apqDpEYPvylsQqYrKlAItp3zIfKcI0kln2i5Nnr0j1JRs
5/whQnMd/QB6cwYETdHe0YPnFGuDANcnkhsZi5IU/o1FIl+2j6EjlewfBxOh5vZooOPqNR0G4K1H
bhsPk/jfq04QwVQ3DKer01L69i6AcrMDqSgRaqLXBHfNyZ+IE/Wnfyw/HKvKhQ7uKx10PLem2ANE
dcNkEQgIzcQ0zfiYUWA8RfMy7410NNXhJmc98ifLgdNnUNFS9Bm21aaqb1+btwquv6/aulZ666dd
0Kf1a5iyd7w3BzcrwBfHGtEE9pIZMCAymWyY+jRkM6G/6cXTnsHuZNNiXp5TkdmrJ5L/91ObDbeu
XZsnuX3/EX+r1o/7k7YJgHHj+W4UwiX652whmdx65St/Ztw6/5qf4FDdmdOofdfjKLWaIdudDe22
w+Gng0K157fsNMxkgwrhzoXet70azXeLMWZiKoXNxfAdj/kUff1sIeSOJ/Rm+6UdeDVjETnnCqnQ
xmlFlFm/63JqaROFl1RjdedFTYNNVJ6XBmV8Cj565GGmWCkhDQct8uiT8YAJv7DSEtCe6tqCURGH
3OAw37qzTo+5zJkFWjLmw1zQ4daC/ZcKBEWWC/8Ms8YPnlnic8n2u8nslqxMB/I5a2JLACrbsXpf
E8H/iwDQnMD0CvwZ7sooHDB71wdSjoKKM7x0MMEusGgCQ/hW6Za1VCaYK7uOJS0Lh5eJhCFJO+/F
IgWGEFzetbz38ICUZfbCYId5RRhufPm1PJd7m6UqL+iSO+Y4o95dqdsGFwCvS0uv6VuZafrXMks5
rKz3le48leWDIpJBDStenAneOXrJAHBhYG7e4HylgkyFE4oCHb6Z4fW9xdsytkBvKCWCpUDZbZki
ZY28mqtJrWD5sDJ0pbtT++A4vePZemT4tDV41/4W9mPvih14dq4B+Lm3OBOFxVfRDYiuzlQP7vKk
fOj2SmoooFtCub+EHpZyfLEBXfeE0YsUM9n5PCIdu4u3x+7h13M6/u2wW19xTL/IbK2lx6/4MQLG
mwLa5hiDk8CDX9Kwn35rmCkWuQdCAEVZmLSojQWMpbYSZKbSIrZDHYwhYxZsD5C+arZw1zRpYTDm
MW964Zf0TWjYhCae3NifGmPHgNegH5xzPCN8kvasCDynSwNpRPhwvyaVNSlsnMzMPE3zacfw9H/8
jsA4APHr7EoE+3foCLjnm6XAHnk2zWZJoMMvzExs2b93sOp3bb0m+ZansRJwuLUWtKjfWGAOUML3
FijitGyvUiJixQtku0cRFaT3XltsNELGea5duaWj9e72XNBSavV6PtFjfI4lt76Qj+Jfv0kdjvkk
2+9yuMI8Cv3QS/ZGy03/zI54q5Peq/3cGaoCvJsaXy9+AcHfVeEytl+Eb/meorALUZ1J3z2QHoF2
UtrmrmxGt9IDZfesZL23eWIZpjj1K/1SZUGTlIj3GGyyFS7oIr7VXAgacMC841vW3q0YzntAQkDx
3y+tlGFQ1JWSkVpzCPKFlco3CQKPY1F9BsV8/1RkKKDwwXhkTaZW5NzyTn2A0cmwg99ljOjn2lrB
KCjIrpoIifyMReWjYj5iQAIps2VmSFk9SNjUY2SEREL20wdVxb14yvhsYPF/wuIb/4mTvKg+cyZG
dkuw052aVy0kRp85yKHXiXGtp8P2NFM33Fbhqv/MjmZ4pIbYOPfl81Q48wAiyEJ/ibR6+Rt4P2xj
lj0NGv4gj5yiI1AkQo+sciMQ3bQFjS5JxEgUk7wjJGTwDr9P4vO427ghVYGq32d+LvPkKzKOmaNm
cdg6gNCkgsbhBzwd2qb/UkYvJ350uAuUHRFUlOsCcyt40wBhxHzREWPyFJRVWABzYgK1dbsPK83Z
TmaQ7LLsAQlD8z2OttcNjzG30VCeTA/00WOI693U1Q9W/eqXSjSNE9OjB4ntprrafmZFM64mJFNO
zpxZ3uPype0xlFLrZ0oBruAZTFFP92ypgFPi5aXyxkX7DzY/kXg19hoY8YwPde+fnEHn+Gi7mYRj
uZmXO1jodwMuG/7GkzG++yjET36GT+yLGKXf/J2qLfR31fun4GBFOwii2xAvspsSVfcyYIziQ4Ya
k5I2H8PxjxI+CIOJFWPmPZQu6IB08A9Nbihth1OhPb0Ao6j2+GdeMGGWxrEUTj/v8JTx7RywTRHs
n5dC2OGD3/aMsSbjdwcg3X2ivKSIT2zgV4Z7oKUIigvexwsehSAQITKulj6wNCDfUpJwVtuQSA+R
1vAeWDG1ixFlUnLirTPVemNwVFibwnkhMC6Ysc7HoHhQN7leavoBH1+xXSCnvHMjGmekSsff5lZy
h58ZJezm3HKxkl/DUZiY7Dkq/xP+I109fw/X08+hiVoDEfu2Wzu7rnhMNS5I3WAlxdazOEuVCTpg
gRGTWXCdg1KxiCxMq1JrfHcu7JmtrlT8WXa64qO0OvXDw127i9Fa+7LjzU12VEGezchKg+36kmE6
p+fOtjJ86RlcIHo574Y+jNUeGMt/o6qIbOyvG9vWNWZqsAts3t8O+TsnRC56AFjPEZS6ljU66AqJ
mIEa1JfeVCoP7e+102Sp77Wxz6PYF/nPvfD3lW3ACRQD5l9Vj9COB148ec7+ARiEzqKOztcScxBW
wkKS7SZLyobYFoSyMfF7ZmiaywSOMGl4Wctw74ysZY+0rdOPjTPkkcqIzhKuYYn+gIoG3xZQxic6
kpJGHMWD3DotWlcEMxRddAE21ygLaQ4T2DFLkIoVQlqzokYj8tC4/pJ5LM5IR8kVK8pkzaKTITQu
CjGLl8WOdpdUHCuM06Qh0kEt3U1hlrHsqIFQ0Fvl5MZNHypUJ3Aaq5oBZsFZSZGuUlYFrmjYrU+Y
wuDWfjR+VifWHPybA41W3K8Y5GzrwpoyjLatoyCnyED11L9HHy+1yJ4335oihx3FZ/d17N0wrUz/
7v5+HZa9xgSF0S0SETQILsYNyn7DPJ3y9CpNI5kHzTLSP6rvoaaYEkx8L9RtBmJDezUgZ+UZSSV9
Pwxb4reoI93WaJSfZin6oq6q5niuvoLRN+TSlifOkcGm092J7iwP4As5K0UpKldCeWlCG10h9Iy0
dTqddp6yTY1qBBQFLoEMHe7b71rkEXebYfWvtlJOhc1kSyhwTtI+xlccD8JNNUSm+DkhV/3aHQPE
bBnldzexz9ve68kRqz/8V9nZ+Ef9/RP0R3+1h7+cv+4w5b3+8goawaTLpMBgXy79ZE4vdeHiFScL
29QMFO4TypaxpNJdky0+Fvv+yM76KA4LhdkEc5asdqHpl/eZXZ/MwyurAcs2pdESRx+xCgMLgla5
UOfq+3LWqbNtZDHuDVzBmXanj+Bw1nwdebeHRat7talKMrsVLelRhBmAVrnG0GB8vdbYjTPht3eS
ncWYvbWurwKf6al1A10L07sXXk161Qv4MyGrhIvHgfcXgExLdZfCRzYLt323nSMgVJ73yFhKDZY7
MoWW4c1kyqMu587dv2hKlJKgUvmP8LfrrPkuNRk6QKx6DjD85FZiemAoO44tLHqbQRiN6tjmzX+a
mp024uFYaIrqkDXadCrWBY5LhotqjmBOqFNY/9/cylKH3LXK7SxgL2oJDX+RcpMTwEu1avDmq48c
iUh4qevZTTyRCXwfGPbOLidx1EkK8TpAogTNtc7DQyAEoXHCNMF9jKR4dJwcB4siiy0Nf5UsqZHH
o1YznxKVQZa3NbY8tjX1r2p8F0AlyQljk5jpyEiSGEj5agT56ESfAP5XiDviDLadrc1r+nknbV+I
omA15hO9SIEgDYiyYDC69H+7TLe1km43rbfpmdjqli4OSq/MmUCBZKfbzqhZs0nB8+pA0x2hGPqs
MmzmSB65La6fA/uiOkeixjRI9D0wSnD1Lw5XYMS5aQoJ71kePCRIeQJYwqAlyVt2NBgrqdBBtDA7
p/VdzO/awxgk6/5FdQiJdysIYfIIHqOB1LmYkVJMZ5gc7fM6ujWbvAWZcdYgxpp6zkVzcNu9bR2s
J9shz43pFMpy/oN67LD40AR+Y4KzrDnmYFLTlj0CqWvZNGhYztiHdzoUprEKsqhCZetDJKmQOdNL
MMQ/DReL+kDu4T+mEAvFRPqrusWDMZ1fcBTmmLaS/evX1sSR4L0xDjOA2BuZeru3h4BhnDjF/c7X
Xr1+1WujDr4fvlsn9fZWZE5rfd70SuAuFZwgS0R33ruFZdcIqLHl89J4AGzpeLc8TPw+EfppXTQ3
QrT9IaMwkbEI8Ukns7yWKoV3ynN5Ny0hFc6fZZgLt/Hd0AiElTI2iDxcH5gbzEZJFBiA7rqWjEtl
UfXGohSZyqETo0CS0iUxPoomp21vNAIDXSmdRSJATe4VnkgHftJA+U+zRc96cvXbS5AHReyX3XG7
MPQw3q6LTx6TR9tPzecACwX9zfwOwgDeZ8enjz2fno+OLIC1sfHPQfkTgNCPOhP1jv1Sx67aecti
v/8F+/Rs2phE4CmcM3P/qQYd/mDLRUZUZKG+vbEJZI/R86f+T55i6SAbBFMhRIpdrKZXBxid4toR
ciwKFSyDd6wYpJr6lyONujozKAkLYoWMn/O2VfDMDMjMETY8yiettNbNtGeHp0eqjOfyDgH+s7s2
lFW4lQJZQHNuZYotnlkQwY3YWVBFPRP/fFukT4Lt/JrhF0mabbZqJzzk3s3t9SvjIJJ69WsqjmvW
+WLdGqAMo/CinOQ8ZLu8dveSCq7ZNbnSSnjgTEYoAvZQmYMPv632CUlxzogOR3+wAseXbXLoySAE
m0isVu+oeky9wNx6EXKOdatpr64ORPFQ1rGikmTA0PXl3cOieHGdIGKOkAiplBmnro6tD0SBm6+p
87X0uE5C6JI5HozOsLgtkhsXu4vJ6b8BAWJLLDq6M8IbdQCjRGDpgs0vUExuCgO4SEuRErlGAqV9
rEwJfVIVkT+cAxUJF56uYJeoqLKWxDToj0TriqN0/FbB6b8DgouRBXxrxkEa9xoMl6gEU80YGKAN
q2oivGXjNh0pms+EOERXqzzIlZpOefQB+3yBKys+lx3EjMjQqPuotqjwjttdmwwP0DGH0ZKWnd0b
BLpJZEu7Nju6BILKiwwYaIfPqVYnzkguQyZEdfuZs+OYpYniSO8cpoH1fUT0yqtOhlD9B8YGmth0
WUd65LAZ2JWqWYyky9QpldccCiE0llSEqRcv+eBHTdzIltOmhW7B0e9cLLi8k2aLiUnxy2ZISM85
UVf+6tpQljSogpIVF0iBCZPzdKivvKrd9bDuxOiX0emU0hZJRBtKuJWI5w/7GxeKgP1PwPkVaKWb
h/n9DtD8nZJh+9zwVb9YzPDDfoP/8h52FTxhRieIPMyQfqAw3b6plKASK8mDtWyrGymihESxCCHU
eYRhCW8/N58aeSUQJNGLPxq8iHCLoH3IIy/e25IJjitiZArmMwyhT64YPl3neGgB9GtRF9TBOZKb
+8A4+DOnEJT8a1x3S7Pve6uV1z/fGGC2na/tvBqKO+fscMcBiWPFFaO7jQM53L4N3uu3rXl+znNr
fzZBYWbDHKHiQu+gCPJ1mugCoLxSbbBvkN7zzrb3atY1zw3XRC6U8VP7BOXpdDKK31Lh63WOAs0k
Xu+eSol1TrJ+4XAipqPp8MaCYxDpP+J8YQGDngP0pRuNtjiWNiHGsr6+dLjw05gxW7MlXFefyW2r
O8teuFw9JOh2NPJBK0w1dXQFre3zmip0wzkFaJHnTc8U1jLDjlkUTWqFEjOHH4vLpaVes/H9c4Rl
wOJViuKUfWB1sJuwGQ9/BaenorMywGLOPTo96iTOZdEx2xewZkjfxJ0auybHg2QlnH4Ighx7/Uj+
4AoSb330/zzIC4BWaTnkls3XYxsOx8zbsuiZW4DWG44nhfn9wQSocH90PXQZ+3/0W/1a9YQJD/6o
oAaugW+GN/vCF3+QKsS6ncO5IcStQPLl8lL6HDzM40WHyiJ/rCARI3yphOlka/nQGZAZZpAR+S9a
WCRhUUcFkjSuWdQQY55JuHS6manHztUDqDLLV7uwidLp5uXyKS1ppBjE8Llgw7/bAQ/8hm9Iq2s6
L/2uTw/fNFR7gsrxpm/3mLVixsKx9kinxM0lDq4vvs+/o5jz27w0co2NXVxgGESKiiLYjdbmHf4/
/njXCIn3ZgTtrBv5+mLurq2BbGyjvW7EmQkDKJqt/twqixZjwdhL26K1bUNhMWCU03oU3a04sQsW
LGROmxqBrph5VH2IfIlZoWJNB26os6AbK670ppikwQh9qXU5bDjUDQdDdLOKzAfRMx9qXvBcmNlt
M2Ww3FqWFo+jw8EEdQA4vlzsFND8iQzxNf/cBYHcI9GSg6mxqN5M8My4TIooDWzFKUkt3Ig5NNny
+QuJrIGgGgSLogEnB8EEz/wuTdVOukmaJuu97zUILI8wFsumFtVolyf9sxCbaq7Bz3jbmxtaHczW
Rni00t0wJquVYk9Yzu/JpOs0WEgeeoWmhF5Kzj/g3CJu1e+m3saVDJGeKRSSaO33EGCOB/e32TUs
5bivnibgnTlY7PmNJlhTasWMUOjpzHNbCVJRSXR69odcQb9oYt2Q4+S5ez+37sStLlpchbw8dhYu
Woqwq/GuRXpjxCouoyHDr3LC4wgFiFSxHxcLeogd4147dKczeiSX6Y31wAlIjIUTyCs8nZCzXd0H
dZxA1Pd46BUxX3/8hsEWOowiY9SslBVJmMNFdAD8hLJg6fcyhajJUZCn8ehbw4cdab6amuX/AJM8
d66Rb7FS4SYqJsWmnNqNzC6Yqh6VmgZ4YZhbawYKzVG/tsQDn9+YtaPTbeuoVuhVxcTLLjL09bBU
8q2hvIVVC4Uf7PQsI8Hadmm6yhVsmdBFBjqa64SL58MsUC7TWK8TwVf9VCv4qpssUAmB1LWIYt1n
kDycaFG5JMQmxNCZAhlka/55Cwau6IjlvH1KFyp6VNBVxony4F+gyGM6X+eMdAVyWnr4qKsJ6/Ko
rpty/0R6Q8ulOO5kGPymygeIEJn/GpJCYDdEXhqLgZxm37RrXuhrX2i93VMfpX6mXjVDi04HJOYk
xYrHe/t/HQG4QfCL1/E77rdSRPiSqDEY89sJl7DMZZCwKpXf6EfLLhOqT4Kw0lF8HplKyfJgi29l
hh9xTuMitEi94atnsD9Aj2pXmMwMHAeONBQOqxWv/ActwgnuR1bJsAVHSMm+07jA2cUuPtDYBHQA
o8eStLX8i0w7ioSGLWLBWTq/DFCZRJkoxy/+FkPeE6OiA5H1ph2KlOY/ErmYLeQxkxdY4qy+Z97M
gJv5XVoK3cnXCoOadEVyaBNHhL3zTyKRgEWLfk5OTh46QxHjcDKSDCVotAiUPzwYkDRC0/L/RF73
PyrY4L+MabddNLCoeFRzdToL+b0WXHbqfv3dLdes5kd5DQ/v4kjOXDb4qGi11EJpE6+nGxhF+Ox+
VXj42wnparu6YI/DxRJ9ZqcQvAyosXE7FOF6BY3+gS97XVwFS2tKvLRjTHpEgzWCUqFGSS9Zuxhk
RFNVV0OuAXw7urTY/Kp2CjsHmzmLDWlxp8A/EJ6vZNudbe1a/u7v19jqJu8YuXG6ZvFQJd6fQZ+n
kOlZG9Y21rHt811Xb05mm3Jt7W7h/cnJwUNsi4cgJw72GlstZLgjG3RoZDy+I3iD2VuefcDY1pn9
k5tdhOswN3YeRYgj/nabZpGsqNhGSOIoE6oiYUmzwMIu1w5jdrHYuC8AEi+yBhCLEg2PHqeih/u+
PzidWa2DOH6tI63VHXMq9rh86XdEG7khYCBPxqXsocmlb5Ck9dj0yCWt8IEnxs1UNRhL2yNmnH9z
/Nfd38buFMW8JQTretMEy93yUVXGVnlpjbWRo+oK726DT71C9gT1n17zPJnJVvvelNfxJru6Z6jJ
uYZtrFziwC9I76ipDKp1n9o9sMZQQbeIixqCvb5Ns5ocK1rwcfPYaj5p041paLx/HhXwpHISjlL0
0KlL08yjVktkWS9qCasWN3Z5RW02tyGb/pJUV2u95ygIhkw8nTMOmajm3Zpaq7SyaSp4sfhqBgV5
1ZMMxkjwNNWdKISmJD2RAbFuBy8F3/xeUpHxGkCznmgiS9mhOhyoKFnj8paRFPTphq+oWsBcPiSI
8T14Tq2T65sKduBsz6fQ6Oja2lQh9hEHUeLBVXMOvtq5e5u7tlq04/YUGf6xWNqjAayXS5EIdw/f
aLgo/+7X+m8S4PPg3vLwcuMgyDe5FLHWWjfX2v0oA55NPHg83F5b/t8U/fLp2isIxvQDh6v8V3dE
t/ATYDQaHXYEg5KbOrX9+/QUFRx9wwSNUPdlKENbgwVEFkb3VUL2NZ8PVYbDxUqTBbBJLOAZ+wvV
V/PqBY5MJksRvniRAK8CBKlwjfk4ud6b7NAgMldyO9y8JhIiwuoBtapBL9g21zY7EKV+VlliFCX+
/GbNfmSWzgDqPJh7pcx7pP4lQh6yzdsgPUlS0hirJ+340911sKhS9tHtJWd6KVqrZv61fsWbSXup
j8yHFZ/fg81xL87JehmQ5c7wE+g05kS1/BWfbHNYWp5p5oDDYZ5+M8vG00WpOJzYWIxrhkooJ7PK
wR+xaUMN7xlIPCDTRVoFaX8ZiDltjjmU1VunIo/afys9eXPo/aqC40zsnNMiXdf4P8sRVg24hexJ
fZP8+9AL6e+OpdBL+ZXBksS1lmjox56iQD/mt/u8ykcvDQNHgo2ELhEZCoFq6ecY5LjOgiFrVR3P
7s6MmmJWYw8szQl3XfZc1cWrsUOu2nPsyWWebK4ht0vY8dK/+AzTPXwPT11b5vHi0NFKKBh2ARkq
1kIobMNfn/UuvS+eyWJmS/nikP1/r0Fbje2Kbm09LiUQ3/VPb6G2rBrc8mIV3SdNp1FQ/v1fXYIq
e8lBBkzlq/8tntn6pdHqlSJsRFZO0o91xsze73v5mK2H4vS/PKq/T7AaCkp6RRfNjktUsTXvLCBD
RKVenimkIjOvPH9RNXXabKwEAsXwoTVZVtgO0imTxbb+bmaGkARN1wGC6HzDxtsWlMWyKdMOJ1wn
7rXhUzB7KaEjKTJJU07l7ViyUzAR+3O1+8a2H2mFmvSO1BKX5wWPVg6XNrqsFWQJ00qTkoJRps72
Cu6iHGlY4i0kNAzyf2B9RYc4CkLJ3MK5psMtzX2NnwxfwMsw3foauT1rXm3oR6V4P6ecyUyM+L7g
+3/V7fTBSLz9poOwHeFGw/gkqhgOPukpxr9MZrHkWuH6NMDCy5SiM0U8fx42s5R+ERNAUCgjGfAo
aj287TGzlMkW0C42WlwrGrV5RLfKDcREqvGZW+yOuPzEwbnN3fgDN7mFa5vMTWbGpRV16nL44U2I
lK7UzZaQpUQixfLEih/a+X/2/L+WCACv5fxpsDMYRXb9csVX/t2/eyqWPPUaAxHzfg17839pWMaT
nhR+0K9BquCpyKDtv2/kAf5A/3C1SX+jQgQxQnIo75zzzSe9X3+k6prnfG1fxojuf3iLD4pgbO6M
tDS3+DPbRrFI4QsSKvXWvoMgxZbCy7Hg1TRQ81frJxCYfG6YKWr/EZ9B2LXmHw7UhhreHk0PKWgk
Jxka4vNcsnI6rBTZqGZox9FQ+hUmLzrlQH435Qz2J7avcnafpYP6ZlWOqsOhTYpn7nCY+WI47acF
5T+yjTYpcOJb4UH2uoCeEmfTsS8N/hBGwuqi1zP9ste2NXxUROFhV2dMDJnirJMyiEUNFdUbYEhc
5caCSV+Yt9daFRvzqEHFXNcx7K44lhbHMK/HUG6MmUIQUiVf8eM6J22dH6PScv0UaH7lUAIPCp1f
qnI1s4CdFVko99Yhziwc3L8fbyzsv18/eziwWA1bnF0I+vsX/L7s3D7cLu307iTv5ZsiWh520rIW
KZPeNZtwd6+oeNjbwcnwwkKjEs2nR/4VZH2T7UxJvzpMrUKyGpGaxUv+d8SkP4zs8sQ/y8CHezcr
JuACJPDxyI9B86hR85zqMh2C3VaSzCIkWc7hQ6qB9iaFSSo4xrMoRjboS/Roz/VoGnCX+GxcD0Kr
ooyT9G11DXw8bFPZqv6JRBm1RvcocDPJz8m1HZbxLgQPyPEUCR8mF5l6XNSyg6VenP69ycpWng5m
tTJ3yLOxsWvrC6mUC91aZQw5P7CSRi1PChEowQ9pSd8ZO08NZAdCYH3+7gwNp09Byu5d2H/ozDrZ
R39RKpVXIc2r4SoZheQMlRM/shscCM+ai5G+l6jQsMb71KBOwJGowFIUv5IuqxrJQR+m/WyyuOuW
2V8z1yD4AH7MvOqXwXq89ksq8rGA86t3Pfq3vYPJ7wf/xWPIrOdod7EMUGzLJ3j4a7BwzPIKPfRD
r1IB6oJNSlOiWv1xQ3Dm9khsRdXcG7ZDUYg6+GyLA07SqwrrefAUKHKUKmSCgaTJFIHJt3WaqKKU
9trzZjmIVme70Ql1qizQT1yyH4uKu64MdROeIDLx0h++euTj6goaYlvUkpXIECd94jKHKwVQORc2
t2Ab7+lZAxDO1gNW9LiG8WGNPyH/HBL2/ep/ui5YVJHyuvbJpm4Yz1QLaSxhW9hqHUPLCkici2TC
H7PKgMUOBrI64MDv6ILH4SlAjJbw04FegklFONM/ClCOdVs4RvZMYzUxuNe6jq9rUW9JxoBqMbPr
tePAuyRXe9Wh/6yarNK96VgXepXlPghdRZfPSA3f6Davw/qsM4m3G5WwI6Piw/4Gz0roy2FmBmv+
OdSNu1Sb5+GHrVILqEx/rsE1Av3rXuItrt4VOuvybicVPC9mZxxxsUZTUPonkuteJTwb5F2FjGao
M8vlhELkmSl8FUQsY6LDiS19nY8gryeKJxlbR7ze2jT60w2uUYLYygnvkjwJ4mxPASUjnBTuk+6t
jQo/kxejkICiLo4NEeJyQSi7gOuPGnKQRq65V2eJsZO3Ilbww9CMjJj9XVi2QmbH0+fjoXbTUPsL
89EU5x+fP8odK6wFhctljlyd1YQdSw+qzC/6jivIlipidaiDS44CJylPIaKouCwnxQZOEq6mUXBX
Tp+Vx1GMp4bh+qPb4s3D6uBWmxoLhaWfdkg7qKEj80yZeczxFw6LEcIuPwSdy/bcu62zSVGKiHNz
0R7+Fj2bwL1y9g+2c3/9i59mbeQt1X7L8gBgPklP0C/igbJu/qzsM2Mwz8ovcRE+SUlCIrxUpW0t
h3GlDyIUwH/7b5e6c7mPTDUndXMFtlc2htpX8xt98C8jinZGxzJn5kA6wcgQX2vkjpJRQGfQemk0
wyeu1I7D/ihIM1+vEJXyWZ3DjP4Xt4c5yQ5LiwLl7oQKAum2PJpYbLjSWyK5MJT6p4+zGPmR49I6
4bEe5XNdfxZ/bKguVVk81MlWasSIL/4IPp7nfnZw/vofPRS3zlj91LfKf+jzT9+NQwQUt//YlI2y
l0POlnXXleS5/bL5dJ7/wDUHcPB61DGfYA0Kr8XcBS6tDC1lu/1YBweeFkMMwIZEXWBYCoELrc6x
1HNT91eFWynn5WPr+Yz5lNvyC1HK+qYedJszl37lih4pGmEWhy7Mq3N5X8sWQ038tybLpbA71eDU
crzeyTqj63QHjE+P435UDUB9aQdN41UfmZXIK6A9udO7Gx9zvX+NgnREYz/H2dlvY/B4cw/e/N2P
2Emp+T4PzDnCVo9x5y9IiZKsaenMmfFLCHXNzOwZQ7lpXH46dGQWzuvCCYwCMhFOey4zrltySRSv
ABqJR24PvfKRe9AWRQg9vCOw8lc6sIPKpHNudOepVirdxGU33DWbxfkeK2xrv3Tpts435HrtL3OA
XYxZRD2/EbRjyOnzF9S7i7FNzPizdlaSei7gWLIJFV9l3ylzlf9OIKXYFUyeWxnKh7sWxROeaYIZ
/NTwF2aix9Qfj6/ab87E9y+9lnzowP5+06+Mf1/bcb8xld5jlyL/b16JeLO0M/EX9sL7h65nOe8P
p+LnW7MLP6qX/170G6PiT1ftj8h7Y8Ts89EWCWtVPvHg+I7Hle+3Jsqnt2ZTPm6g/7joFwV098Zs
PrkiIDB+DkWwB5aKLyyXEo6c25BgxMMFVlXr0ofWt2xyyu8t91NjFjnt18F2ITfeXgQwT6Gi+U3a
WNEkQABNJLpdImz2fdSAng7xjBgrdlKqjxI9OfWU+Dexk2FuSIN/P6OJ+55ReG4gS9vhZviVzQ4d
nH/btG4BNj9fMx2oJ2uOn1HCwW2pdFv3db/vrO389py2vA1qW56hGfe67D8n8QnJf/IjdQb0jqud
qaU9a+3Rj8WZuTo18Y6vlOB9XffjwqxRQuOrO/sfiOHBzWniGDD5L/+0i4nQkX/GRIHRbzwTdjLa
BYEpm8bZO4E53xnWx31acmdz+em2DkZ0nXt+HLjT1oQik/VR2mcWwVf9NcDfmOJT+81R+mdOPH51
tfoXEJ9f4/sIACD1B8g3KNgePrFMgECCchULIuYQ+Id08kAC519Xrt2fxi5ZjKhIkKHiXNxPUcDL
Yt09pEDpv+4Tjgkakew7DoHThtmeLrycqv4KtBJBKxbYhJRamgvjnUz9je+JCXYZKgKNIazFa+V3
e2HnsNmaZufkt7OLiLSPmpERauu7ix6tJSntC2G394oOGxZVglxZhT0PTPZw/OVKbVnMji2Il52E
WCvbpA5s7Ty3s7Tmp26Fn6i2xRdtgsS1Hg3v9hOw1q8I977OIZOhPe+qo8u9uwzf6+65C473waS2
ZLltCGfFRsO4Pvws0tXp98TEJeMz60dqqDWWaBSTaAhOLB+bXQJSGALKVzQEGXInllcY5ZUVJ1Qc
aGOV6fXnVLxXIrRIofGqJrgTy4gijq+pQ4JE3deKChkLYEPx0cXXRlyd8Ub2hsGsSLFams7i+pgS
phnWDYdEfVJLx2TPz4dCkdTt2lIk4IiFQN5NmYE67JP8Z3g4hBrkyuAiJt7P6G9Wpc/iQpPiZak0
L6tpMxXT/wlvvhAX6b78MrAS3bg/8hYh82jJx4vz6t72NU5u/pObW9w83Pv7up99sDu7LyG7reIN
OJRERGgUO0gpQ7HJfAO64EOfT8n7y/hi6BOaSXbTpULV1a7zh4ZtlTiWucBtD20sMrk64/UZRBYM
eoZ6R5fPRTfauvbVIEsP4ebAJkNB43r8tIPpAsRozo2v84gsXvMYsXhn2IcBQ/u2Z/GpG6rs2ntH
4RrutZktNXCn9QuFia6XKDSHiWCwKGNheytrfZrDXSfFSCg33kD12uHWVtNFq4CbTipP+pxYA4U3
w1srod/+hn4NIDPqkz+rsNYMTXJbGq/93B8uz1b1skdga1fjvwjgG6mv++V2MRC39OBRY8I9fwIF
jUWORbeoGbj9Pbg/L/F3YDofZIvHXhG1ifDIbMJeowyhogDPEAgV20VTnsY5eMHUGFqIrtbXBqvh
G59LlxcsM8kY5oHOnDmmvyBB12FTY3iDXs188FgX3i/NwcmdxXsszBkOUl9ZCv0xSg2sGQOaW63r
ssFHbHaElcr4Fi1uBNF++7CuGWjuPVj6xbdBROzb9XXzWubfwMPf9mbvnO5qajjXX4Jhv+HxZDhd
smEdQIu8DVTW/hVqBAnh1QdTIG+mQse2N/zN24ryZQcqORYbb+hVV07gUMtqpSI4pVqQZ+SWZJwR
NBa0K0fPzSZLYuj+fWtQoRSHX15ewEZ9jYKyMIq7v3jJJySR2fzkyWiHcKHKoIzaSt0M4J0f/Vz+
mzQgsZNZV9La/hag0wU00ji7HUw65e3OMfzG93cpOKu3T/nfsgjp68Vyg9jAAQ8nqxh6a7jfPyJy
b+cM65OtvWfEPPjZV8hP2sgjo2YjMWiU8ehN1r9TrNXd8pgDEZhuNdSENsaEITj3ZFdVE702yo75
zoFe2m4mFfVLx1tcEmLeIIeePLEoIzXoFGm7AT9LR6i0TMQUJEYZACWSTiMNLv82DX4T7IDnEtZ1
Xf78lhmYW7TdK7toZR5uXvwcPALEuTiIn96f5sE7tPChIzNSfueohR6m8sOztuQsV2EQFbHIj9Z+
aFIcIH6dVbhNT4LxWn+vR1nf1VYzyo0sWc1VJdsq1pM6gFHSSpIQZdAkwq5C1obtMbYfpVk3LQmV
NnhXRcp03R7tAfqDhsS2t37JW8NlN6Q+YhyE+Px24SKaN9PLjwzd2mqvu9Wj/dlqR0wEPS1AlSQl
QIRA59e/h80d8GThfLP0Mwf5QZsAePuEbL8EolDPpoplARP0tSJBEjV1Q4j7z42dcxzgud3VtGzw
6MhZVBjdvHz6UsdBGH3R5yp7Fx0qXf2zusOz1j4/+mGuItA6dLVwMbh0cK/N/lwImmTldPVn/jgp
GhZDdj9fcGspFyNox4HxoBAoHsbX8M4Zmtx7vAInBPOS0a/jYqjNYCPiITkCU0riaF4+laO76Kl4
LnAUE4ckRdJLgEjGSNsrCEixpuI5Ot7WSCBZY71HFiSTFFIGZLvEyG0AUGX9KVxeDNHIyh4BeWUn
MzxkjvlcdUv9ouObCb9AEqLm/2/57P7mYilQzb2ti+WhK+j/cohuR8tUAPrFe7STBXijsti8Mxz2
qgjOJr26nNNx43OynNtXBCnPA5wx35EuAktPe7koHUkLiSiOjCKlcpLTdMsmarPVfyuzQX/0Rjbl
tY7JaR+TMT4Qy0W72M8jY1Plsw57XbwQsw7L9/gP64lCZrF6S4qGi/erhos15u93dPgf3KN/+x/O
D46ifgHvD0fh+c8AxAdvRJ/hdVS0q4hKDnNgjqQrowCc3j9Y+C4I8RBf89f5f9zx+X9Bus4tn98n
xn6S+9DXyQgfoOH83J2WISfGiZiR0ObxHnpqY5G0ZppZ69GuhGXBaP/w2deYiAIXTqBbL4M3+tid
QprQaBw7FzBJ+urm3zX0+9qIOIueu7u1h3+lu2w7xfp9vrbHsVY91XaVoSfL5vaf4KphXt9kYUhG
s5U7BJJaNKgw3AC3//poYqPobmpHEvEFBi/doT2q2M7SYro5NONQj07GDsyr/UTJUoDZ1NhyHX/W
S5Epdte+cgvCRi40FsyrVWrEom/VwSNHk1286AtxkPsHBMhrhIzazIwZr9BjlELDrhPUAXiKA6NF
0weWKLAaoIHB6ZPzIL7kv8S3pM5sjEKNyo5pWFP+77qGaTRLza8Rp2Ewow8qci6IcuFK7fwox0t5
sRptnVSI0o1BMvL+yagvESeKlkidAmp79DEqs6e0rRLy/55C4dlp+h2y1d2D//OVumQFaltDw6XZ
wMyxu+W7CpmnmuF88P7JHwCaT+l7BBM9HygfKjEuwtAr1zFE96xfVjOPYsYjEVHG0KWRmFtNm1eT
byb42WEibsly+l3Ebp5AbWRG884JW4H7KTXN2tZpuKz4ftmyLVZcYZaSehimm/2hzs+aqv/dfeKz
J03QPurPo5PfDuD/NQEA/vbnhwG0+wB8HT/zCah7Tp4lCUnxlM+IkJA/xvujOFxhkDHgqNj9cTSC
9jUCzmMmhTp/eYDixaExkf8LVSmh94EzhrC63g3WjoCxnQv77S9A1DlplXoiLyc7ywbwR+k1WAqZ
FHkLbAKUglA4dKxbwk8fDAD3FgH2dQBmCY1/W1o5kZ1JbDWuGg982iQtK19fafRRId3wGr3/lqPB
W4CcZmDAkJQP9kJUs6jjTih43RY75/KFhN9vLoDawiHJuyHLfRV65Bk9o7bemHp/31a9z1nc7SAZ
VBfiEb/m0XgIDcz2bihp+jdZTyDlM/duJKmwUkPFP08ntG7hGsyDRpb2bgdBzz+njw5I8YSf2ru5
h2/ffnINYfEFMsi4slQOOnjJP+UkcUVoK676xfieKPYVurq+aoiIFHgUO6Y0fJVK9JJgXOWeRTFx
Flu660DY+qQqWMbLJh46nBWEL//gYUbNUwukhIjMzWCaDBU/7UsN30ewj+JkMXqLgm60lkIfAI9c
dFAvMb6LBMmMby7XkEU61NSuxJzsf/YjKqqxhtYbTvoLBKqFT1AbBKKgiIfOf9CgeYSgqJyEB929
3u+/u/i7m3uAcQtz8HT96oeLdwt7bO79ujk0gM5IMdTTnf8jyu8jekKqNSo6/5OG7nqQEcaA8R0U
5VMRJCWqQcGjtZUDucjDu4376j7r583FgZeTi//cf3V3+5J/C68lQKgUVMFeilqEUDbGjRmGBCsa
9pOlCWEjRkxFSkLyh/pDyzA+6aBJqsxj80fI1/6NN2/rCrAEU8M97H1X0gjSDVvBy9LOPU4+XAz8
x56g7blvPqAlcCqGu5CSTSS1oNGIXbqaQZRU5QKVZGCzFo1ST/tqHVdea0C5VvFdRY+EB4KpUPGQ
DeyFInsBh7pwERUOlFldusc4aWi9mpNOr0xjfudR8sac/gCYh5vHtjPWaPSti44m/JsvmqHCr3E9
akMj8OeKv19GM2TFoJLSJbtZV9SzHsBslHeIqrG4Rn+Oyjc3GdS+LbawyL83FynQCqs+aA6tXgWT
+PhZn0jecdlX4b5PvgebRoPTqhRYBwCpnG7hsVnsHGGz/aGg1pRb2QM7vOKXX5bp1hBtiMSUkqJn
ORcq/IxckPYtk3t+0TdnETBiLS6aViZGEGLWbtfL/k8+bXAjSd9ISYKmIxidM/Ca0lM39jZkS8nm
8BEthEK2EiQvdf84ATLV92YQRqmJUX8vlEOlenX2MFgeKw38/3ZdllVG//Li8W9ZY6syEGlA7I57
JdgJp0cCTCABz1//XwOAAAEBAM8XGehAl+BA/+N//I//8T/+x//4H//jf/yP//E//v/B/wP1SVW3
ALgBAA==
__KIT__
  # Roda como root: só root pode alterar o que está aqui.
  chown -R 0:0 "$DIR/kit"; chmod -R go-w "$DIR/kit"
  ls "$DIR"/kit/autoseg-*.tgz >/dev/null 2>&1 || die "pacote corrompido (chart ausente)"
}

ensure_secrets() {
  [ -s "$DIR/values-secrets.yaml" ] && return 0
  info "gerando senhas internas"
  bash "$DIR/kit/generate-secrets.sh" --yaml --embedded > "$DIR/values-secrets.yaml.new" 2>/dev/null
  grep -q 'bootstrapUser:' "$DIR/values-secrets.yaml.new" || die "falha ao gerar as senhas"
  chmod 600 "$DIR/values-secrets.yaml.new"
  mv "$DIR/values-secrets.yaml.new" "$DIR/values-secrets.yaml"
}

san_of() { if is_ip "$1"; then printf 'IP:%s' "$1"; else printf 'DNS:%s' "$1"; fi; }

leaf_cert() { # nome cn sans
  local d=$DIR/tls n=$1 cn=$2 sans=$3
  openssl req -newkey rsa:2048 -nodes -keyout "$d/$n.key" -out "$d/$n.csr" -subj "/O=RT Medical/CN=$cn" 2>/dev/null
  printf 'basicConstraints=CA:FALSE\nkeyUsage=critical,digitalSignature,keyEncipherment\nextendedKeyUsage=serverAuth\nsubjectAltName=%s\n' "$sans" > "$d/$n.ext"
  openssl x509 -req -in "$d/$n.csr" -CA "$d/ca.crt" -CAkey "$d/ca.key" -CAcreateserial \
    -days 825 -sha256 -extfile "$d/$n.ext" -out "$d/$n.crt" 2>/dev/null
  chmod 600 "$d/$n.key"
}

# Certificados autoassinados. A CA é criada uma vez e mantida: trocar de IP ou
# de endereço só refaz os certificados, e as estações continuam confiando.
ensure_tls() {
  local d=$DIR/tls want="$APP $SSO" prev
  mkdir -p "$d"; chmod 700 "$d"
  prev=$(cat "$d/domains" 2>/dev/null || true)
  DOMAINS_CHANGED=0; [ "$prev" = "$want" ] || DOMAINS_CHANGED=1
  TLS_CHANGED=0
  if [ ! -s "$d/ca.key" ]; then
    info "criando a CA do servidor"
    openssl req -x509 -newkey rsa:4096 -nodes -sha256 -days 3650 \
      -keyout "$d/ca.key" -out "$d/ca.crt" -subj "/O=RT Medical/CN=AutoSeg Viewer CA ($IP)" \
      -addext "basicConstraints=critical,CA:TRUE" -addext "keyUsage=critical,keyCertSign,cRLSign" 2>/dev/null
    chmod 600 "$d/ca.key"; prev=''
  fi
  if [ "$prev" != "$want" ] || ! kubectl -n "$NS" get secret autoseg-tls autoseg-tls-sso >/dev/null 2>&1; then
    info "certificados para $APP$([ "$IP_MODE" = 1 ] || echo " e $SSO")"
    leaf_cert app "$APP" "$(san_of "$APP"),DNS:frontend,DNS:frontend.$NS,DNS:frontend.$NS.svc,DNS:backend,DNS:backend.$NS,DNS:localhost,IP:127.0.0.1"
    leaf_cert sso "$SSO" "$(san_of "$SSO"),DNS:keycloak,DNS:keycloak.$NS,DNS:keycloak.$NS.svc,DNS:keycloak.$NS.svc.cluster.local,DNS:*.$NS.svc.cluster.local,DNS:localhost,IP:127.0.0.1"
    kubectl -n "$NS" create secret tls autoseg-tls --cert="$d/app.crt" --key="$d/app.key" --dry-run=client -o yaml | kubectl apply -f - >/dev/null
    kubectl -n "$NS" create secret tls autoseg-tls-sso --cert="$d/sso.crt" --key="$d/sso.key" --dry-run=client -o yaml | kubectl apply -f - >/dev/null
    kubectl -n "$NS" create secret generic autoseg-ca --from-file=ca.crt="$d/ca.crt" --dry-run=client -o yaml | kubectl apply -f - >/dev/null
    echo "$want" > "$d/domains"
    TLS_CHANGED=1
  fi
}

# Recria o objeto só quando o conteúdo muda; devolve 0 se mudou.
sync_object() { # tipo nome args-de-create...
  local kind=$1 name=$2 before after; shift 2
  before=$(kubectl -n "$NS" get "$kind" "$name" -o jsonpath='{.data}' 2>/dev/null || true)
  after=$(kubectl -n "$NS" create "$kind" "$@" "$name" --dry-run=client -o jsonpath='{.data}')
  [ "$before" != "$after" ] || return 1
  kubectl -n "$NS" delete "$kind" "$name" --ignore-not-found >/dev/null
  kubectl -n "$NS" create "$kind" "$@" "$name" >/dev/null
}

# Senha/segredo do PACS num Secret e CA do hospital num ConfigMap — nunca no YAML.
ensure_pacs_objects() {
  PACS_SECRET_CHANGED=0
  local tmp
  if [ -n "$PACS_URL" ] && { [ -n "$PACS_USER" ] || [ -n "$PACS_TOKEN_URL" ]; }; then
    tmp=$(mktemp -d)
    if [ -n "$PACS_USER" ]; then printf '%s' "$PACS_PASSWORD" > "$tmp/PACS_PASSWORD"
    else printf '%s' "$PACS_CLIENT_SECRET" > "$tmp/PACS_CLIENT_SECRET"; fi
    if sync_object secret autoseg-viewer-pacs generic --from-file="$tmp"; then PACS_SECRET_CHANGED=1; fi
    rm -rf "$tmp"
  else
    kubectl -n "$NS" delete secret autoseg-viewer-pacs --ignore-not-found >/dev/null
  fi
  if [ -n "$PACS_URL" ] && has_pacs_ca; then
    if sync_object configmap autoseg-viewer-pacs-ca --from-file=pacs-ca.pem="$DIR/pacs-ca.pem"; then PACS_SECRET_CHANGED=1; fi
  else
    kubectl -n "$NS" delete configmap autoseg-viewer-pacs-ca --ignore-not-found >/dev/null
  fi
}

# Nomes do PACS sem DNS (--pacs-host): um bloco a mais no CoreDNS do k3s, só
# para esses nomes (ConfigMap kube-system/coredns-custom, chave
# autoseg-viewer.server, que o k3s importa). O resto do DNS não muda.
ensure_pacs_hosts() {
  local key=autoseg-viewer.server cur want='' zones='' h tmp data
  cur=$(kubectl -n kube-system get configmap coredns-custom -o jsonpath='{.data.autoseg-viewer\.server}' 2>/dev/null || true)
  if [ -n "$PACS_HOSTS" ]; then
    for h in $PACS_HOSTS; do zones+="${h%%=*}:53 "; done
    want="# AutoSeg Viewer (install-viewer.sh --pacs-host): nomes do PACS sem DNS
${zones% } {
    hosts {
$(for h in $PACS_HOSTS; do printf '        %s %s\n' "${h#*=}" "${h%%=*}"; done)
        fallthrough
    }
    forward . /etc/resolv.conf
    cache 30
}"
  fi
  [ "$cur" = "$want" ] && return 0
  if [ -n "$want" ]; then
    info "DNS interno do k3s: $PACS_HOSTS"
    tmp=$(mktemp); printf '%s\n' "$want" > "$tmp"
    if kubectl -n kube-system get configmap coredns-custom >/dev/null 2>&1; then
      data=$(kubectl -n kube-system create configmap coredns-custom --from-file="$key=$tmp" --dry-run=client -o jsonpath='{.data}')
      kubectl -n kube-system patch configmap coredns-custom --type merge -p "{\"data\":$data}" >/dev/null
    else
      kubectl -n kube-system create configmap coredns-custom --from-file="$key=$tmp" >/dev/null
    fi
    rm -f "$tmp"
  else
    kubectl -n kube-system patch configmap coredns-custom --type json \
      -p '[{"op":"remove","path":"/data/autoseg-viewer.server"}]' >/dev/null 2>&1 || true
  fi
  kubectl -n kube-system rollout restart deploy/coredns >/dev/null
  kubectl -n kube-system rollout status deploy/coredns --timeout=3m >/dev/null
}

yamlstr() { local s=${1//\\/\\\\}; s=${s//\"/\\\"}; printf '"%s"' "$s"; }

write_site_values() {
  local email=$APP_USER
  if [[ $email != *@* ]]; then
    if [ "$IP_MODE" = 1 ]; then email="$APP_USER@viewer.local"; else email="$APP_USER@$APP"; fi
  fi
  {
    echo "# Gerado pelo install-viewer.sh a cada execução — não edite."
    echo "# Use as opções do instalador, ou $DIR/values-extra.yaml."
    echo "global:"
    echo "  domain: $(yamlstr "$APP")"
    echo "  sso:"
    echo "    domain: $(yamlstr "$SSO")"
    if [ "$IP_MODE" = 1 ]; then
      # O Ingress do Kubernetes não aceita IP como host: no modo IP as rotas
      # são criadas pelo instalador (ip_routes).
      echo "ingress:"
      echo "  enabled: false"
    fi
    echo "bootstrap:"
    echo "  user:"
    echo "    username: $(yamlstr "$APP_USER")"
    echo "    email: $(yamlstr "$email")"
    echo "    firstName: $(yamlstr "$APP_USER")"
    echo "    lastName: \"Viewer\""
    echo "  hospital:"
    echo "    id: \"h-0001\""
    echo "    name: $(yamlstr "$HOSPITAL")"
    echo "secrets:"
    echo "  bootstrapUser:"
    echo "    password: $(yamlstr "$APP_PASSWORD")"
    echo "dicomwebRemote:"
    if [ -n "$PACS_URL" ]; then
      echo "  enabled: true"
      echo "  sources:"
      echo "    - id: pacs"
      echo "      label: \"PACS\""
      echo "      wadoRoot: $(yamlstr "$PACS_URL")"
      [ -z "$WADO_URI" ] || echo "      wadoUriRoot: $(yamlstr "$WADO_URI")"
      [ -z "$PACS_QIDO" ] || echo "      qidoRoot: $(yamlstr "$PACS_QIDO")"
      if [ -n "$PACS_USER" ]; then
        echo "      auth:"
        echo "        type: basic"
        echo "        username: $(yamlstr "$PACS_USER")"
        echo "        passwordEnv: \"PACS_PASSWORD\""
      elif [ -n "$PACS_TOKEN_URL" ]; then
        echo "      auth:"
        echo "        type: oidc"
        echo "        tokenUrl: $(yamlstr "$PACS_TOKEN_URL")"
        echo "        clientId: $(yamlstr "$PACS_CLIENT_ID")"
        echo "        clientSecretEnv: \"PACS_CLIENT_SECRET\""
      fi
      has_pacs_ca && echo "      caCertFile: \"/etc/autoseg/pacs-ca/pacs-ca.pem\""
      if [ -n "$PACS_USER" ] || [ -n "$PACS_TOKEN_URL" ]; then
        echo "  existingSecret: \"autoseg-viewer-pacs\""
      fi
      has_pacs_ca && echo "  caConfigMap: \"autoseg-viewer-pacs-ca\""
    else
      echo "  enabled: false"
    fi
  } > "$DIR/values-site.yaml"
  chmod 600 "$DIR/values-site.yaml"
}

helm_files() {
  HELM_FILES=(-f "$DIR/kit/values-viewer.yaml")
  if [ "$SMALL" = 1 ]; then HELM_FILES+=(-f "$DIR/kit/values-small.yaml"); fi
  HELM_FILES+=(-f "$DIR/values-secrets.yaml" -f "$DIR/values-site.yaml"
               -f "$DIR/kit/values-viewer-only.yaml" -f "$DIR/kit/values-viewer-only-onprem.yaml")
  if [ -s "$DIR/values-extra.yaml" ]; then HELM_FILES+=(-f "$DIR/values-extra.yaml"); fi
  return 0
}

deploy() {
  local first=1
  release_exists && first=0
  if [ "$first" = 1 ]; then
    say "Instalando o viewer (1ª vez: baixa ~2,5 GB de imagens, 10–20 min)"
  else
    say "Atualizando o viewer"
  fi
  helm_files
  helm upgrade --install "$RELEASE" "$DIR"/kit/autoseg-*.tgz -n "$NS" "${HELM_FILES[@]}" --wait --timeout 30m
  if [ "$first" = 0 ]; then
    # Certificado novo com o mesmo endereço: o Keycloak só lê o arquivo ao iniciar.
    if [ "$TLS_CHANGED" = 1 ] && [ "$DOMAINS_CHANGED" = 0 ]; then
      kubectl -n "$NS" rollout restart deploy/keycloak >/dev/null
      kubectl -n "$NS" rollout status deploy/keycloak --timeout=10m >/dev/null
    fi
    # Endereço novo: frontend e backend leem o endereço do login do ConfigMap
    # autoseg-config, e mudar só o ConfigMap não reinicia o pod. O mesmo vale
    # para o Secret e o ConfigMap do PACS.
    if [ "$DOMAINS_CHANGED" = 1 ] || [ "$PACS_SECRET_CHANGED" = 1 ]; then
      info "reiniciando frontend e backend com a configuração nova"
      kubectl -n "$NS" rollout restart deploy/frontend deploy/backend >/dev/null
      kubectl -n "$NS" rollout status deploy/frontend --timeout=10m >/dev/null
      kubectl -n "$NS" rollout status deploy/backend --timeout=10m >/dev/null
    fi
  fi
}

# Modo IP: as rotas que o Ingress do chart faria, mais o login por caminho no
# mesmo endereço, e o certificado padrão do Traefik (navegador não manda o nome
# do site ao acessar por IP, então o Traefik precisa saber qual certificado usar).
ip_routes() {
  if [ "$IP_MODE" = 0 ]; then
    kubectl -n "$NS" delete ingressroutes.traefik.io,middlewares.traefik.io,tlsstores.traefik.io \
      -l "$MANAGED_LABEL" --ignore-not-found >/dev/null 2>&1 || true
    return 0
  fi
  local fport bport kport other
  fport=$(kubectl -n "$NS" get svc frontend -o jsonpath='{.spec.ports[0].port}')
  bport=$(kubectl -n "$NS" get svc backend -o jsonpath='{.spec.ports[0].port}')
  kport=$(kubectl -n "$NS" get svc keycloak -o jsonpath='{.spec.ports[?(@.name=="http")].port}')
  kubectl apply -f - >/dev/null <<EOF
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata: {name: viewer-ip-strip-api, namespace: $NS, labels: {app.kubernetes.io/managed-by: install-viewer}}
spec: {stripPrefix: {prefixes: ["/api"]}}
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata: {name: viewer-ip-buffering, namespace: $NS, labels: {app.kubernetes.io/managed-by: install-viewer}}
spec: {buffering: {maxRequestBodyBytes: 2147483648, maxResponseBodyBytes: 2147483648}}
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata: {name: viewer-ip-https, namespace: $NS, labels: {app.kubernetes.io/managed-by: install-viewer}}
spec: {redirectScheme: {scheme: https, permanent: true}}
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata: {name: viewer-ip, namespace: $NS, labels: {app.kubernetes.io/managed-by: install-viewer}}
spec:
  entryPoints: [websecure]
  routes:
    - match: Host(\`$APP\`) && PathPrefix(\`/admin\`)
      kind: Rule
      priority: 1100
      middlewares: [{name: keycloak-admin-ipallowlist}]
      services: [{name: keycloak, port: $kport}]
    - match: Host(\`$APP\`) && (PathPrefix(\`/realms\`) || PathPrefix(\`/resources\`) || PathPrefix(\`/js\`))
      kind: Rule
      priority: 1000
      services: [{name: keycloak, port: $kport}]
    - match: Host(\`$APP\`) && PathPrefix(\`/api\`)
      kind: Rule
      priority: 900
      middlewares: [{name: viewer-ip-strip-api}, {name: viewer-ip-buffering}]
      services: [{name: backend, port: $bport}]
    - match: Host(\`$APP\`)
      kind: Rule
      priority: 500
      services: [{name: frontend, port: $fport}]
  tls: {secretName: autoseg-tls}
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata: {name: viewer-ip-http, namespace: $NS, labels: {app.kubernetes.io/managed-by: install-viewer}}
spec:
  entryPoints: [web]
  routes:
    - match: Host(\`$APP\`)
      kind: Rule
      priority: 1000
      middlewares: [{name: viewer-ip-https}]
      services: [{name: frontend, port: $fport}]
EOF
  other=$(kubectl get tlsstores.traefik.io -A --no-headers 2>/dev/null | awk -v ns="$NS" '$2 == "default" && $1 != ns {print $1}' | head -1)
  if [ -n "$other" ]; then
    warn "o Traefik já tem um certificado padrão definido no namespace $other; o acesso por IP pode mostrar outro certificado"
  else
    kubectl apply -f - >/dev/null <<EOF
apiVersion: traefik.io/v1alpha1
kind: TLSStore
metadata: {name: default, namespace: $NS, labels: {app.kubernetes.io/managed-by: install-viewer}}
spec: {defaultCertificate: {secretName: autoseg-tls}}
EOF
  fi
}

check_pacs() {
  [ -n "$PACS_URL" ] || return 0
  say "Testando o PACS a partir do servidor"
  local url="${PACS_QIDO:-$PACS_URL}/studies?limit=1" ca=()
  has_pacs_ca && ca=(env NODE_EXTRA_CA_CERTS=/etc/autoseg/pacs-ca/pacs-ca.pem)
  # Até 3 tentativas de 30 s: a 1ª consulta a um PACS ocioso pode demorar.
  # shellcheck disable=SC2016
  kubectl -n "$NS" exec deploy/backend -- ${ca[@]+"${ca[@]}"} node -e '
    const [url, user, tokenUrl, clientId] = process.argv.slice(1);
    const T = () => AbortSignal.timeout(30000);
    async function auth() {
      if (user) return { Authorization: "Basic " + Buffer.from(user + ":" + (process.env.PACS_PASSWORD || "")).toString("base64") };
      if (!tokenUrl) return {};
      const r = await fetch(tokenUrl, { method: "POST", signal: T(),
        body: new URLSearchParams({ grant_type: "client_credentials", client_id: clientId, client_secret: process.env.PACS_CLIENT_SECRET || "" }) });
      if (!r.ok) throw new Error("token OIDC recusado (HTTP " + r.status + "): confira --pacs-token-url, --pacs-client-id e --pacs-client-secret");
      return { Authorization: "Bearer " + (await r.json()).access_token };
    }
    (async () => {
      let err;
      for (let i = 1; i <= 3; i++) {
        try {
          const r = await fetch(url, { headers: await auth(), signal: T() });
          console.log("    HTTP " + r.status + (r.ok ? "  ok" : r.status === 401 || r.status === 403 ? "  (o PACS recusou o login)" : "  (resposta inesperada)") + "  " + url);
          return;
        } catch (e) { err = e; if (String(e.message).startsWith("token OIDC")) break; }
      }
      const code = err.cause && err.cause.code || "";
      console.log("    FALHOU " + (code || err.message || err.name) + "  " + url);
      if (/CERT|SELF_SIGNED|UNABLE_TO/.test(code)) console.log("    (certificado do PACS não reconhecido: informe a CA do hospital com --pacs-ca)");
      else if (!String(err.message).startsWith("token OIDC")) console.log("    (rota ou firewall entre este servidor e o PACS?)");
    })();
  ' "$url" "$PACS_USER" "$PACS_TOKEN_URL" "$PACS_CLIENT_ID" 2>/dev/null || warn "não consegui testar o PACS"
}

# The viewer-only chart already has the normal ZIP ingest path: /upload/zip
# stores Part-10 files in MinIO and the backend indexes CT and RT objects in
# MongoDB. Use the bootstrap user's hospital-scoped token, then wait for the
# asynchronous indexer before reporting a usable demo.
seed_demo() {
  [ -n "$DEMO_ARCHIVE" ] || return 0
  say "Carregando estudos demo no AutoSeg local"
  local marker="$DIR/demo-seed.sha256" tmp token reply listing i uid ready
  local study_uids=()
  if [ "$(cat "$marker" 2>/dev/null || true)" = "${DEMO_SHA256,,}" ]; then
    info "amostras desta versão já importadas"
    return 0
  fi
  tmp=$(mktemp -d)
  chmod 700 "$tmp"
  trap "rm -rf -- '$tmp'" EXIT
  if [[ $DEMO_ARCHIVE =~ ^https:// ]]; then
    curl -fsSL --retry 3 -o "$tmp/demo.zip" "$DEMO_ARCHIVE" || die "não consegui baixar as amostras"
  else
    cp "$DEMO_ARCHIVE" "$tmp/demo.zip"
  fi
  printf '%s  %s\n' "${DEMO_SHA256,,}" "$tmp/demo.zip" | sha256sum -c --quiet - || die "SHA-256 das amostras não confere"
  # O Traefik pode levar alguns segundos para carregar o TLSStore recém-criado.
  # Espere o certificado local e o Keycloak responderem antes de autenticar.
  local tls_ready=0
  for ((i=0; i<60; i++)); do
    if curl -fsS --cacert "$DIR/tls/ca.crt" --resolve "$SSO:443:127.0.0.1" \
      -o /dev/null "https://$SSO/realms/autoseg/.well-known/openid-configuration" 2>/dev/null; then
      tls_ready=1; break
    fi
    sleep 2
  done
  [ "$tls_ready" = 1 ] || die "login local não respondeu com o certificado esperado após 120 s"
  token=$(curl -fsS --cacert "$DIR/tls/ca.crt" --resolve "$SSO:443:127.0.0.1" \
    -X POST "https://$SSO/realms/autoseg/protocol/openid-connect/token" \
    -d 'grant_type=password' -d 'client_id=autoseg-desktop' \
    --data-urlencode "username=$APP_USER" --data-urlencode "password=$APP_PASSWORD" \
    | sed -n 's/.*"access_token":"\([^"]*\)".*/\1/p')
  [ -n "$token" ] || die "não consegui autenticar o usuário demo para importar as amostras"
  reply=$(curl -fsS --cacert "$DIR/tls/ca.crt" --resolve "$APP:443:127.0.0.1" \
    -H "Authorization: Bearer $token" -F "file=@$tmp/demo.zip;type=application/zip" \
    "https://$APP/api/upload/zip") || die "upload das amostras falhou"
  [[ $reply == *'"status":"completed"'* ]] || die "o backend não aceitou as amostras: $reply"
  mapfile -t study_uids < <(printf '%s' "$reply" | grep -oE '"study_instance_uid":"[0-9.]+"' | cut -d '"' -f 4 | sort -u)
  [ "${#study_uids[@]}" -ge 1 ] || die "upload aceito sem UID de estudo verificável"
  for uid in "${study_uids[@]}"; do
    ready=0
    for ((i=0; i<60; i++)); do
      listing=$(curl -fsS --cacert "$DIR/tls/ca.crt" --resolve "$APP:443:127.0.0.1" \
        -H "Authorization: Bearer $token" -H 'Content-Type: application/json' \
        --data "{\"query\":\"query { series(study_instance_uid: \\\"$uid\\\") { modality } rtObjects(study_instance_uid: \\\"$uid\\\") { modality } }\"}" \
        "https://$APP/api/graphql" 2>/dev/null || true)
      if [[ $listing == *'"modality":"CT"'* && $listing == *'"modality":"RTSTRUCT"'* &&
            $listing == *'"modality":"RTPLAN"'* && $listing == *'"modality":"RTDOSE"'* ]]; then
        ready=1; break
      fi
      sleep 2
    done
    [ "$ready" = 1 ] || die "estudo $uid não ficou completo (CT/RTSTRUCT/RTPLAN/RTDOSE) após 120 s"
  done
  printf '%s\n' "${DEMO_SHA256,,}" > "$marker"
  chmod 600 "$marker"
  rm -rf "$tmp"
  trap - EXIT
  info "estudos demo disponíveis na lista do AutoSeg"
}

urlencode() {
  local s=$1 out='' c i
  for ((i = 0; i < ${#s}; i++)); do
    c=${s:i:1}
    case $c in [A-Za-z0-9.~_-]) out+=$c ;; *) printf -v c '%%%02X' "'$c"; out+=$c ;; esac
  done
  printf '%s' "$out"
}

summary() {
  echo
  printf '\033[1mAutoSeg Viewer pronto.\033[0m\n'
  echo "  Endereço:  https://$APP"
  echo "  Usuário:   $APP_USER"
  echo "  Senha:     $APP_PASSWORD"
  [ "$IP_MODE" = 1 ] || echo "  Login em:  https://$SSO"
  echo
  echo "  Certificado próprio: instale $DIR/tls/ca.crt como autoridade confiável"
  if [ "$IP_MODE" = 1 ]; then
    echo "  nas estações (ou aceite o aviso do navegador)."
  else
    echo "  nas estações (ou aceite o aviso do navegador nos DOIS endereços acima)."
  fi
  if [ -n "$PACS_URL" ]; then
    echo
    echo "  Abrir um estudo do PACS:"
    echo "    https://$APP/viewer/launch?url=$(urlencode "$PACS_URL/studies/")<StudyInstanceUID>"
  fi
  echo
  echo "  Mudou o IP?  rode o instalador de novo        Outro PACS:  --pacs-url URL"
  echo "  Do zero:     --reset"
  if [ "$APP_PASSWORD" = teste ]; then
    echo
    warn "senha padrão (teste). Antes de usar com dados de pacientes, rode de novo com --password NOVA"
  fi
}

remove_all() {
  if [ -f /etc/rancher/k3s/k3s.yaml ]; then export KUBECONFIG=/etc/rancher/k3s/k3s.yaml; fi
  if ! have kubectl || ! kubectl get nodes >/dev/null 2>&1; then
    info "nenhum cluster encontrado"; return 0
  fi
  if have helm && release_exists; then
    info "removendo o viewer"
    helm uninstall "$RELEASE" -n "$NS" --wait --timeout 10m >/dev/null
  fi
  info "apagando os dados"
  kubectl -n "$NS" delete ingressroutes.traefik.io,middlewares.traefik.io,tlsstores.traefik.io \
    -l "$MANAGED_LABEL" --ignore-not-found >/dev/null 2>&1 || true
  kubectl -n "$NS" delete pvc --all --wait=true --timeout=5m >/dev/null 2>&1 || true
  kubectl -n "$NS" delete secret autoseg-tls autoseg-tls-sso autoseg-ca autoseg-viewer-pacs --ignore-not-found >/dev/null 2>&1 || true
  kubectl -n "$NS" delete configmap autoseg-viewer-pacs-ca --ignore-not-found >/dev/null 2>&1 || true
  rm -rf "$DIR/tls" "$DIR/kit" "$DIR/values-secrets.yaml" "$DIR/values-site.yaml" "$DIR/demo-seed.sha256"
}

# Confere sistema e pacote numa pasta temporária, sem k3s e sem mexer em /opt.
run_check() {
  preflight
  ensure_helm
  DIR=$(mktemp -d)
  load_config; resolve; validate; apply_pacs_ca_arg
  extract_kit; ensure_secrets; write_site_values; helm_files
  local n
  n=$(helm template "$RELEASE" "$DIR"/kit/autoseg-*.tgz -n "$NS" "${HELM_FILES[@]}" | grep -c '^kind:')
  rm -rf "$DIR"
  say "OK: pacote íntegro, $n recursos gerados para https://$APP (PACS: ${PACS_URL:-nenhum}; perfil: $([ "$SMALL" = 1 ] && echo 'pouca memória' || echo normal))"
}

main() {
  parse_args "$@"
  [ "$(id -u)" = 0 ] || die "rode como root: sudo bash install-viewer.sh ..."
  echo "AutoSeg Viewer — instalador $VERSION"
  if [ "$MODE" = check ]; then run_check; return; fi
  if [ "$MODE" = uninstall ]; then
    confirm "Isso remove o AutoSeg Viewer deste servidor e APAGA os dados dele."
    remove_all
    if have kubectl && kubectl get nodes >/dev/null 2>&1; then PACS_HOSTS=''; ensure_pacs_hosts; fi
    rm -rf "$DIR"; say "Removido. (O k3s continua; para removê-lo: /usr/local/bin/k3s-uninstall.sh)"
    return
  fi

  preflight
  load_config
  if [ "$MODE" = reset ]; then
    confirm "Isso APAGA o AutoSeg Viewer deste servidor (dados, senhas e certificados) e instala do zero."
  fi
  ask_pacs; resolve; validate
  if [ "$IP_MODE" = 1 ]; then
    info "endereço: https://$APP (login no mesmo endereço)   PACS: ${PACS_URL:-nenhum}"
  else
    info "app: https://$APP   login: https://$SSO   PACS: ${PACS_URL:-nenhum}"
  fi

  open_firewall
  ensure_k3s
  ensure_helm
  if [ "$MODE" = reset ]; then say "Apagando a instalação anterior"; remove_all; fi
  kubectl get namespace "$NS" >/dev/null 2>&1 || kubectl create namespace "$NS" >/dev/null
  if release_exists && [ ! -s "$DIR/values-secrets.yaml" ]; then
    die "já existe neste cluster um AutoSeg instalado por outro meio. Para apagá-lo e instalar do zero: --reset"
  fi

  save_config
  [ -z "$DEMO_ARCHIVE" ] || rm -f "$DIR/pacs-ca.pem"
  apply_pacs_ca_arg
  extract_kit
  ensure_secrets
  ensure_tls
  ensure_pacs_objects
  ensure_pacs_hosts
  write_site_values
  deploy
  ip_routes
  check_pacs
  seed_demo
  summary
}

# INSTALL_VIEWER_LIB=1 só carrega as funções (para testes).
[ "${INSTALL_VIEWER_LIB:-0}" = 1 ] || main "$@"
